【问题标题】:Usage of Azure Notification Hubs templateNameAzure 通知中心模板名称的使用
【发布时间】:2014-10-06 14:11:03
【问题描述】:

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

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

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

阅读Registration from your app Backend 文档,我发现:

"您可以通过使用 TemplateName 属性来识别模板 注册”。

一旦我成功地使用templateName 创建了一个注册,我可以用它做什么?

我希望找到一个 API Send 方法,除了标签或标签表达式之外,它还能够指定特定的templateName;我没有找到类似的东西。

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

【问题讨论】:

  • Ypu 可以使用 templateName 作为标签...您不必做任何事情,只需尝试使用 templateName 作为标签进行测试...

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


【解决方案1】:

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

你可以查看官方ANH Java SDK on GitHub的例子:如果你search for "templatename",除了设置模板名进行注册,你不会发现任何其他用途。

如果您的所有模板用于相同的通知类型,则它们应使用相同的模板参数。然后,您只需一次向所有平台发送包含所有参数的模板通知。这就是模板注册的用例。据我所知,您可以为特定平台设置附加参数,不指定参数的注册,只是不会收到它。只需确保发送所有模板中定义的所有参数即可。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我们使用了三个从后端注册的不同模板,分别用于 ios、wp8 和 Android 平台。然后后端可以发送带有 $message 有效负载的消息。它正在工作,我们还没有使用templateNametemplateName有什么用,应该怎么用?
    • 我明白了,我误解了你的问题,对不起。具体是关于模板名称,我没有答案。如果你找到了,请发布。
    猜你喜欢
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 2013-12-29
    相关资源
    最近更新 更多