十二、使用 Notification Service Extension 拦截并修改通知
iOS 10 中添加了两个与通知相关的 extension:Service Extension 和 Content Extension。本文先介绍下前者。
1,基本介绍
- Service Extension 目前只对远程推送的通知有效。
- Service Extension 可以让我们有机会在收到远程推送通知后,展示之前对通知内容进行修改。
通过本机截取推送并替换内容的方式,我们可以实现端到端 (end-to-end) 的推送加密:
我们在服务器推送 payload 中加入加密过的文本,在客户端接到通知后使用预先定义或者获取过的密钥进行解密,然后立即显示。
这样一来,即使推送信道被第三方截取,其中所传递的内容也还是安全的。使用这种方式来发送密码或者敏感信息,对于一些金融业务应用和聊天应用来说,应该是必备的特性。