使用Azure Service Bus通知中心取消注册标记

时间:2016-04-25 16:05:11

标签: notifications azure-mobile-services azure-notificationhub

我继承了一个使用Azure Notification集线器发送通知的iOS应用程序,但是有一个障碍。

用户选择要接收通知的多个类别(新闻,体育等),他们可以随时更改这些类别。每当他们添加或删除兴趣时,应用程序都会从​​通知中心取消注册并使用新标签进行订阅。

我认为这是不正确的,但我无法找到方法来查看用户订阅的标签,或添加/删除单个标签。

在当前的应用中,有时我们的测试设备不会收到我认为应该发出的通知。

我在网上找到了答案,说你应该避免取消注册,注册和取消注册会有延迟(例如答案,OrderBy

我正在寻找有关如何处理此用例,添加和删除标记的任何见解。

1 个答案:

答案 0 :(得分:3)

由于您未指定与Azure Notification Hub进行通信的方式,因此我将使用ANH REST API作为参考。

  

“......我找不到方法来查看用户订阅的标签......”

如果您申请注册(例如per registration ID),您将获得包含指定标签的注册数据。

  

“...或添加/删除单个标签。”

您不会直接在ANH注册时添加或删除单个标签,如有必要,您基本上会更新整个注册。一些ANH SDK可能有方便的方法,但一般情况下,您只需将带有所需标签的完整注册对象发送给ANH,它就会被覆盖。例如。 REST API有一个“Update Registration”方法,但没有“添加/删除标记”方法。

  

“我在网上找到了答案,说你应该避免取消注册,注册和取消注册会有延迟......”

由于您说明的原因,您确实不应注销并注册此用例。这可能也是原因:

  

“在当前的应用中,有时我们的测试设备不会收到我认为应该发出的通知。”

永远不要取消注册并再次注册以更新注册。如果您不想在特定设备上接收通知,则仅取消注册。

  

“我正在寻找有关如何处理此用例,添加和删除标记的任何见解。”

基本上,只需省略“取消注册步骤”,并使用实际的ANH注册ID和所有需要的标签将“注册步骤”设为“create or update registration步骤”。