当前位置:首页 > 行业动态 > 正文

Android通知机制详解,如何有效管理与优化通知?

Android通知是系统向用户展示消息的方式,可自定义布局、图标等。

Android通知的详细解析

一、什么是通知(Notification)?

通知是Android系统在应用界面之外显示的消息,旨在向用户提供提醒、来自他人的通信或应用中的其他实时信息,用户可以点击通知以打开应用,也可以直接从通知中执行操作。

二、通知的组成

1、:这是通知中最突出的元素,次要信息(例如时间戳)较小并合并在主要内容之上。

2、人物:如果通知涉及人物,则头像会从其余内容中脱颖而出。

3、操作:用户可以通过点击指示器图标来展开通知,操作以单独的背景颜色和位置上的文本标签显示。

4、折叠通知:折叠时,通知会显示应用程序图标、标题文本、时间戳、展开指示器和内容文本,还可以选择显示一个大图标。

5、通知标头区域

应用程序图标:应用程序图标是应用程序身份的二维表示,它以单色显示在状态栏中,如果应用程序发送多种通知,可以考虑将应用程序图标替换为符号以区分不同类型的通知。

标题文本:通知或来源的简短标题,例如用户的账户名称,内容是通知中最突出的元素,由系统提供。

时间戳:指示发送通知的时间,例如未接来电的时间,由系统提供。

展开指示器:指示通知处于折叠状态还是展开状态。

内容文本:支持信息,此为可选内容,通过setContentText()设置。

大图标(可选):可以添加图像以有意义的方式强化通知,例如包含发件人头像的消息,通过setLargeIcon()设置。

6、通知的操作

文本按钮操作

填充操作按钮

建议回复

回复文本字段

7、扩展视图:可以使用扩展视图向用户显示更多信息,而无需离开通知,展开后,通知最多可以提供以下任意操作中的三种:建议回复、强调动作(药丸状按钮)、标准文本操作。

8、可输入回复的通知:可以通过包含回复操作来让用户直接在通知中键入内容,这是专为输入少量文本而设计的,例如回复短信或记下简短的笔记,对于较长格式的输入,请将用户导航到应用,为他们提供更多空间来查看和编辑文本,对于消息传递应用,建议在用户发送回复后保留通知,并等到对话暂停后再自动关闭通知。

三、通知的作用

1、考虑通知的目的:为什么要提醒用户?提高用户粘性?还是有重要的消息通知到用户?促销?

2、确定通知权限模式,考虑通知对您的应用程序的重要性以及在用户使用过程中的何处询问。

3、选择合适的通知模板样式。

4、创建通知:

标题文本应简洁地归纳通知。

内容文本应预览通知。

图片(可选内容)。

媒体模板的媒体关键艺术和元数据(例如音乐播放)。

5、通过使用文本按钮、打字或媒体控件根据用户的内容提供操作,让用户清楚地了解用户可以使用通知执行哪些操作。

6、包含您的应用程序图标并设置应用程序图标背景颜色。

7、设置通知的渠道和类别,这允许系统和您的用户自定义他们接收的通知并提供优先级,如果您的应用程序可能会同时发送多个通知,请对通知进行分组。

四、通知的类型和样式

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

2、大文本模板:非常适合显示较长的文本块,它允许用户在展开通知后预览更多文本。

3、大图片模板:专为包含图像的通知而设计,折叠时,通知会显示图片的大图标缩略图,展开后,通知会显示更大的预览。

4、进度模板:专为用户发起的需要时间才能完成的活动而设计,展开时,使用此模板的通知会显示进度条,并且还包括允许用户终止此活动的“取消”操作(不可取消的活动不需要通知)。

5、媒体模板:旨在让用户控制当前从应用程序播放的媒体,折叠时,通知最多可以显示三个操作,大图标可以显示相关图像,例如专辑封面,展开后,通知将显示最多五个带有较大图像的操作,或六个没有图像的操作,通知的背景和其他元素自动继承图像的颜色,注意:要使您的播放器应用程序出现在快速设置区域中,请使用有效的MediaSession令牌创建MediaStyle通知。

五、通知的行为和处理

1、通知到达:当通知到达时,Android将其添加到通知抽屉中,根据您设置的参数和设备的当前状态,通知可能会执行以下任一操作:发出声音或引起手机振动;在状态栏中以图标显示;显示为平视通知,查看当前屏幕以吸引用户的注意力,与往常一样,用户可以选择更改您设置的通知行为。

2、通知抽屉:Android中的通知抽屉通常按时间倒序显示通知,并受以下条件影响进行调整:应用程序声明的通知优先级或重要性;通知最近是否通过声音或振动提醒用户;通知中附加的任何人员以及他们是否是已加星标的联系人;通知是否代表正在进行的重要活动,例如正在进行的通话或音乐播放,通过添加强调或取消强调,Android操作系统更改了列表顶部和底部的某些通知的外观,这有助于用户扫描内容。

3、处理过时的通知:通知抽屉旨在向用户显示与当前时刻相关的信息,如果较早的通知已过时(即不再相关),请将其忽略,以便用户看不到它,刚刚到达的文本显示在通知抽屉的顶部,有关添加照片的优先级较低的通知显示在底部,在运行Android 8.0(API级别26)及更高版本的设备上受支持的启动器中,应用程序图标会显示一个通知点,以指示该应用程序有与之关联的新通知,这些点默认出现在支持它们的启动器应用程序中,并且您的应用程序不需要执行任何操作,启动图标上的小红点也可以被禁用和限制。

4、应用程序启动图标上的通知点:表示该应用程序有一个与之关联的新通知。

5、通知可以使用户执行以下任意操作:导航到目的地;要进行导航,用户可以点击通知,如果通知显示在锁屏上,则此操作会将用户带到您的应用的启动屏幕,如果通知包含活动,则此操作会立即开始该活动。

六、相关问题与解答

1、如何创建一个基本的通知?

答:创建一个基本的通知需要使用NotificationCompat.Builder类,并设置必要的属性如小图标、标题、内容等,然后通过NotificationManager来发布这个通知。

2、如何处理不同版本的Android系统兼容性问题?

答:为了确保应用在不同版本的Android系统上都能正常工作,建议使用AndroidX库中的兼容API,如NotificationCompat类来创建通知对象。

0