可以在Azure NotificationHub通知自定义模板中发送特定于苹果的标记吗?我想发送“内容可用”:1到一个应用程序,而不切换服务器发送本机通知,但我不知道如何。
我有一个iOS应用程序使用的自定义模板发送推送通知。
我的模板工作良好,直到现在,当我有一个新类型的推送消息,我希望应用程序在后台获取信息。
我知道如何在本地iOS上这样做。如果我在应用程序中订阅了本地通知并进行了测试,请将其作为苹果本机通知发送到Azure:
{"aps":{ "content-available":1} [ other parameters...] } 然后应用程序(didReceiveRemoteNotification,fetchCompletionHandler)函数在我的App委托中被调用,并且我可以使用来自本机通知的其他参数来获取信息,即使应用程序已经关闭或处于后台。
不过,我在模板中尝试这样做有两个问题。首先,我无法在这里计算出w,以便将内容可用参数放在定制模板中。
第二,如果我提到这个参数,我就不能订阅一个模板,因为“”有一个"-“。
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应用程序能够看到它,以及如何订阅该模板?
或者,我是否必须切换到本机通知?
发布于 2016-06-24 18:53:43
看起来您应该使用\"#(content_available)\"而不是\"$(content-available)\"。请注意,"-“不是字母数字字符,而且"#”也会导致"content-available":1出现在实际有效负载中,而"$“则会使不需要的"content-available":"1"出现。
这里你可以找到一篇很好的关于NH模板的文章。
https://stackoverflow.com/questions/38015020
复制相似问题