apns-collapse-id不合并多个通知iOS 10

San*_*ari 2 apple-push-notifications ios ios10

我正在尝试折叠/合并属于我应用程序中同一事件的多个通知。iOS 10在有效负载中引入了键名apns-collapse-id。文档说具有相同的多个远程通知apns-collapse-id将合并并显示为单个通知。

因此,我们的通知有效负载中包含apns-collapse-idthread-id。不幸的是,由于在线上没有太多内容解释这些键的实际工作方式,因此为了安全起见,我们为apns-collapse-id和使用了相同的唯一值thread-id

我们期望与之apns-collapse-id合并的多个远程通知。这没有发生。

很少有人认为APNS崩溃不是免费的,我必须UNNotificationContentExtension手动实施和处理通知。我知道我可以添加和删除已经发布的本地通知,但是不确定如何更新已经发布的远程通知。

这是我们的有效载荷的样子

payload {
    "aps": {
        "alert": {
            "title": "Some title : ",
            "body": "Some body text"
        },
        "sound": "default",
        "payload": {
            "target": {
                "some key" : "Some value"
            },
            "thread_id": "Some_string_155863",
        },
        "apns-collapse-id": "Some_string_155863",
        "mutable-content": 1,
        "thread-id": "Some_string_155863",
        "badge": 33
    },
    "thread-id": "Some_string_155863",
    "apns-collapse-id": "Some_string_155863",
    "mutable-content": 1
}
Run Code Online (Sandbox Code Playgroud)

如您所见,apns-collapse-id和thread-id在JSON中重复了多次,因为我们不确定在哪里准确放置它们

我们尚未使用HTTPS / 2,但我相信iOS 10通知仍支持旧版HTTPS。我不是一个真正的网络人,所以我不太了解这些东西。忽略我对Https和Http2的傲慢态度

是否有人设法使apns-collapse-id起作用?请帮忙。

小智 5

apns-collapse-id 是请求标头,因此您需要使用HTTP服务而不是旧版二进制接口。