极光笔记丨 iOS 15 推送新特性
作者:极光高级工程师—李晓航
目录
前言
Interruption level(中断级别)
APNS Request API
定时通知摘要
对于时效性通知的说明
1、xcode 中打开对应能力
2、app 需要在官方网站支持该权限
给开发者的建议
写在最后
前言
上一次我们分享了《初探 iOS15 推送新特性》,当时还处于一个 iOS15 的早期阶段,很多功能还无法使用和确认。而在 2021 年 9 月 21 日 Xcode13 正式版发布了,本篇文章会基于 Xcode13 正式版来对 iOS15 上的推送新特性做一个完整的探索。
Interruption level(中断级别)
在发布正式版后,我们对 iOS15 上的通知有了一个比较明确的认识。整体来看 iOS15 主要就是对通知进行了分级,也就是参数 interruptionLevel。
The interruption level determines the degree of interruption associated with the notification。
说白了就是通过给通知设定不同的级别来达到不同的响应效果。中断级别和 iOS15 新出的焦点模式息息相关,如果不了解焦点模式的同学可以参考我们的上一篇文章。
中断级别目前分为四种:
Passive(被动的)
人们可以在闲暇时查看信息,比如餐厅推荐。
Added to the notification list; does not light up screen or play sound
被动类型的通知不会使手机亮屏并且不会播放声音。
Active(活动,默认设置)
当信息到达时,人们可能希望知道它,比如他们最喜欢的运动队的分数更新。
Presented immediately; Lights up screen and may play a sound
活动类型的通知会使手机亮屏且会播放声音,为默认类型,也是在 iOS15 出现之前的通知默认设置。
在焦点模式下,活动类型通知特点和被动类型的一样。
Time Sensitive(时间敏感)
直接影响用户并需要他们立即关注的信息,如帐户安全问题或包传递。
Presented immediately; Lights up screen and may play a sound; May be presented during Do Not Disturb。
时间敏感类型,性质和活动类型的通知一样,会使手机亮屏且会播放声音;可能会在免打扰模式(焦点模式)下展示。
实际上就是在焦点模式下打开时间敏感类型的通知后,时间敏感类型的通知就能够正常显示的。如果不打开也和被动类型的一样。
如图所示,打开时效性通知后,在开启此焦点模式的情况下,时效性通知是不会变成被动通知的。设置了允许通知的 App 不受焦点模式影响。
Critical(关键)
直接影响用户并要求其立即关注的有关个人健康和公共安全的紧急信息。关键通知非常罕见,通常来自政府和公共机构或医疗保健应用程序。您必须有权使用。(需要特殊申请)
Presented immediately; Lights up screen and plays sound; Always presented during Do Not Disturb; Bypasses mute switch; Includes default critical alert sound if no sound provided
会立刻展示,亮屏,播放声音,无效免打扰模式,并且能够绕过静音,如果没有设置声音则会使用一种默认的声音。
关键性通知需要特殊权限申请,从已知的信息上来看,这种类型的通知,有一点像过去的警报通知,会导致手机强制震动播放声音并显示,适用于地震等紧急情况。
APNS Request API
在之前的 Beta 版本中,由于苹果没有更新文档,我们无法得知如果在发送通知的接口中设置 interruptionLevel 参数。
现在文档已经更新,新增参数如下。
参考苹果官方文档《generating_a_remote_notification》
定时通知摘要
开启后设置对应的 App,被设置的 App 发送的消息将无法显示到通知栏当中,但是会在设定的时间中集中显示。时效性通知不受影响。
relevance-score 可以在该功能中使用,分数高的会展示在摘要中。
在 beta 版本中我们看不到该功能的效果,正式版的效果如下
relevance-score 目前仍然无法使用,经过大量测试发现 relevance-score 并没有如预期一样改变摘要显示。查询官网得知可能仍然是一个 bug。
下图为对应的问题
对于时效性通知的说明
时效性通知会有一个特殊的显示效果,App 名字上方会有一个时效性的提示字,如下图
时效性通知不受摘要状态影响,在焦点模式中通过开启开关也能够突破限制
时效性通知开发者无法直接使用,需要配置对应的权限
1、xcode 中打开对应能力
2、app 需要在官方网站支持该权限
以上两个权限 app 的用户是无感知的,但是需要开发者全打开才能用。
时效性的通知会在开启焦点模式的情况下,第一次展示的时候提示用户是否关闭时效性通知权限。
时效性通知和普通通知相比,较为敏感。
开发者可以在 Extension 中对通知的级别进行修改。
给开发者的建议
iOS15 新增的这个中断级别的改动是一个很重要的改动,合理的设置推送的中断级别对于一个应用来说非常重要,推送体验的好坏将会直接影响推送消息的点击率,进而影响用户活跃。所以适配 iOS15 对任何一个 APP 来说都很重要。
极光 SDK 在 iOS 15 beta1 版本就开始准备进行适配工作,到现在为止已经全部完成,开发者可以集成 JPush SDK 4.4.0 及其以上的版本完成自己 APP 在 iOS15 上的推送适配,同时可以使用 API 接口或者在我们的后台 portal 端填写对应的中断级别来使用 iOS15 上的推送通知。
写在最后
我们在研究 iOS15 的时候,对于 iOS15 的推送功能也有了一些自己的想法。
此次 iOS15 的推送更新是有明确的推送分级的,按照苹果的推断,如果推送体验更好了,是一定是可以提高点击率的;而相反的如果推送体验不好,用户可能会直接关闭推送。
那么在这个背景下,开发者们如何为推送定级呢?
如果想精确智能的为推送定级,那么自然会引出大数据和算法的资源需求,则很有可能开发者们会因为各种各样的限制而无法为推送定级。
于是我们发现,或许可以通过我们多年来的推送数据和算法团队对通知的内容进行评级,来实现更加智能的发送推送通知,给用户带来更好的体验,以降低用户的推送权限关闭率,从而提高推送点击率和送达率。
或许在未来的某一天,我们会去实现这个想法。
版权声明: 本文为 InfoQ 作者【极光开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/89abac5817060464967daa088】。文章转载请联系作者。
评论