IOS 静默推送通知发送自定义键/值

Posted

技术标签:

【中文标题】IOS 静默推送通知发送自定义键/值【英文标题】:IOS Silent Push Notification to send custom Key/Value 【发布时间】:2016-04-20 06:07:30 【问题描述】:

我有一个需要发送自定义键/值对的用例。请看下面的例子:

 
    "aps":"content-available":1,
    "test_data":"Name":"Vinay"
    

我已经完成了这个练习,但我无法发送这个,而且我还没有找到苹果限制这个的明确证据。任何人都可以在这种情况下支持我。

【问题讨论】:

Apple 不要限制这一点 - 静默推送应该是完全有效的。您可以向您的应用发送带有内容的推送消息吗? 如上所述,我们是否可以将自定义键/值发送到设备以根据该值执行某些操作。在上述情况下,它是 test_data。 【参考方案1】:

是的,Apple 授权它静默推送。事实上,Apple 解释了如何做到这一点:

要支持静默远程通知,请将远程通知值添加到 Info.plist 文件中的 UIBackgroundModes 数组中。要了解有关此数组的更多信息,请参阅 UIBackgroundModes。

并且,在配置静默通知中:

aps 字典也可以包含 content-available 属性。值为 1 的 content-available 属性允许远程通知充当静默通知。当静默通知到达时,ios 会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。用户不会被告知因静默通知而产生的新信息或更改信息,但他们可以在下次打开您的应用时了解这些信息。

-

对于无声通知,请注意确保 aps 字典中没有警报、声音或标记负载。如果您不遵循此指导,错误配置的通知可能会受​​到限制,并且不会在后台传递到应用程序,而是向用户显示而不是静默。

更新:

但似乎不可能完全静默推送和自定义数据。它没有很好的记录,但请看一下:https://***.com/a/36327058/2846494

来源: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/TheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH107-SW6

https://***.com/a/36327058/2846494

【讨论】:

感谢您提供详细信息,但是请您回答我提出的问题。我们能否以静默方式发送客户键值。非常感谢。 如上所述,我们是否可以将自定义键/值发送到设备以根据该值执行某些操作。在上述情况下,它是 test_data 何,事实上,不可能有完全无声的通知和自定义数据。它没有很好的记录,但看看这个:***.com/a/36327058/2846494【参考方案2】:

除非您配置得当,否则这没有问题。有关配置详细信息,请参阅苹果文档。我创建了一个 POC,它工作得非常好,如果我们使用 Artisian SDK(旧版本),我只注意到一次问题,所以它会吞下你的有效负载,这是我面临的唯一问题。

准确地说: 我们可以使用静默通知在后台调用应用程序而不通知用户。我们可以发送我们的自定义数据,如下例所示:

"Data":"Vinay","aps": "content-available": 1

【讨论】:

以上是关于IOS 静默推送通知发送自定义键/值的主要内容,如果未能解决你的问题,请参考以下文章

选择退出用户的静默推送通知

应用程序处于非活动状态时无法接收静默通知 iOS

适用于 iOS 的 Firebase FCM 静默推送通知

如何从 C# 发送 FireBase 自定义推送通知?

Nodejs 静默推送通知在 iOS 13 中不起作用

静默推送通知在 ios 13 中不起作用