iOS 更新推送内容扩展
Posted
技术标签:
【中文标题】iOS 更新推送内容扩展【英文标题】:iOS update push in content extension 【发布时间】:2017-03-15 14:06:29 【问题描述】:iMessage 在屏幕上更新富推送。您可以看到用户正在输入的内容,并且消息将添加到您的对话中。
所以问题是:当我已经在查看打开的富推送时,我如何才能捕捉到新的推送通知? UNNotificationContentExtension 中是否有任何事件可以捕获新事件并更新视图?我唯一知道的是:
- (void)didReceiveNotification:(UNNotification *)notification
但只有在你第一次打开推送时才会触发
编辑:
在UNNotificationContentExtension协议中发现:
// This will be called to send the notification to be displayed by
// the extension. If the extension is being displayed and more related
// notifications arrive (eg. more messages for the same conversation)
// the same method will be called for each new notification.
- (void)didReceiveNotification:(UNNotification *)notification;
所以它应该可以工作,但我无论如何都无法捕捉到这个事件。也许我需要以某种方式使新通知与当前显示“相关”?
【问题讨论】:
【参考方案1】:发现问题出在哪里。
苹果文档:
显示通知时,系统可视化分组 具有相同线程标识符的通知一起。对于远程 通知,此属性的值设置为 aps 字典中的 thread-id 键。
在 aps 字典中添加键“thread-id”后,此函数现在可以正确接收事件
- (void)didReceiveNotification:(UNNotification *)notification;
【讨论】:
以上是关于iOS 更新推送内容扩展的主要内容,如果未能解决你的问题,请参考以下文章
修改 UNNotificationService 扩展中推送通知有效负载中的“声音”属性