Push notification 是每个设备的注册ID吗?

Push notification 是每个设备的注册ID吗?,push-notification,azure-mobile-services,azure-notificationhub,Push Notification,Azure Mobile Services,Azure Notificationhub,我正在使用作为指南从后端向Azure Notification Hub注册。我的应用程序需要身份验证,但用户可以注销并使用其他帐户重新登录。注册ID是基于唯一设备还是基于用户和设备的组合?换句话说,我是否应该在每次注销时清除RegistrationId?当用户注销,以另一用户身份重新登录,然后以原始用户身份重新登录时,我们应该创建新的注册ID还是仍然使用原始ID呢?状态如下: 开发人员不应将客户端应用程序注销为注销或删除的机制 为了在用户之间切换,原因如下: 注册令牌与特定的登录令牌不关联 用

我正在使用作为指南从后端向Azure Notification Hub注册。我的应用程序需要身份验证,但用户可以注销并使用其他帐户重新登录。注册ID是基于唯一设备还是基于用户和设备的组合?换句话说,我是否应该在每次注销时清除RegistrationId?当用户注销,以另一用户身份重新登录,然后以原始用户身份重新登录时,我们应该创建新的注册ID还是仍然使用原始ID呢?

状态如下:

开发人员不应将客户端应用程序注销为注销或删除的机制 为了在用户之间切换,原因如下:

  • 注册令牌与特定的登录令牌不关联 用户。如果客户端应用程序注销然后重新注册,则该应用程序可以 接收相同的注册令牌或不同的注册令牌
  • 注销和重新注册可能需要五分钟才能完成 传播。在此期间,消息可能会由于以下原因而被拒绝: 未注册状态,消息可能发送到错误的用户
要确保消息发送到预期用户,请执行以下操作:

  • 应用服务器可以维护当前用户和应用程序之间的映射 注册令牌
  • 然后,客户端应用程序可以检查以确保 它接收到的消息与登录的用户匹配
这也适用于其他推送通知服务,例如iOS

推送通知服务注册标识单个设备上的特定应用

使用Azure Notification Hub,从技术上讲,您可以在单个设备上为特定应用注册多个Azure Notification Hub,甚至可以在登录和注销时注册和注销(仅在Azure Notification Hub上注册,而不是在特定于平台的推送通知系统上注册),但这很容易出错,有更好的方法:

  • 如果您希望能够接收推送通知,请尽快在Azure通知中心注册您的应用程序,并且仅当您希望停止接收推送通知时才取消注册。实际上,你可以在应用程序启动时注册,而不必注销
  • 如果用户登录,则在注册中添加带有用户ID(例如“user:123”)的标签,如果用户注销,则再次删除该标签
  • 这样,您就可以使用标记来寻址某个用户登录的设备,请参阅
中还介绍了如何修改标记