阅读 169

极光笔记丨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的推送更新是有明确的推送分级的,按照苹果的推断,如果推送体验更好了,是一定是可以提高点击率的;而相反的如果推送体验不好,用户可能会直接关闭推送。

那么在这个背景下,开发者们如何为推送定级呢?

如果想精确智能的为推送定级,那么自然会引出大数据和算法的资源需求,则很有可能开发者们会因为各种各样的限制而无法为推送定级。
于是我们发现,或许可以通过我们多年来的推送数据和算法团队对通知的内容进行评级,来实现更加智能的发送推送通知,给用户带来更好的体验,以降低用户的推送权限关闭率,从而提高推送点击率和送达率。

或许在未来的某一天,我们会去实现这个想法。

文章分类
iOS
文章标签