通知

通知可提供与您的情况有关的简短、及时且相关的信息 。

Android 操作系统控制通知的许多方面,但您可以控制 其他方面实现通知时,请按以下步骤操作:

  1. 了解通知的剖析。
  2. 为您的用例选择通知类型。
  3. 设置与通知类型一致的通知类别 您选择的代码

要点总结

  • 思考一下通知的用途:您为什么要提醒用户?
  • 确定通知权限模式,并考虑其重要性 通知发送到您的应用,以及在用户体验历程中的什么位置询问。
  • 选择您的通知模板。
  • 创建通知内容: <ph type="x-smartling-placeholder">
      </ph>
    • 标题文字应简明扼要地总结通知。
    • 内容文本应预览通知。
    • 图片内容(如果适用)。
    • 媒体模板的媒体键盘和元数据。
  • 通过提供 用户执行的操作(包括文字按钮、输入操作或媒体操作) 控件。
  • 添加您的应用图标并设置应用图标背景颜色。
  • 设置通知的频道和类别。这样,系统就能 以及用户可以自定义要接收和提供哪些通知 优先级行为
  • 如果您的应用可能会同时发送多条通知,请将通知分为一组。
  • 如需了解通知,请查看 Figma 上的 Android UI Kit 模板。

通知详解

通知功能旨在让您轻松浏览和使用通知 重要元素。这些元素包括:

  • 主要内容:此类内容是视频中最突出的元素, 通知。时间戳等次要信息较小 并置于主要内容之上。
  • 人物:如果通知涉及人物,则头像会从中突显 即可。
  • 操作:用户可以通过点按指示图标来展开通知。 操作以文本标签的形式显示,并采用单独的背景颜色, 位置。
。 <ph type="x-smartling-placeholder">
</ph>
图 1:收起的通知

通知标题和内容

收起后,通知会显示应用图标、标题文本、时间戳 展开指示器和内容文本。您还可以选择显示大图标。

<ph type="x-smartling-placeholder">
</ph>
图 2:通知标头区域

1 应用图标:应用图标是 是关于应用标识的二维表示法。以单色显示 。如果您的应用会发送各种各样的通知,请考虑 用符号替换您的应用图标,以区分不同类型的 通知。如需了解更多详情,请参阅应用图标颜色

2 标题文字: 通知或来源(例如用户的账号名称)。内容是 。

3 时间戳:指明通知 已发送,例如未接来电的时间。

4 展开指示器:用于指明 通知处于收起或展开状态。

5 内容文本:支持信息。

6 大图标(可选):图片可能 以有意义的方式强调通知,例如通过 包含发送者的头像。

应用图标颜色

从 Android 12(API 级别 31)开始,系统从 您在应用中设置的通知颜色。如果应用未设置颜色 使用系统主题颜色。之前,该颜色为灰色。

<ph type="x-smartling-placeholder">
</ph>
图 3:生成的样式化应用图标颜色

对于大多数样式,系统仅在通知 获取前台服务通知。不过,这种要求 的MediaStyleDecoratedMediaCustomViewStyle通知 连接了媒体会话。

以下代码段展示了如何应用图标颜色。

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

通知操作

<ph type="x-smartling-placeholder">
</ph>
图 4:通知操作区域

1 文本按钮操作

2 实心操作按钮

3 建议的回复

4 回复文本字段

从 Android 7.0(API 级别 24)开始,系统显示没有图标的操作 以容纳更多文字。为了适应 Android Wear 设备和设备 运行 Android 6.0(API 级别 23)及更低版本时,您的应用仍必须提供 图标。

展开后的视图

您可以使用展开视图向用户显示更多信息,而无需 离开通知。

展开时,通知最多可提供以下任意三项内容 各种操作:

  • 建议的回复
  • 强调的操作(药丸形状的按钮)
  • 标准文字操作
添加与点按通知正文的行为重复的文本操作。
让用户有机会与通知互动。Google 时钟应用会显示计时器正在运行,但用户可以直接在通知中暂停或增加一分钟。

允许在通知中输入内容

您可以通过添加“回复”来让用户直接在通知中输入内容 操作。此模式适合在输入少量文本时使用,例如回复 或快速记录笔记。

对于较长的输入框,请将用户引导至您的应用,以为用户提供更多空间 查看和编辑文本。

对于即时通讯应用,我们建议在用户之后继续显示通知 已经发送了回复, 等到对话暂停后再 并自动将其关闭

<ph type="x-smartling-placeholder">
</ph>
图 5:用户直接在 Android 信息中回复 (在点按“回复”后,无需离开通知)

根据你的使用情形选择通知类型

Google 在其 Android 应用中使用以下通知模板。这些 您可以根据您的应用在一定程度上自定义模板。

如需了解通知模板,请查看 Figma 上的 Android UI Kit。

标准模板

标准模板适用于大多数通知,因此可以保持简洁 大图标(如适用)和操作。

<ph type="x-smartling-placeholder">
</ph>
图 6:标准通知模板

大号文字模板

大文本模板非常适合显示较长的文本块。它让 用户在展开通知后预览更多文字。

<ph type="x-smartling-placeholder">
</ph>
图 7:带有选项大图标的大文本模板

大图模板

大图模板专为包含图片的通知而设计。时间 收起,通知会显示图片的大图标缩略图。时间 展开时,通知会显示大得多的预览。

<ph type="x-smartling-placeholder">
</ph>
图 8:全景图片模板

进度模板

进度模板专为用户发起的需要时间的活动而设计 操作完成。使用此模板的通知展开后,会显示 还会提供一个“取消”按钮允许用户终止 此活动。(对于不可取消的活动,并不保证一定会发出通知。)

<ph type="x-smartling-placeholder">
</ph>
图 9:进度模板

媒体模板

媒体模板旨在让用户控制当前播放的媒体 。

  • 收起时,通知最多可显示三项操作。大型语言模型 图标可以显示相关图片,例如相册封面。
  • 展开时,通知最多可显示 5 项以较大字体显示的操作 或六个操作不带图片背景和其他元素 通知会自动继承图片的颜色。
<ph type="x-smartling-placeholder">
</ph>
图 10:媒体模板

消息模板

MessagingStyle 模板专为实时通信而设计。时间 展开,用户可通过使用此模板的通知来回复消息 。

<ph type="x-smartling-placeholder">
</ph>
图 11:消息模板

通话模板

使用 CallStyle 模板生成大格式通知, 包含大图片附件,并指明是来电还是去电。

<ph type="x-smartling-placeholder">
</ph>
图 12:调用模板

通知权限

通知应尽可能相关且及时,大多数通知 非豁免,也就是说,用户必须同意接收来自 。

但有一种例外情况:从 Android 13(API 级别 33)开始,媒体 管理通话的会话和应用可免于询问 用户同意。如果用户既有应用, 已开启通知。如需了解详情,请参阅豁免

我们强烈建议您在设置中提供通知选项,以便 允许用户更新通知偏好设置

提示用户选择接收需要豁免的通知

对于需要豁免的通知,请提示用户指明是否想要 选择接收通知。明确选择接收 可能使通知更实用,干扰性更小。

<ph type="x-smartling-placeholder">
</ph>
图 13:请求用户同意接收需要获得豁免的通知

等待系统显示通知对话框提示:

  • 说明通知提供的好处以及不授予通知的结果 通知权限。
  • 提供符合情境的界面,将通知与其功能或内容相关联 影响。此界面可采用任何形式,以便更好地集成到您的应用中: 费用、底部动作条或新手入门屏幕上的示例卡片。以上任意一项 应可关闭。
  • 如果用户已关闭 界面。

从 Android 13 开始,系统可能会重新提示用户授予通知权限。

必需通知

前台服务用于执行可被用户察觉到但同时 用户没有直接与您的应用互动这些服务会显示状态栏 通知,让用户知道您的应用正在 会消耗系统资源。

<ph type="x-smartling-placeholder">
</ph>
图 14:健身应用前台服务通知示例

由于这些进程会消耗电量和数据流量,因此您的应用必须让用户 通过显示不可关闭的通知来发现它们。用户无法关闭 因此,您必须为用户提供停止 服务。

以下示例展示了一条来自健身应用的通知。用户 启动了一个活跃的锻炼会话,这将实例化一个前台服务 追踪锻炼课程。应用会显示通知 追踪步行,并提供查看锻炼的选项。

何时不应使用通知

请勿将通知用于以下任何用例:

  • 对于交叉推介或宣传其他商品(严格禁止 Play 商店禁止
  • 如果用户从未打开过您的应用
  • 作为与用户沟通的主要方式
  • 鼓励用户继续使用应用,但不提供直接价值(例如 例如:“很久没见到您了!”)
  • 当请求为您的应用评分时
  • 对于不需要用户参与的操作,例如同步 信息
  • 通知错误状态,应用可能会在没有用户互动的情况下恢复
  • 节假日或生日祝福语
发送 以通知形式显示节日祝福或生日祝福。
在执行任务的过程中打断用户,只需询问用户是否 你做得很好。

行为

请注意以下通知行为以及如何在 特定上下文。

送达通知

当通知到达时,Android 会将其添加到抽屉式通知栏中。 根据您设置的参数和设备的当前状态, 可执行以下任意操作:

  • 让手机发出提示音或振动。
  • 在状态栏中显示图标;这通常是您的应用图标 如果您有多种类型的通知,请使用捕获 通知的用途。
  • 以浮动通知的形式显示,一窥当前屏幕即可抓取 吸引用户的注意力

与往常一样,用户可以选择更改您设置的通知行为。

<ph type="x-smartling-placeholder">
</ph>
图 15:送达通知

1 状态栏中的通知指示器,用于表明抽屉式通知栏中有通知。

2“短暂显示”通知放在当前屏幕上,以便在执行任务期间吸引用户的注意力。

抽屉式通知栏

Android 中的抽屉式通知栏通常在以下位置显示通知: 时间逆序,调整受以下因素影响 条件:

  • 应用声明的通知优先级或重要性
  • 通知最近是否通过提示音或振动提醒用户
  • 通知是否与任何人相关,这些人是不是已加星标的联系人
  • 通知是否代表重要的持续性活动,例如 正在进行通话或播放音乐
  • Android 操作系统对某些通知在 来增加或减少强调效果,这有助于 用户扫描内容

处理过时通知

抽屉式通知栏旨在向用户显示 生成当前时刻的数据如果较早的通知已过时,也就是说, 不再具有相关性,可以将其关闭,以免用户看到。

<ph type="x-smartling-placeholder">
</ph>
图 16:刚刚到达的文本显示在 抽屉式通知栏,包含一个优先级较低的通知,提醒您在 底部

由应用图标标记指示的新通知

在搭载 Android 8.0(API 级别 26)及更高版本的设备上受支持的启动器中, 应用图标会显示一个通知圆点,表示该应用有新的 所有相关通知这些圆点默认显示在启动器应用中 您的应用无需执行任何操作。标志 “已停用”和“受限”模式

<ph type="x-smartling-placeholder">
</ph>
图 17:应用图标上的通知圆点,表示 应用有新的关联通知

用户可以通过通知执行的操作

借助通知,用户可以执行以下任意操作:

  • 导航到目的地:用户可点按通知进行导航。如果 锁定屏幕上,用户需要点按两次,然后 然后输入其 PIN 码、密码或绘制解锁图案

    当用户点按通知时,您的应用必须显示 直接附加到该通知,并允许用户立即执行操作。对于 例如,如果通知提示玩家在双人游戏中轮到自己, 点按通知应该可以直接进入对应的游戏

  • 查看通知的展开视图:在 标头。用户可以点按指示图标或向下滑动通知正文 将其展开。

    <ph type="x-smartling-placeholder">
    </ph>
    图 18:展开后的通知
  • 关闭通知(如果允许):用户可以通过滑动来关闭通知 向左或向右。

指示后台持续进程的持续性通知,例如 。

  • 暂停浮动通知:用户可以在浮动通知上向上滑动 通知,而系统不允许再发送来自相应事件的通知 闪烁一分钟。

  • 今后控制类似通知:用户可以查看通知 控制权:

    • 触摸和单独显示一条通知
    • 向左或向右滑动通知,然后点按设置图标

显示的控件因 Android 版本以及应用是否为 具有通知渠道(从 Android 8.0 开始)。

将多个通知分组

对于生成相同类型的多条通知的应用,Android 提供 对通知进行分组,以避免用户应接不暇。

您的应用可以根据以下内容显示多条通知 层级结构。

  • 父级通知会显示其子级通知的摘要。
  • 如果用户展开父级通知,Android 会显示所有子级通知 通知。
  • 用户可以展开子通知以显示其全部内容。

Android 显示没有重复标题信息的子通知。对于 例如,如果子通知与其父通知具有相同的应用图标,那么 标题不包含图标。

如果子通知以系统形式单独显示,必须易于理解 可以在他们到达时在群组以外的地方显示。

<ph type="x-smartling-placeholder">
</ph>
图 19:分组通知收起视图和展开视图。

设置

频道

从 Android 8.0(API 级别 26)开始,所有通知都必须分配给 。对于每个声道,您可以设置 会应用于该频道中的所有通知用户可以更改这些设置 并确定应用中的哪些通知渠道可能具有干扰性或 可见。

如需详细了解如何实现此功能,请参阅创建和管理通知 渠道

在选择重要性时应考虑用户的时间 注意力层。如果某个不重要的通知伪装成紧急通知, 会产生不必要的警报。

重要性 行为 用法 示例
HIGH 发出声音并出现在屏幕上 用户必须立即知晓或采取行动的具有时效性的信息 短信、闹钟、电话
DEFAULT 发出提示音 应在用户方便时尽早查看,但不会干扰他们当前的操作 路况提醒、任务提醒
LOW 无声 不满足其他重要性级别要求的通知渠道 用户订阅的新内容、社交网络邀请
MIN 不发出提示音,也不在屏幕上弹出通知 需要等待或与用户没有明确相关的非重要信息 附近的景点、天气、推广内容

预定义的类别

无论您是否在使用渠道,请将各个通知分别分配给 最合适的预定义类别。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 设备 评估每个通知的可见性级别,以确定什么可以安全地 。

为锁定屏幕上的内容设置敏感度等级

用户隐私至关重要,因此请注意 锁定屏幕上显示的通知级别。对于每个 创建通知时,必须将公开范围级别设为公开、不公开、 或 secret

  • 公开通知会在安全锁定屏幕上完全显示。
  • 私密通知已隐藏。
  • 私密通知位于中间:它们仅显示基本信息, 包括发布该视频的应用的名称及其图标。您不再使用 您可以视需要显示 不会泄露个人信息,如 2 new messages

在以下示例中,Gmail 和 Google 相册的锁定屏幕通知 应用会在用户选择在应用内显示这些信息后显示所有内容 锁定屏幕。

<ph type="x-smartling-placeholder">
</ph>
图 20:具有不同灵敏度级别的锁定屏幕。

1 在锁定屏幕上显示所有通知内容

2 在锁定屏幕上显示隐藏的敏感通知内容

样式

文字简明扼要

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

好的内容标题遵循以下准则:

  • 不超过 30 个字符
  • 包含最重要的信息
  • 避免使用变量(除非变量包含数字或短文本字符串, (带文字)
  • 不包括标题中已有的应用名称
在内容标题中显示应用名称,这与标题区域重复且使用可用字符。
在内容标题中显示最重要的信息。

优质的内容文字应符合以下准则:

  • 避免超出 40 个字符的长度限制
  • 避免重复内容标题中的内容

大图标

对于有些用例,如果图像能够有效强化 通知的内容。以下是一些示例:

  • 其他人发来的通讯内容,例如某人发送 消息
  • 内容来源(如果与发送通知的应用不同); 例如用户所订阅 YouTube 频道的徽标
  • 与通知相关的有意义的符号,例如表示驾车的箭头符号 路线

大图标在显示人物时必须为圆形,而在其他所有图标中均为方形 案例

使用大图标来宣传品牌。
使用大图标可以有意义的方式突显通知的内容,例如在消息通知中附加显示人物的照片。

Android 版本更新

Android 通知系统界面和与通知相关的 API 持续 不断演变。有关这些更改的列表,请查看通知 兼容性

平台注意事项

Wear

如果用户有配对的 Wear OS 设备,则您的所有通知都会显示在该设备上 包括可展开的详细信息和操作按钮。有关详情,请参阅 Wear 上通知的设计页面