gpt4 book ai didi

iOS 10 如何为远程通知设置UNotificationContent threadIdentifier

转载 作者:可可西里 更新时间:2023-11-01 05:03:41 24 4
gpt4 key购买 nike

TL;DR: 需要在 APNs 通知负载 JSON 中设置什么键来对应 UNNotificationContent 对象的 threadIdentifier 属性?例如"category" 键对应于 categoryIdentifier 属性。


iOS 10 引入了Notification Content Extension,允许我们在展开通知时呈现 View Controller 。

我们提供的 View Controller 符合 UNNotificationContentExtension 协议(protocol),这要求我们实现 didReceive(_:) 方法。

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

This method may be called multiple times while your view controller is visible. Specifically, it is called again when a new notification arrives whose threadIdentifier value matches the thread identifier of the notification already being displayed.

threadIdentifier 属性可以在本地通知的代码中设置,但我不知道如何为从服务器发送到 APNs 的远程通知设置它。

UNNotificationContent 文档在此处描述了属性:http://developer.apple.com/reference/usernotifications/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",
}

这会填充 threadIdentifier UNNotificationContent 的属性(property)通过 notification.request.content.threadIdentifier 在您的通知内容扩展中可访问的对象.

通过设置这个 "thread-id"值,表示 didReceive(_:)您的内容扩展的方法将多次。首先是在最初扩展通知时,每当新通知到达时再次显示相同的 "thread-id"值(value)。

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

关于iOS 10 如何为远程通知设置UNotificationContent threadIdentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39222652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com