是否可以在Azure NotificationHub通知自定义模板中发送Apple特定的标签?我想在不切换服务器发送本机通知的情况下将“内容可用”:1发送到应用程序,但是我不知道怎么做。
我有一个使用Azure Notification Hub的自定义模板发送推送通知的iOS应用。
直到现在,当我有一种新型的推送消息时,我的模板都可以正常工作,我希望该应用程序在后台获取信息。
我知道如何在本机iOS上执行此操作。如果我在应用程序中订阅了本机通知并进行测试,则将其作为来自Apple的Apple本机通知发送:
{"aps":{ "content-available":1} [ other parameters...] }
然后,在我的App委托中调用了该应用程序函数(didReceiveRemoteNotification,fetchCompletionHandler),即使该应用程序处于关闭状态或在后台,我也可以使用本机通知中的其他参数来获取信息。
我在尝试在模板中执行此操作时遇到两个问题。首先,我无法在此处找到将content-available参数放入自定义模板中的方式。
其次,如果提及该参数,我将无法订阅模板,因为“ content-available”具有“-”。
MyHub!.registerTemplateWithDeviceToken(mobiledeviceToken!, name: "none", jsonBodyTemplate: "{\"aps\": {\"alert\":\"$(message)\",\"content-available\":\"$(content-available)\"}", expiryTemplate: "", tags: tags)
我收到此错误:
PM</Detail></Error>" UserInfo={NSLocalizedDescription=Fail to perform registration operation. Response:<Error><Code>400</Code><Detail>Property name is content-available. Only ASCII-7 alphanumeric characters and '_' are permitted in the property name.
如何在自定义模板中发送此参数,以便iOS应用程序可以看到它,以及如何订阅该模板?
或者,我是否必须切换到本机通知?
看来您应该使用\"#(content_available)\"
而不是\"$(content-available)\"
。请注意,“-”不是字母数字字符,并且“#”将导致"content-available":1
出现在实际有效载荷中,而“ $”将使"content-available":"1"
您不需要。
在这里您可以找到有关NH模板的不错的文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句