Apple推送通知提供程序的设备令牌

Sun*_*day 4 ssl-certificate apple-push-notifications devicetoken

如果我是多个 iOS应用的Apple推送通知"提供商",我可以为多个应用使用相同的设备令牌吗?我知道我需要为每个应用程序提供唯一的SSL证书.但是我对设备令牌感到困惑.

示例:我有两个应用程序A和B.我想为这两个应用程序提供推送通知.假设我从安装应用程序A的用户收集设备令牌T.假设我为这两个应用程序提供了唯一的SSL证书.当同一个用户安装应用B时,我可以在为应用B提供推送通知时重新使用令牌T吗?

更多信息:在重新阅读Apple的文档后,它仍然不清楚.特别是这一段似乎意味着可以重用设备令牌:

提供商发送给APN以便传送到设备的每个通知都必须附带从该设备上的应用程序获得的设备令牌.APN使用令牌密钥解密令牌,从而确保通知有效.然后,它使用设备令牌中包含的设备ID来确定通知的目标设备.

注意:听起来像每个应用程序的提供商SSL证书中包含的"topic"/ bundleID会将通知定向到设备上的特定应用程序.因此,设备令牌对于设备而言是独一无二的(而不是设备上的应用程序)似乎是合理的.

mak*_*d84 7

对于两个应用程序A和B,设备令牌对于沙箱ssl证书将是相同的,但它将更改为分发配置文件(即,使用生产ssl证书时)

此外,升级操作系统时,设备令牌可能会更改

我也开发了一个"提供者",我更喜欢每个应用程序存储设备令牌.ie(APP_A => Token1; APP_B => Token1)每次设备向提供者发送注册请求时,检查表中是否存在APP和设备令牌的组合,如果没有进行新的插入.

这样,即使设备令牌因某种原因发生更改,您也不必担心.

  • 你可以这样做..但这不是理想的做法.考虑我是一个用户并安装应用程序A,当我第一次启动应用程序时,我会得到一个提示,询问我是否要允许该应用程序的推送通知.如果我选择"不允许",那么您的服务器将不会收到令牌.因此,您不应该依赖一个应用程序来发送令牌.您的每个应用程序,即使它们位于同一设备上,也应使用提供程序服务注册自己的令牌. (2认同)