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

时间:2017-06-15 07:05:49

标签: ios apple-push-notifications ios10

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

因此,我们的通知有效负载中包含apns-collapse-idthread-id的有效负载。不幸的是,由于网上没有太多内容解释这些密钥的实际工作方式,为了安全起见,我们对apns-collapse-idthread-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
}

你可以看到apns-collapse-id和thread-id在JSON中重复多次,因为我们不确定它们究竟在哪里

我们还没有使用HTTPS / 2,但我相信iOS 10通知仍然支持传统的HTTPS。我不是一个网络人,所以我完全不了解这些事情。忽略我对Https和Http2的傲慢

有没有人设法让apns-collapse-id工作?请帮忙。

1 个答案:

答案 0 :(得分:4)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id='content'></div> <button id='testo'>Click</button>是请求标头,因此您需要使用HTTP服务而不是旧的二进制接口。