iOS 10如何为远程通知设置功能化Content ThreadItnifier[英] iOS 10 How to set UNotificationContent threadIdentifier for remote notification

本文是小编为大家收集整理的关于iOS 10如何为远程通知设置功能化Content ThreadItnifier的处理方法,想解了iOS 10如何为远程通知设置功能化Content ThreadItnifier的问题怎么解决?iOS 10如何为远程通知设置功能化Content ThreadItnifier问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

tl; dr:需要在APNS通知有效载荷JSON中设置哪个密钥,以对应UNNotificationContent对象的threadIdentifier属性?例如"category"键对应于categoryIdentifier属性.


iOS 10介绍Notification Content Extension允许我们在扩展通知时呈现视图控制器.

我们提供的视图控制器符合UNNotificationContentExtension协议,这需要我们实现didReceive(_:)方法.

此方法的文档包括以下段落:

此方法可以在视图控制器可见时多次调用.具体而言,当新的通知到达时,再次调用它们 threadidentifier 值与已经显示的通知的线程标识符匹配.

属性可以设置为本地通知的代码,但我不知道如何为从服务器发送到APNS的远程通知.

文档描述了这里的属性: http://developer.apple.com/参考/usernotification/不unnotificationcontent

以下JSON包括我尝试的键("thread"和"thread-identifier"):

{
    "aps" : {
        "alert" : "Hello World!",
        "sound" : "default",
        "category" : "example-category",
        "thread" : "example-thread",
        "thread-identifier" : "example-thread-identifier"
    }
    "custom-field" : "some value",
}

我无法从Apple找到关于如何设置此操作的任何文档.任何人都可以帮助吗?

推荐答案

我从Apple的联系人发现,正确填充此属性的正确键是"thread-id"键.

所以发送给APNS的JSON如下:

{
    "aps" : {
        "alert" : "Hello World!",
        "sound" : "default",
        "category" : "example-category",
        "thread-id" : "my conversation blah blah"
    }
    "custom-field" : "some value",
}

这填充了通过notification.request.content.threadIdentifier在通知内容扩展中访问的UNNotificationContent对象的threadIdentifier属性.

通过设置此"thread-id"值,意味着内容扩展的didReceive(_:)方法将多次.首先在最初扩展通知时,每当新的通知以相同的"thread-id"值到达时,再次.

我假设(希望)一旦IOS 10正式发布,这将被添加到官方文档中.

本文地址:https://www.itbaoku.cn/post/924352.html