关于ios:极光笔记iOS-15推送新特性初探

4次阅读

共计 3011 个字符,预计需要花费 8 分钟才能阅读完成。

前言
北京工夫 2021 年 6 月 8 日凌晨 1 点,苹果召开了 WWDC 21 大会。在会上公布了新版的 iOS 15 零碎,iOS 的主题是 Focus, connect, and explore。

有关注的同学应该发现了本次主题其中提到的 Focus 正是在 iOS 15 当中新增的对于告诉的变动。本篇文章所分享的就是 iOS 15 中新增的推送个性。

Focus(专一模式)
其实在 iOS 15 之前也有专一模式,iOS 15 的专一模式,其实是以后版本勿扰模式的演进产品。

能看到第一局部就是具体的模式,默认的有集体,勿扰模式,工作,睡眠。其实四种没什么区别就是用名字作为辨别,在不同工夫抉择不同的模式,来给本人带来更好的告诉应用体验。咱们还能够手动增加专一模式,设置专一模式的名字,图标,以及对应的配置。

咱们能够设置在所有设施中共享专一模式,也能够设置哪些 App 可能拜访用户的专一状态,该性能目前仅凋谢给苹果本人的 App,目前笔者还没有发现有代码和设置可能拜访该性能。

电话成为了惟一一个能够独自在专一模式上进行全局设置的 App,能够在专一模式关上时指定可能接管的电话。

咱们点击“集体”进入具体的专一模式,能看到有多个配置。咱们能够为某些通讯录成员和 App 设置一个不受专一模式影响的白名单。

还能够设置是否关上时效性告诉(Time Sensitive)接管性能,时效性告诉也是 iOS 15 中提供的一个新的告诉个性,咱们会在后续的文章中提到。

设置共享专一状态,和刚刚那个全局的设置能够拜访专一模式的性能相似,就是作用域不一样了,然而还是和刚刚的问题一样,目前没发现在哪里可能获取到专一模式的状态,揣测苹果会在后续的版本中更新(另一种可能是应用 getNotificationSettingsWithCompletionHandler 接口进行获取,只是获取到的不是专一模式,这个官网中央文档形容的确有点含糊,还不能齐全确认)

Interruption level(中断级别)
在 iOS 15 及更高版本中,人们能够通过指定的音讯派发工夫和设置专一模式对告诉行为进行更加细粒度的调整。派发告诉打算容许用户抉择是立刻接管告诉,还是在他们抉择的时间段内应用摘要派发告诉。专一模式帮忙人们在他们定义的时间段内过滤告诉,例如睡眠、工作、浏览或驾驶等流动。

人们能够在专一模式中为抉择的联系人和应用程序设置白名单以承受告诉。

例如,在以工作为核心的环境中,人们可能心愿立刻收到来自共事、家庭成员和与工作相干的应用程序的音讯。人们可能还心愿在开启专一模式期间接管所有对工夫敏感的告诉。对工夫敏感的告诉蕴含人们心愿立刻取得的根本信息。

须要留神的是即便专一模式可能会提早告诉的派发,告诉自身也会在达到时立刻可用。

为应用程序能够发送的每个告诉指定零碎定义的中断级别。零碎应用中断级别帮忙确定何时派发告诉;当通信告诉达到时,零碎应用发送方的配置确定何时派发告诉。

零碎为非通信告诉定义了四个中断级别:

•Passive(被动的)。人们能够在空闲时查看信息,比方餐厅举荐。
•Active(流动,默认设置)。当信息达到时,人们可能心愿晓得它,比方他们最喜爱的球队的分数更新。
•Time Sensitive(工夫敏感)。间接影响用户并须要他们立刻关注的信息,如帐户平安问题或快递信息。
•Critical(重要)。间接影响用户并要求其立刻关注的无关集体衰弱和公共安全的紧急信息。要害告诉十分常见,通常来自政府和公共机构或医疗保健应用程序。应用该中断级别须要申请对应的权限。

四种级别对应的能力如上图。被动和沉闷是一样的,工夫敏感的级别可能笼罩定时推送性能和专一模式,重要级别的告诉甚至可能屏蔽电话和静音设置。

在这个新个性上咱们能看到一些苹果历史以来的设计思路,苹果心愿开发者可能精确设置每个告诉的紧急水平来建设信赖。

用户有几种办法来调整他们从你的应用程序接管告诉的形式,例如:敞开所有告诉。因而在调配中断级别时,必须尽可能事实。我想你不会心愿用户感觉你应用了一个高级别的告诉去打断他们的工作,然而信息确是一个低级别的信息,这很可能会导致用户敞开你 App 的告诉权限。

当你的应用程序第一次收到工夫敏感的告诉时,零碎会形容这种告诉是如何工作的,如果用户不批准这些信息须要立刻关注,零碎会提供一种敞开告诉的办法。

切勿应用工夫敏感的中断级别发送营销告诉。用户可能曾经批准从你的应用程序接管营销告诉,然而这样的告诉不应该冲破专一模式或预约的告诉派发设置。

对于中断级别这段有很大一部分是翻译的苹果原文,有趣味的同学能够看一下。

笔者尝试全链路的去验证下不同中断级别的体验,然而 iOS 15 刚刚公布,处于晚期阶段,在《生成一个近程告诉》文档和《发送告诉申请到 APNs》文档中,临时没有找到相干材料,因而无奈实测。

于是我转换了一个思路,尽管 API 没有更新,然而代码可能曾经更新了,于是我更新了 Xcode 13.0 beta 版本并查看对应的框架 API。

咱们能够在 <UserNotifications/UserNotifications.h> 框架中找到最新的 iOS 15 相干的代码,在 <UserNotifications/UNNotificationContent.h> 中咱们能看到新的对于中断级别的枚举。

咱们看英文形容,在这里能看到被动和沉闷中断级别的区别。被动的中断级别不会亮屏和播放推送声音,并且只会退出到告诉列表(应该说的是告诉核心)中,而沉闷的也就是默认的,会立即被展现并亮屏,播放推送声音。

除此之外,还有对应的新增的属性。

interruptionLevel 应该很好了解,就是该推送的中断级别。除此之外还能看到一个属性叫做 relevanceScore 相干分数,相干分数的高下会影响在告诉核心中的排序,这个在 WWDC 中有一嘴带过,然而在苹果告诉导读文档中却没有提到,这个属性应该在 APNs 的 API 也可能设置才对。

不想当初就下载 Xcode beta 版本,然而又想理解最新的 API 的在官网的 iOS 文档中也可能看到。


Xcode 越来越大了

定时推送摘要
最初在说一下这个定时推送摘要,后面有常常说到一个依据理论派发推送告诉的就是这个。

因为官网 APNs API 没更新的限度,笔者还没有齐全搞清楚定时推送摘要的具体逻辑。咱们先看一下在 iOS 15 中的设置局部。

在告诉界面减少了一个定时推送摘要的入口,咱们关上这个性能,而后依据工夫设置一天推送几次摘要,咱们须要抉择具体的 App 适应这个配置,默认是全敞开的。比如说我设置了一天 4 次派发告诉摘要,那么在发送告诉的时候应该不会立刻提醒,而是等到摘要的工夫才会显示。

然而理论景象是这样的,我发送了一条告诉,立刻就收到了,而后比如说我在下午 5 点发的音讯,音讯被放到了一个新的分类叫做早晨的推送摘要中和预期不太一样,揣测可能是因为默认音讯类型是流动导致的,可能须要发送被动类型的音讯能力触发这个性能。

对于摘要这一块,还有比拟多的不确定的货色须要摸索。

那么到这里,对于 iOS 15 上的告诉新个性的初探就完结了,笔者在写这篇文章的时候还是感觉目前 iOS 15 仍处于一个 Beta 版本的晚期阶段,查阅文档发现的局部性能都还处于未齐全放开的阶段,依照苹果的习惯在公布 GM 版本之前应该还有有一些调整,所以该文章中的内容是有被改变的可能性的,请大家还是以最新的 iOS 15 上能看到的成果为准。

感激各位浏览😅。文章编写于 2021 年 6 月 21 日,iOS 15 第一个 Beta 版本。

正文完
 0