Azure Notification Hubs templateName的用法

时间:2014-08-13 09:14:54

标签: c# azure push-notification azure-notificationhub

我已经创建了一个带有Cordova的示例应用程序和一个与Azure通知中心通信的Mvc5应用程序。 注册由后端处理,因为标签必须是安全的。

我们使用了从后端注册的三种不同的模板,用于iOS,WP8和Android平台;后端可以使用$message发送带有sendtemplatenotificationasync有效负载的推送通知。

它正在运作,但我们没有使用templateName

阅读Registration from your app Backend文档后,我发现了这一点:

  

"您可以使用的TemplateName属性识别模板   注册"。

使用templateName成功创建注册后,我该怎么办?

我希望找到一个API发送方法,除了标签或标签表达式之外,还能指定特定的templateName;我还没有找到这样的东西。

templateName的含义和一般用例是什么?

2 个答案:

答案 0 :(得分:3)

模板名称只是模板注册的描述性标签。它不打算用于以编程方式识别注册,因此没有任何API方法使用模板名称。除了调试或记录之外,不应将其用于任何其他操作。 (我根本没有设置模板名称......)

您可以查看官方ANH Java SDK on GitHub例如:如果您search for "templatename",除了为注册设置模板名称之外,您将找不到任何其他用法。

如果它们用于相同的通知类型,则所有模板都应使用相同的模板参数。然后,您只需将所有参数的模板通知一次性发送到所有平台。这是模板注册的用例。据我所知,您可以为特定平台提供其他参数,未指定参数的注册,只是不会接收它。只需确保发送所有模板中定义的所有参数。

如果您不想区分具有不同模板的注册,请使用标签,例如区分平台使用标签,如“平台:Android”,“平台:iOS”等。或者用于区分具有不同参数的模板使用“Template:PersonalMessage”,“Template:GroupMessage”,“Template:BroadCast”等...

答案 1 :(得分:0)

假设你有iOS和Android客户端。对于iOS,您将注册与iOS兼容的模板,而对于Android,您将注册与Android兼容的模板。然后,当您发送消息时,它将相应地格式化。

与Microsoft示例相比,我们做得甚至有点不同。我们的客户(iOS或Android)提供模板,因此后端开发人员无需了解这些详细信息。更多信息:http://discoveringdotnet.alexeyev.org/2014/07/registration-for-azure-notification-hub.html