Azure通知中心的使用模板名
本文关键字:通知 Azure | 更新日期: 2023-09-27 18:17:58
我用Cordova和一个Mvc5应用程序创建了一个示例应用程序,该应用程序与Azure通知中心进行通信。注册由后端处理,因为标签必须是安全的。
我们为iOS、WP8和Android平台使用了三种不同的后端注册模板;后端可以使用sendtemplatenotificationasync
发送带有$message
有效负载的推送通知。
它正在工作,但我们没有使用templateName
。
从你的应用程序后端文档中阅读注册,我发现了这个:
的TemplateName属性可以识别模板注册"。
一旦我成功地用templateName创建了一个注册,我能做什么?
我希望找到一个API Send方法,能够指定,除了标签或标签表达式,一个特定的templateName
;我从来没有发现过这样的东西。
templateName
的含义和一般用例是什么?
模板名称只是模板注册的描述性标签。它不打算用于以编程方式标识注册,因此没有任何API方法使用模板名称。除了调试或日志记录之外,不应该将其用于其他用途。(我根本不设置模板名…)
你可以在GitHub上查看官方的ANH Java SDK,例如:如果你搜索"templatename",你不会发现任何用法,除了设置模板名称注册。
所有的模板应该使用相同的模板参数,如果他们打算为相同的通知类型。然后,您只需一次性向所有平台发送包含所有参数的模板通知。这就是模板注册的用例。据我所知,你可以为特定的平台设置额外的参数,没有指定参数的注册不会接收到它。只要确保你发送的所有参数都是在所有模板中定义的。
如果你不想区分不同模板的注册,使用标签,例如,为了区分平台,使用"平台:Android","平台:iOS"等标签。或者使用"Template:PersonalMessage", "Template:GroupMessage", "Template:BroadCast"等来区分具有不同参数的模板
假设你有iOS和Android客户端。对于iOS,你会注册与iOS兼容的模板,对于Android,你会注册与Android兼容的模板。然后,当你发送你的消息时,它将被相应地格式化。
与微软的例子相比,我们的做法略有不同。我们的客户端(iOS或Android)提供模板,所以后端开发人员不需要知道这些细节。更多链接:http://discoveringdotnet.alexeyev.org/2014/07/registration-for-azure-notification-hub.html