1

iMessage 在屏幕上更新富推送。您可以看到用户正在输入的内容,并且消息将添加到您的对话中。

所以问题是:当我已经在查看打开的丰富推送时,我如何才能捕捉到新的推送通知?UNNotificationContentExtension中是否有任何事件可以捕获新事件并更新视图?我唯一知道的是:

- (void)didReceiveNotification:(UNNotification *)notification

但只有在您第一次打开推送时才会触发 iMessage 富推

编辑:

发现在 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;

所以它应该可以工作,但无论如何我都无法捕捉到这个事件。也许我需要以某种方式使新通知与当前显示的“相关”?

4

1 回答 1

2

想通了哪里出了问题。

苹果文档:

显示通知时,系统会直观地将具有相同线程标识符的通知分组在一起。对于远程通知,此属性的值设置为 aps 字典中 thread-id 键的值。

将键“thread-id”添加到 aps 字典后,此函数现在可以正确接收事件

- (void)didReceiveNotification:(UNNotification *)notification;
于 2017-03-15T15:05:54.940 回答