仅限 Android
当应用不处于使用状态时,通知可以提供简短、即时和相关的信息。
通知旨在告知用户应用中的事件。这两种类型的通知是最有效的:
- 与其他用户的通信
- 适时且内容翔实的任务提醒
通知组件
头部区域
内容区域
操作区域
如何使用户注意到通知
- 显示一个状态栏图标
- 在锁屏界面显示
- 播放声音或震动
- 在当前屏幕出现
- 闪烁设备的 LED
仅限 Android
通知旨在告知用户应用中的事件。这两种类型的通知是最有效的:
头部区域
内容区域
操作区域
通知旨在使用户更易于扫视,更易于使用通知中最重要的元素:
主要内容
内容是通知中最重要的元素。次要信息(如时间)较小,被合并显示在主要内容的上方。
联系人
如果通知涉及到一个联系人,那么其头像会出现在通知的右侧,从其他内容中脱颖而出。
操作
对于可展开的通知,可以点击箭头图标来展开通知。操作按钮使用文本,显示在单独的背景色或位置上。
头部区域包括:
1. 应用图标:应用图标是一个小的二维图标,用于识别应用。它在状态栏中以单色显示。如果你的应用可以发送多种类型的通知,则可以使用反映内容类型的符号来代替应用图标。例如,Google Now 使用一个云朵的图标来表示天气通知。
2. 应用名称:应用名称会自动出现在通知中。
3. 标题文本(可选):只有当一个应用能从多个来源发送通知时,才使用标题文本,例如用户拥有多个账户,则可以使用账户名作为标题文本。
4. 时间(可选):默认情况下,时间不会出现,但如果时间对通知发送非常重要,则可以添加时间,例如未接电话的时间。
5. 展开指示器:如果通知可以被展开,就会出现该图标。
内容区域包括:
1. 内容标题:通知的简要标题
2. 内容文本:通知的内容
3. 大图标(可选):可以添加一张图片,以更有意义的方式来强化通知,例如包含消息发送者头像的消息。
当通知展开后,最多可以在底部的操作条上显示 3 个操作按钮。
在 Android N 及之后的版本中,操作不包含图标,以便容纳更多的文本。不过该图标仍然应该提供,因为在早期版本的系统中需要显示图标,Android Wear和Android Auto设备也是如此。
通知不应该是与用户沟通的主要通信渠道,因为太多的干扰可能会让用户恼火。以下案例中不要使用通知:
前台服务是在后台运行的应用进程,但用户不直接和应用进行交互。由于这些应用会使用电池和某些数据,因此 Android 需要显示一个不可关闭的通知,来使用户知道系统正在运行的这类服务。
因为用户不能关闭这类通知,所以你应该为用户提供一项操作,以便在用户不希望运行该服务的情况下停止该服务。
当通知到达时,它会被添加到通知抽屉。根据你设置的参数和设备的当前状态,通知还可能:
用户可以选择修改你设置的通知方式。
Android 中的通知抽屉通常按照时间倒序显示通知,可以根据以下因素做出调整:
从 Android O 开始,Android 系统可以通过添加强调或降低重要性来改变通知列表顶部和底部的某些通知的外观,以帮助用户更快扫视内容。
陈旧的通知
通知抽屉应该向用户显示当前时刻的相关信息。如果先前发送的通知不再和当前时刻相关,可以自动关闭,使用户不再看到这些通知。
用户可以通过以下方式与通知进行交互:
用户可以点击通知来进行导航。如果通知出现在锁屏界面,用户需要双击通知,然后输入 PIN 码、图案或密码。
当用户点击通知后,应用应该跳转到与该通知直接相关的界面,并让它们立刻执行操作。例如,通知用户在多人游戏中轮到用户了,点击通知应该直接进入游戏。
如果提供了扩展视图,会在通知的头部显示一个扩展指示符。用户可以点击指示符或者向下滑动通知来展开扩展视图。
用户可以通过向左或向右滑动来忽略通知。
如果通知指示了后台有一个正在运行的进程(例如播放音乐),则可能不能通过滑动来忽略。
可以通过这些方式访问通知控制器:
通知控制器的显示方式取决于 Android 系统版本,以及应用是否具有通知通道(从 Android O 开始)。
对于会产生大量相同类型的通知的应用,Android 提供了两种方式来展示它们:汇总和组合。
你可以把所有通知都汇总到一条通知里,而不是推送很多条通知。例如,通讯应用可以显示一个汇总通知:“你有 3 条新消息”。展开后,会显示每个消息的一段内容。
应用可以根据父子层次关系显示多个通知:
子通知不会重复显示相同的头部信息。例如,如果子通知具有和父通知相同的应用图标,则子通知的头部中不包含图标。
当子通知独立存在时,也应该是使人容易理解的,因为系统可能在通知到达时,把通知显示在分组外面。
你可以通过展开视图在通知中显示更多信息,而无需离开通知。
展开时,通知最多可以提供 3 个操作。且不应与点击通知主体的操作重复。
你可以让用户直接在通知中输入。用户可以输入少量文本,例如回复消息或记录简短的笔记。
对于长文本的输入,需要将用户导航到你的应用中,在那里他们会有更多空间来浏览和编辑文本。
如果你在一个通讯应用中使用此功能,在用户发送完回复后,需要继续显示该通知,等待一段时间,直到消息送达后,再自动关闭该通知。
通知可以是事务性和非事务性的。
事务性通知提供的内容,用户必须在特定时间内接收,以执行以下之一的操作:
如果以上几条都没有描述到你的通知,那它就是非事务性的。
事务性通知可以帮助用户... | 示例 |
允许人与人之间的交互 |
|
有助于改善日常生活的功能 |
|
监控、控制或决定设备的临时状态 |
|
非事务性通知应该是可选的,因为它们可能不会吸引所有用户。你可以通过下列两者之一的方式将其设置为可选:
避免选择可选停用方式,除非你的通知同时符合以下两个条件:
通知示例 | 避免在此使用可选停用通知的原因 |
关于如何使用应用的随机提示 | 提供具体的价值,但不符合情境 |
提示你对最近使用的内容进行评论 | 符合情境,但未给用户带来具体的价值 |
当你把应用更新到 Android O 时,你需要为通知定义通道 - 每一个通知类型定义一个通道。
用户通过通道控制 Android O 中的应用通知。如果用户不想收到应用中的某类通知,他们可以屏蔽该通道,而不用屏蔽该应用的所有通知。
你定义的每个通道,都需要为其分配重要性级别。从 Android O 开始,重要性级别控制每个通道的行为(取代优先级)。
重要性级别有以下限制:
选择通道的重要性时,需要考虑用户的时间和注意力。当不重要的通知被伪装成紧急通知时,会让用户产生不必要的惊恐。
重要性 | 行为 | 用法 | 示例 |
HIGH | 发出声音,并出现在屏幕上 | 用户必须立即知道,或立即采取行动的,对时间要求严格的信息 | 短信、闹钟、电话 |
DEFAULT | 发出声音 | 在用户方便的时候应该被最先看到的消息,但不会中断他们正在做的事 | 流量警报、任务提醒 |
LOW | 没有声音 | 不符合其他重要性级别要求的通知通道 | 用户订阅的新内容,社交网络的邀请 |
MIN | 没有声音或视觉中断 | 可以等待稍后处理、或与用户不是特别相关的非必要信息 | 附近的景点、天气、促销内容 |
要定义通道,需要先记录所有你需要发送的通知。然后将通知分组为具有以下共同点的集合:
你可以对通道进行分组,方便用户在 Android 的设置中快速扫视通道列表。
只在以下情况下创建通道分组:
使应用中的设置和 Android 的通道设置保持一致。如果应用提供了对不同类型的通知的控制功能,用户可以直接选择适当的 Android 通道设置来进行更改。
你也可以把通道设置界面链接到应用的设置。
在 Android O 中,前台服务通知的通道默认重要性级别必须至少为 IMPORTANCE_LOW,以便能在状态栏中显示一个图标。
使用重要性级别较低的 IMPORTANCE_MIN 的通道会触发一个来自 Android 系统的额外的 IMPORTANCE_LOW 级别的通知,表明该应用正在使用电池。
对于尚未升级到 Android O 的应用,你需要为每个通知分配优先级,某些优先级提供了播放声音的选项。
要控制通知的推送方式,需要先分配优先级。优先级越高,对用户的中断越多。例如,MAX 和 HIGH 优先级的通知会直接显示在用户的屏幕上,无论用户正在做什么。如果对通知的优先级不确定,请选择较低的优先级。
DEFAULT(或更高)优先级的通知可以在推送通知时播放声音(使用你提供的音频文件)。但是,应该仅在以下情况下使用声音:
无论是否使用了通道,都请把每个通知都分配到合适的预定义类别中。Android 可以根据此信息进行排序和过滤。
类别 | 描述 |
CATEGORY_CALL | 来电(语音或视频)或类似的同步通信请求 |
CATEGORY_MESSAGE | 直接接收的消息(短信、即时消息等) |
CATEGORY_EMAIL | 异步的大量消息(邮件) |
CATEGORY_EVENT | 日历事件 |
CATEGORY_PROMO | 宣传或广告 |
CATEGORY_ALARM | 闹钟或计时器 |
CATEGORY_PROGRESS | 长时间运行的后台操作的进度 |
CATEGORY_SOCIAL | 社交网络或分享更新 |
CATEGORY_ERROR | 后台操作错误或身份验证状态 |
CATEGORY_TRANSPORT | 媒体播放控制器 |
CATEGORY_SYSTEM | 系统或设备状态更新。保留仅供系统使用。 |
CATEGORY_SERVICE | 运行后台服务的指示 |
CATEGORY_RECOMMENDATION | 为单一事件提供的具体的、即时的建议。例如,新闻应用可能会推荐用户想要阅读的新闻报道。 |
CATEGORY_STATUS | 关于设备或情境状态的行为信息 |
用户可以选择在锁屏时显示通知。这些通知可能会隐藏被应用标记为隐私的内容。Android 会评估每个通知的可见性级别,以确定哪些内容可以被安全的显示。
因为通知可以直接在锁屏界面上浏览,用户隐私就成了一个非常重要的考虑因素。对于你创建的每个通知,都需要把可见级别设置为公共、私有或机密。
公共通知在锁屏界面上完全可见,但机密通知则完全隐藏。
私有通知则处于中间:它们只显示通知的基本信息,例如应用的图标和名称。常规内容则将被隐藏 - 你可以自行设置显示不涉及个人信息的文本,例如 “2 条未读消息”
Android 会把内容标题截断为一行(即使已展开)。
内容标题应该:
内容文本应该:
在 Android N 中,大图标只针对特殊的情况,即图像可以通过有意义的方式增强内容,包括:
大图标在代表人的时候应该是圆形的,但是其他时候是方形的。
Google 在其 Android 应用中使用以下通知模版,你可以根据自己的应用进行调整。
标准模版适用于大多数通知,允许显示简单的文本、大图标(有需要时)、操作。
当你需要显示较长的文本时,使用此模版。它允许用户在展开通知时预览更多文本。
当通知包含图片时可以使用此模版。大图标提供了图片的缩略图,用户可以通过展开通知来获得更多预览。
此模版用于由用户启动的需要一些时间才能完成的活动,并且可以随时取消。(不可取消的活动不适用。)
使用此模版让用户控制应用中正在播放的媒体。
此模板用于实时通信。你也可以提供直接在通知中进行回复的功能。