您的位置:首页 > 移动开发 > IOS开发

从产品运营角度看 iOS 10通知新特性

2016-11-24 10:38 134 查看
摘要: 本文整理自广州 OSC 源创会上杨科老师的演讲。自 iOS 10 发布至今,已有近半年的时间。目前,该版本已覆盖超过三分之二的激活设备。而通知作为 iOS 10 更新的一个重要部分,一直受到广大用户的关注。因此,本文演讲主题从产品和运营的角度出发,对通知模块的新特性做了详细介绍。

杨科,毕业于吉林大学,毕业后从事 Android 开发工作,曾就职于 TCL 担任客户端开发工作,现负责极光华南区技术支持工作。在极光积累丰富技术支持实践经验,积极了解客户业务、分析用户需求,致力于寻找客户问题并提供解决方案。

一、[通知]与[推送]的本质区别

iOS 10 与通知相关的一项重要更新就是新增了 User Notification Framework,即“用户通知框架”。通知与推送根本不同的地方在于,“推送”属于通知的触发方式, 而通知是操作系统层面的一种 UI 展示。

从 iOS 迭代更新的历史特征来看,通知一直被苹果作为重点内容在扩展:从最初的单纯展示,到对 Backgroud 的支持;从对 Payload 的 256 字节限制,到 4K 内容的扩展;从简单的消息回调,到如今丰富的新特性更新。如下是新特性增加的概览,主要有八项内容:



总体分析如下:



二、通知的分类

iOS 官方将通知分为两大类:

Remote Notification(远程通知)

Local Notification(本地通知)

1、远程通知

远程通知,由推送的方式触发,需要服务端发送 URL 给 NotificationServiceExtension 去预先执行下载操作。即使在网络不通畅的情况下,苹果提供的超时后的后续操作也能让开发者适当地展示通知,从而提高通知交互体验。目前,远程的媒体文件需要传入 https 式链接才可下载识别,这需要遵循 App Transport Security(ATS)的原则。据悉,明年苹果会对 https 进行全面支持,用户将被强制要求使用 https。

2、本地通知

本地通知,由本地的事件触发,它的推送只能使用本地的资源。更新后的本地通知新增两种 Trigger:日历和地理位置。日历使开发者可以根据指定的日期和时间来展示本地通知,并且支持循环条件。地理位置可以在用户进入或者离开指定区域时触发本地通知
7fe0
,该特性让 iOS 通知的地理围栏触发有了实现的可能。

三、通知新特性介绍

1、新增 Subtitle

iOS 10 更新之后,不论是锁屏通知、横幅通知、还是控制中心等,其内容都是以圆角卡片的形式出现。并且,在原有 Title 的基础上,还新增了 Subtitle 样式和 Body。尤其,Subtitle 的加入给内容类 App 带来了福音,它在经过精心地编辑和策划后,非常有利于内容的宣传与推广。



2、新增 Attachments

在推送媒体信息上运营,需要用丰富的展示形式来吸引用户的眼球。Attachments 和之前的 content_available 参数类似,另外还新增了 mutable-content 参数来控制是否增加 Attachments。开发者需要通过实现 NotificationServiceExtension 来展示带有 Attachments 的通知。



3、通知内容扩展

通知内容扩展页面允许开发者自定义展示内容,也支持在内容扩展页面增加更多的自定义 ActionButton。但是,扩展内容不支持交互,所以交互就只能通过 ActionButton 实现。对于支持 3DTouch 的设备,只需点击通知即可进入通知内容扩展(即当用户通过 3D touch 按下通知卡片时,通知会展开多个选项的菜单,用户可以选择需要进行的操作然后点击)。而不支持 3D Touch 的手机,则需要将通知卡片向左滑动,然后点击查看内容。



此外,相比之前,用以回复信息的输入框的位置也发生了变化。它由之前依附在通知下方,变成了依附在键盘上方,这样更方便文本信息的输入等。此变化不仅实现了在通知界面完成应答的操作,还强化了无需进入APP跳转行为的理念。

在内容扩展方面,iOS 10 还增加了端到端加密的功能,它让App开发者可以在展示通知之前增加一层处理逻辑,从而使端到端加密成为可能,这意味着经由苹果服务器的通知内容可以是完全的密文,而在此之前的 iOS 通知内容没有加密功能。

4、通知查、改、删

查、改、删是 iOS 10 的新功能,实现该功能需要有一个必要参数——构建通知的 identifer,将其添加到推送 center 运行即可。后续的查、改、删操作都是根据此参数来执行。远程通知的更新需要通过新的字段 apns-collapse-id 来作为唯一标示,现在它处于内部测试阶段,相信很快也会支持起来。典型的应用场景,如赛事比分变更和通知的撤回。



5、增加应用内通知展示 API

应用内通知展示 API,即官方的应用内收到 APNs 通知并做UI展示的 API,用户可以通过此功能选择接受或关闭通知。此 API 的优势在于,它能让开发者更简单的实现应用内展示通知的功能,并且统一点击通知之后的事件。



通知展示另一个新增项是常驻横幅——在手机系统设置里,可以对不同的 APP 进行设置,以达到多种通知提示方式。APP 的通知是横幅和提醒的样式可由用户自行选择。引导用户设置提醒样式,会涉及到流程任务的信息,这样的做好处是:第一,保证消息不会被忽略,第二,不会简单粗暴地打断用户当前进行的操作。



6、WatchOS 支持本地通知

WatchOS 的特性使得 AppleWatch 能在脱离 iPhone 的情况下独立使用,它常被用于运动达成目前的记录。



四、结语

以上即为 iOS 10 通知模块的重要更新内容,希望广大开发者能借由上述新特性做出更加优秀的 App。同时,感谢极光的开发工作人员,是他们日以继夜的工作使得用户能更好地体验 iOS 10 的新特性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS