模式 通知

通知

仅限 Android

当应用不处于使用状态时,通知可提供简短、即时且相关的信息。

通知旨在告知用户应用中的事件。以下两种类型的通知最为有效:

  • 来自其他用户的通信
  • 适时且内容翔实的任务提醒
通知组件

头部区域
内容区域
操作区域

如何让用户注意到通知
  • 显示状态栏图标
  • 在锁屏界面显示
  • 播放声音或振动
  • 在当前屏幕浮现
  • 闪烁设备的 LED
Material Design 中的通知提供即时应用更新

剖析通知 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

概述

通知经过精心设计,使用户能够轻松扫视并使用通知中最重要的元素:

主要内容

内容是通知中最突出的元素。次要信息(如时间戳)较小,并合并显示在主要内容上方。

联系人

如果通知涉及联系人,其头像会出现在通知的右侧,与其他内容区分开来。

操作

可展开的通知通过点击指示符图标来展开。操作使用文本标签显示在单独的背景色或位置上。

Material Design 中的折叠与展开状态通知

折叠与展开状态的通知

头部区域

头部区域包括:

1. 应用图标:应用图标是应用身份标识的小型二维表示。它在状态栏中以单色显示。如果你的应用发送多种类型的通知,可以使用反映内容类型的符号代替应用图标。例如,Google Now 使用云朵图标表示天气通知。

2. 应用名称:应用名称会自动出现在通知中。

3. 标题文本(可选):通常仅当应用从多个来源发送通知时才需要标题文本,例如拥有多个账户的用户可使用账户名作为标题文本。

4. 时间戳(可选):默认情况下不显示时间戳,但如果需要显示通知发送的时间(如未接来电的时间),则可以添加。

5. 展开指示符:如果通知可以展开,则显示此图标。

Material Design 通知的头部区域

头部区域

内容区域

内容区域包括:

1. 内容标题:通知的简要标题

2. 内容文本:通知的辅助信息

3. 大图标(可选):可以添加图片以有意义的方式强化通知,例如包含消息发送者头像的消息。

Material Design 通知的内容区域

内容区域

操作区域

展开后,通知最多可在底部显示 3 个操作。

在 Android N 及更高版本中,操作不显示图标以便容纳更多文本。但仍应提供图标,因为早期版本的操作系统依赖图标显示,Android WearAndroid Auto 设备也是如此。

Material Design 通知的操作区域

操作区域

用法 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

何时不应使用通知

通知不应成为与用户沟通的主要渠道,因为频繁中断可能会引起用户反感。以下情况不应使用通知:

  • 交叉推广,或在通知中宣传其他产品(Play Store 严格禁止此类行为)
  • 用户从未打开过的应用
  • 鼓励用户返回应用但不提供直接价值的消息,例如“有段时间没见到您了”
  • 请求用户为应用评分
  • 无需用户参与的操作,例如同步信息
  • 不需要用户交互即可恢复的错误状态
Material Design:不应以通知形式发送节日或生日祝福

不推荐做法

不要以通知形式发送节日或生日祝福。

Material Design:不应在任务期间打断用户询问操作状态

不推荐做法

不要在任务期间打断用户,仅仅为了询问操作是否顺利。

必要的通知

前台服务是用户在未直接与应用交互时在后台运行的应用进程。由于这些应用会消耗电池和可能的数据,Android 要求通过显示不可关闭的通知来让用户了解这些服务。

由于用户无法关闭此类通知,你应提供一个操作,让用户在不希望服务运行时停止它。

Material Design:Android 下载管理器显示下载进度通知

下载应用和文件时,Android 的下载管理器会运行前台服务并显示通知,让用户知道正在下载,并提供取消下载的选项。

行为 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

通知到达

通知到达时,会被添加到通知抽屉。根据你设置的参数和设备当前状态,通知还可能:

  • 在状态栏中以图标显示
  • 发出声音或振动
  • 在当前屏幕浮现以吸引用户注意

用户可以选择修改你设置的通知行为。

通知到达时,通常会在状态栏显示图标。这提示用户在通知抽屉中有新内容。

如果需要在任务期间吸引用户注意,应用可以让通知在当前屏幕浮现。

通知抽屉

Android 中的通知抽屉通常按时间倒序显示通知,并根据以下因素进行调整:

  • 应用声明的通知优先级或重要性
  • 通知是否最近通过声音或振动提醒过用户
  • 通知中涉及的用户是否为用户的星标联系人
  • 通知是否代表正在进行的重要活动,例如正在通话或播放音乐

从 Android O 开始,Android 系统可以通过添加强调或降低重要性的方式,改变通知列表顶部和底部某些通知的外观,以帮助用户快速扫视内容。

过时的通知

通知抽屉应向用户显示当前时刻的相关信息。如果之前发送的通知不再相关,可以自动关闭,使用户不再看到。

Material Design 中显示消息的通知抽屉

在此通知抽屉中,刚收到的短信显示在顶部,优先级较低的天气通知显示在底部。

通知交互

用户可通过以下方式与通知交互:

1. 导航到目标界面

用户可点击通知进行导航。如果通知出现在锁屏界面,用户需要双击通知,然后输入 PIN 码、图案或密码。

用户点击通知后,应跳转到与应用直接相关的界面,并让他们立即执行操作。例如,通知用户在多人游戏中轮到你了,点击通知应直接进入游戏。

2. 查看扩展视图

如果提供扩展视图,通知头部会显示展开指示符。用户可以点击指示符或向下滑动通知主体来展开。

扩展的通知

3. 移除(如果允许)

用户可以通过向左或向右滑动来移除通知。

表示后台持续进程(如播放音乐)的持续通知可能无法通过滑动移除。

正在被移除的通知

4. 控制今后类似通知的推送

可通过以下方式访问通知控制项:

  • 触摸并按住某条通知
  • 向左或向右滑动通知,然后点击设置图标

显示的控件取决于 Android 版本以及应用是否具有通知通道(从 Android O 开始)。

通知设置

多个通知

对于会产生多条同类型通知的应用,Android 提供两种展示方式:汇总和分组。

汇总

你可以将所有通知汇总到一条通知中,而不是显示多条通知。例如,通讯应用可以显示汇总通知:“你有 3 条新消息”。展开后,会显示每条消息的片段内容。

Material Design 中的通知汇总,折叠与展开视图

汇总多条通知,显示折叠视图和展开视图

分组

应用可以根据层次结构显示多个通知:

  • 父通知显示子通知的摘要信息
  • 如果用户展开父通知,则会显示所有子通知
  • 子通知可以展开以显示完整内容

子通知不会重复显示头部信息。例如,如果子通知与父通知具有相同的应用图标,则子通知的头部不包含图标。

子通知在单独出现时也应易于理解,因为系统可能在通知到达时将其显示在分组之外。

Material Design 中的分组通知,折叠与展开视图

分组通知,显示折叠视图和展开视图

扩展视图

你可以通过扩展视图在通知中显示更多信息,而无需离开通知。

Material Design 中的折叠和展开通知

折叠和展开的通知

通知展开时最多可提供 3 个操作。这些操作不应与点击通知主体的操作重复。

Material Design 中的文本操作不应与通知主体操作重复

不推荐做法

不应包含与点击通知主体行为重复的文本操作。

Material Design 中的计时器通知可直接暂停或增加时间

推荐做法

当 Android 的时钟应用正在运行计时器时,此通知允许用户直接从通知中暂停或增加一分钟。

启用在通知中输入

你可以让用户直接在通知中输入。用户可以输入少量文本,例如回复短信或记录简短笔记。

对于长文本输入,需要将用户导航到你的应用中,在那里他们有更多空间查看和编辑文本。

如果你在通讯应用中使用此功能,用户发送回复后应保留该通知,等到对话进入间歇后再自动将其移除。

Android 信息应用的用户可以直接在通知中回复消息,无需离开通知

通知类型 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

通知可分为事务性和非事务性。

事务性

事务性通知提供的内容,用户必须在特定时间内接收,以便执行以下操作之一:

  • 支持人际互动
  • 改善日常生活功能
  • 控制或解决临时设备状态

非事务性

如果以上情况均未描述你的通知,则它是非事务性的。

事务性通知可以帮助用户...

示例

支持人际互动

  • 来电或短信
  • 在多人游戏中通知用户轮到你了

改善日常生活功能

  • 即将发生的日历事件
  • 用户设置的提醒或闹钟
  • 航班延误
  • 订单交付

监控、控制或解决临时设备状态

  • 播放音乐
  • 逐段导航
  • 秒表运行
  • 截屏已保存
  • 应用在后台运行

非事务性可选停用与可选启用

非事务性通知应为可选项,因为它们可能不会吸引所有用户。你可以通过以下两种方式之一将其设为可选:

  • 可选停用:用户默认接收可选停用通知,但可以通过关闭设置来停止接收。
  • 可选启用:用户只有在应用中开启设置后才能接收可选启用通知。

可选停用

避免使用可选停用方式,除非你的通知同时满足以下两个条件:

  • 为用户提供具体价值
  • 与用户情境直接相关(例如当前位置、当前日期或时间、过往历史、或已表达的兴趣)

通知示例

避免在此使用可选停用通知的原因

关于如何使用应用的随机提示

提供具体用户价值但不符合情境

提示你对最近使用的内容进行评论

符合情境但未提供具体用户价值

Material Design 中展示可选停用选项的 YouTube 通知

此 YouTube 通知采用可选停用方式。它同时具备情境(用户订阅的 YouTube 频道)和价值(来自该频道的新视频)。“选项”操作可将用户导航到可以停用此频道未来通知的设置界面。

可选启用

可选启用方式更为保守。由于用户明确选择接收这些通知,他们很可能乐于看到这些通知。但是,用户必须访问设置才能了解如何接收这些通知。你可以在应用的其他地方告知用户这些通知,例如新手引导流程或可关闭的卡片

Material Design 中突发新闻的可选启用通知示例

此应用采用可选启用方式。应用顶部的卡片让用户知道他们可以接收突发新闻的通知。如果用户想要启用,他们会选择“是”,否则选择“不,谢谢”并保持停用状态。此选项也可在应用设置中找到。

设置 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

Android O 中的通道

将应用升级到 Android O 时,你需要为通知定义通道——为要发送的每种通知类型定义一个通道。


用户通过通道控制 Android O 中的应用通知。如果用户不想接收应用的某类通知,他们可以屏蔽该通道,而不是屏蔽所有通知。

Material Design UI 中的三个分类通道

此应用有三个通道,在 UI 中可能被称为“分类”。

通道重要性级别

你定义的每个通道都需要分配一个重要性级别。从 Android O 开始,重要性级别控制每个通道的行为(取代优先级级别)。

重要性级别有以下限制:

  • 你分配的重要性级别将是通道的默认值。用户可以在 Android 设置中修改通道的重要性级别。
  • 一旦选择重要性级别,修改方式就会受到限制:只能降低重要性,且仅当用户未明确修改时。


选择通道重要性时,需要考虑用户的时间和注意力。当不重要的通知被伪装成紧急通知时,会引起不必要的惊慌。

重要性

行为

用法

示例

HIGH

发出声音并在屏幕上显示

用户必须立即知道或立即采取行动的时效性信息

短信、闹钟、电话

DEFAULT

发出声音

应在用户方便时最先看到,但不会中断他们当前操作的信息

交通警报、任务提醒

LOW

没有声音

不符合其他重要性级别要求的通知通道

用户订阅的新内容、社交网络邀请

MIN

没有声音或视觉中断

可以等待稍后处理或与用户不是特别相关的非必要信息

附近的景点、天气、促销内容

定义通道

要定义通道,需要先列出所有要发送的通知。然后将这些通知分组为具有以下共同点的集合:

  • 主题:单个主题可以简洁地描述所有这些通知,例如“下载”。
  • 期望的重要性级别:由于通道中的通知共享一个重要性级别,因此从用户角度看,它们应具有相似的重要性级别。

分组通道

你可以对通道进行分组,方便用户在 Android 设置中快速浏览通道列表。

仅在以下情况下创建通道分组:

  • 有超过 10 个通道
  • 应用支持多个用户账户(如个人账户和企业账户),允许用户在不同账户间使用相同的通道名称和功能

将应用设置与 Android 通道设置关联

保持应用中的设置与 Android 通道设置一致。如果应用提供不同类型通知的控制功能,应引导用户到相应的 Android 通道设置进行更改。

你也可以将通道设置界面链接到应用设置。

Material Design:航班更新通知设置界面

在此应用中,用户可以指定通信偏好。其中一项偏好是航班更新通知,它链接到名为“航班更新”的系统通道设置界面。该界面包含一个返回链接“应用中的其他设置”。

通道与前台服务

在 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

关于设备或情境状态的持续信息

锁屏界面 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

用户可以选择在屏幕锁定时显示通知。这些通知可能会隐藏应用标记为敏感的内容。Android 会评估每个通知的可见性级别,以确定哪些内容可以安全显示。

锁屏界面上的敏感内容

由于通知在锁屏界面上可见,用户隐私是一个重要的考虑因素。对于创建的每个通知,需要将可见性级别设置为公共、私有或机密。

公共通知在安全锁屏界面上完全可见,而机密通知则完全隐藏。

私有通知处于中间状态:它们仅显示基本信息,包括发布通知的应用名称和图标。常规内容将被隐藏——你可以选择显示不涉及个人信息的文本,例如“2 条新消息”。

用户在锁屏界面显示所有通知内容 - Material Design

此用户选择在锁屏界面上显示所有通知内容。

用户隐藏敏感内容;Material Design 通知设为私有

此用户选择在锁屏界面上隐藏敏感内容。由于这些应用将通知可见性级别设置为“私有”,因此不显示内容标题或其他文本。

样式 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

清晰简洁的文本

Android 会将内容标题截断为一行(即使已展开)。

内容标题应:

  • 不超过 30 个字符
  • 包含最重要的信息
  • 避免使用变量——除非它们包含数字或短文本字符串,或者前面有文本
  • 不包含应用名称(已在头部显示)
Material Design 中应用名称在头部区域重复

不推荐做法

内容标题显示了应用名称,这与头部区域重复,并占用了可用字符空间。

内容文本应:

  • 避免超过 40 个字符的限制
  • 不重复内容标题中的信息
Material Design:内容标题突出关键信息

推荐做法

内容标题显示了最重要的信息。

大图标

在 Android N 中,大图标仅适用于图像能以有意义方式增强通知内容的特定情况,包括:

  • 与另一个人的通信,例如发送消息者的图片
  • 内容来源(如果与发送通知的应用不同),例如用户订阅的 YouTube 频道的标志
  • 关于通知的有意义符号,例如表示驾驶方向的箭头符号

大图标在表示人时应为圆形,其他情况应为方形。

Material Design 中大图标不应用于品牌标识

不推荐做法

大图标不适用于品牌标识。

Material Design 中大图标支持通知内容

推荐做法

大图标旨在以有意义的方式强化通知内容,例如消息通知中附带的联系人照片。

模板 Expand and collapse content An arrow that points down when collapsed and points up when expanded.

Google 在其 Android 应用中使用以下通知模板,你可以根据自身应用进行调整。

标准模板

标准模板适用于大多数通知,允许显示简洁文本、大图标(如适用)和操作。

Material Design 通知的标准模板

折叠和展开通知的标准模板

大文本模板

需要显示较长文本时应使用此模板。它允许用户在展开通知时预览更多文本。

Material Design 通知的大文本模板

折叠和展开通知的大文本模板

大图片模板

通知包含图片时应使用此模板。大图标提供图片的缩略图,用户可以通过展开通知获得更大预览。

Material Design 通知的大图片模板

折叠和展开通知的大图片模板

进度模板

此模板适用于用户启动的需要时间完成且可随时取消的活动。(不可取消的活动不需要通知。)

Material Design 通知的进度模板

折叠和展开通知的进度模板

多媒体模板

此模板允许用户控制应用当前播放的媒体。

  • 折叠视图最多显示 3 个操作,大图标可以显示相关图片(如专辑封面)。
  • 展开视图最多显示 5 个操作和一个大图片,或者不包含图片的 6 个操作。提供的图片中的颜色会自动填充通知背景和其他元素。
Material Design 通知的媒体模板

折叠和展开通知的媒体模板

消息模板

此模板用于实时通信。你也可以提供直接在通知中回复的功能。

Material Design 通知的消息模板

折叠和展开状态的消息模板