在苹果的文档中,您可以找到以下句子:
我的问题是:如果APNS总是提供相同的令牌,为什么我需要每次都进行注册?
我在某个地方读到一个令牌可能会因用户滑动iPhone或应用程序而更改。 这是唯一的情况吗?
谢谢!
因此,当我在我的应用程序中实现推送通知时,我必须注册设备,并按照该文档中所说的进行操作:每次用户启动我的应用程序都要进行注册。从APNS接收到的令牌始终对于给定的用户是相同的。应用程序应在每次启动时注册并向其提供程序提供当前令牌。 它调用registerForRemoteNotificationTypes:来启动注册过程。
我的问题是:如果APNS总是提供相同的令牌,为什么我需要每次都进行注册?
我在某个地方读到一个令牌可能会因用户滑动iPhone或应用程序而更改。 这是唯一的情况吗?
谢谢!
registerForRemoteNotifications
,而这个调用会向服务器发出请求[并同步一些东西(我猜测)]。 - meteorsregisterForRemoteNotifications
与设备上的推送通知服务进行通信,而不是您自己的服务器。这不一定涉及网络访问。您可以在启动应用程序之前将手机设置为飞行模式来测试此功能。如果我没记错的话,即使您当前处于离线状态,您仍将收到一个带有令牌的响应,因为设备在过去的某个时刻已经与苹果的服务器协商了其令牌是什么,而该令牌并不会因为您当前处于离线状态而改变。如果检测到新的令牌,您应该将其发送到您的服务器,并在无法立即发送时定期重试。 - MrCranky