选择通知传递方法

本文介绍了四种通知选项——本地通知、计划通知、定期通知和推送通知——它们用于提供磁贴和徽章更新以及 Toast 通知内容。 即使用户未直接参与你的应用,磁贴或 Toast 通知也可以向用户获取信息。 应用的性质和内容以及要传递的信息可以帮助你确定哪种通知方法或方法最适合你的方案。

通知传递方法概述

应用可以使用四种机制来传递通知:

  • Local
  • Scheduled
  • Periodic
  • Push

下表汇总了通知传递类型。

Delivery method Use with Description Examples
Local 磁贴、徽章、Toast 一组 API 调用,可在应用运行时发送通知、直接更新磁贴或徽章,或者发送 Toast 通知。
  • 音乐应用更新其磁贴以显示“正在播放”的内容。
  • 当用户离开游戏时,游戏应用会使用用户的高分更新其磁贴。
  • 应用图标上的一个标示符表明应用中有新信息,该标示会在应用激活时被清除。
Scheduled Tile, Toast 一组 API 调用,用于提前计划通知,以在指定时进行更新。
  • 日历应用为即将召开的会议设置 Toast 通知提醒。
Periodic Tile, Badge 通过轮询云服务获取新内容,定期在固定时间间隔更新磁贴和徽章的通知。
  • 天气应用会更新其磁贴,该磁贴每隔 30 分钟显示一次预测。
  • “每日交易”网站每天早晨更新其每日特惠。
  • 一个显示距离某事件还有多少天的磁贴,每天在午夜更新倒计时。
推送 磁贴、锁屏提醒、Toast、Raw 通知即使在应用未运行时,也会从云服务器发送。
  • 购物应用发送 Toast 通知,让用户知道他们正在观看的商品的销售。
  • 新闻应用随时用突发新闻即时更新其界面。
  • 运动应用在正在进行的游戏中保持其磁贴 up-to日期。
  • 通信应用提供有关传入消息或电话呼叫的警报。

 

Local notifications

更新应用磁贴、徽章或在应用运行时引发通知是最简单的通知传送机制;它只需要本地 API 调用。 每个应用都可以有有用的或有趣的信息,以显示在磁贴上,即使该内容仅在用户启动并与应用交互后发生更改。 本地通知也是保持应用磁贴最新状态的好方法,即使你也使用其他通知机制之一。 例如,照片应用磁贴可以显示最近添加的相册中的照片。

建议您的应用程序在第一次启动时本地更新其磁贴,或者至少在用户进行更改后立即更新,以便这些更改能及时反映在磁贴上。 在用户离开应用之前无法看到更新,但通过在应用使用过程中作出更改,确保当用户离开时,磁贴已是 up-to最新状态。

虽然 API 调用是本地的,但通知可以引用 Web 图像。 如果 Web 图像无法下载、损坏或不符合图像规范,磁贴和 Toast 响应方式不同:

  • 磁贴:未显示更新
  • Toast:显示通知,但图像已删除

默认情况下,本地 Toast 通知将在三天内过期,本地磁贴通知永远不会过期。 建议用明确的过期时间替代这些默认值,以便更好地控制通知(如 toast 通知最长可设定为三天)。

有关详细信息,请参阅以下主题:

Scheduled notifications

计划通知是本地通知的子集,可以指定应更新磁贴或显示 Toast 通知的精确时间。 在提前知道要更新的内容(例如会议邀请)的情况下,计划通知是理想的选择。 如果没有事先了解通知内容,则应使用推送或定期通知。

请注意,计划通知不能用于徽章通知;徽章通知最好由本地通知、定期通知或推送通知提供。

默认情况下,计划的通知从送达之日起三天过期。 可以覆盖计划磁贴通知上的此默认过期时间,但不能覆盖计划 Toast 上的过期时间。

有关详细信息,请参阅以下主题:

Periodic notifications

定期通知可以让你以最少的云服务和客户端资源来实现动态磁贴更新。 它们也是向广大受众分发相同内容的绝佳方法。 客户端代码指定了云端位置的 URL,用于 Windows 轮询磁贴或徽章更新,以及位置应被轮询的频率。 在每个轮询间隔内,Windows 会访问指定的 URL 以下载 XML 内容并将其显示在磁贴上。

定期通知要求应用托管云服务,并且此服务将按指定时间间隔轮询所有已安装该应用的用户。 请注意,定期更新不能用于 Toast 通知;Toast 通知最好由计划通知或推送通知提供。

默认情况下,定期通知在轮询发生三天后过期。 如果需要,可以使用显式过期时间替代此默认值。

有关详细信息,请参阅以下主题:

Push notifications

推送通知非常适合用于传达实时数据或为用户个性化的数据。 推送通知用于在不可预知的时刻生成的内容,例如突发新闻、社交网络更新或即时消息。 在数据具有时间敏感性而不适合定期通知的情况下,推送通知也是很有用的,比如比赛中的体育比分。

推送通知需要一个云服务,该服务管理推送通知通道,并选择要向谁发送通知。

默认情况下,推送通知从设备收到推送通知之日起三天过期。 如果需要,可以使用显式过期时间替代此默认值(Toast 最多三天)。

有关详细信息,请参见: