Azure Notification Hubs注册生存时间(限制为90天)

时间:2014-05-23 07:52:56

标签: azure push-notification azure-notificationhub

现在我使用PushSharp库发送Apple推送通知(通过APNS),但我想迁移到Notification Hubs以获得稳健性和可扩展性。

我计划使用this article中所述的后端注册,通过Azure通知中心实施发送通知。所以:

  1. iOS客户端在更新推送令牌时会调用后端API的方法。在这个方法中,我使用用户ID进行注册标记。 (以前,我将推送令牌存储到DB中的用户链接。)
  2. 当我收到一些特定用户的通知时,我会使用标签(用户ID)发送。 (以前,我使用过DB的APNS设备令牌。)
  3. 这似乎是一个有效的解决方案,但在Notification Hubs documentation它说:

      

    重要的是要注意注册是暂时的。与它们包含的PNS句柄类似,注册过期。您可以在通知中心设置注册的生存时间,最长可达90天。此限制意味着必须定期刷新它们,并且它们不应该是重要信息的唯一存储。这种自动过期还可以简化卸载移动应用程序时的清理工作。

    这就是问题所在。有时我需要向尚未更新令牌90天的设备发送通知,等等。因此APNS令牌仍然有效,但Notification Hub的注册将失效。所以我只是失去了用户的沟通渠道。

    你是如何处理的?

    当然,我仍然可以在DB中存储令牌,并且可以定期更新注册。但这并不是您对通知中心等推送通知解决方案的期望。

3 个答案:

答案 0 :(得分:6)

您可以从应用程序或服务器刷新注册。如果您从应用程序执行此操作,则必须由用户启动该应用程序才能刷新注册。

因此,如果您要求即使对于未启动超过90天的应用程序,设备注册仍然有效,您必须通过服务器刷新注册,并在服务器中运行可刷新令牌的作业似乎是你唯一的选择。

我同意通知中心'让令牌过期的决定似乎很奇怪。也许他们考虑过MPNS(微软推送通知服务)通知渠道的行为,这些渠道比APNS设备令牌或GCM注册ID更频繁地过期。

答案 1 :(得分:3)

快速说明,因为答案是2岁。 In this blogpost Azure声明:

  

请务必注意,默认情况下注册和安装不会过期。

我认为这会使过期字段混乱,但不再是问题。

更新

较旧的通知中心仍然存在此问题。您需要更新它们以将到期时间设置为无穷大instructions are found in this forum post。新的集线器会自动设置为无穷大。

答案 2 :(得分:0)

根据最新的通知中心文档,此90天限制已延长至生命周期,这意味着您无需在90天后重新注册设备。