设备令牌是否会在Apple推送通知中发生变化

时间:2015-01-27 05:09:21

标签: ios iphone push-notification

我正在开发一个iOS应用程序,其中我实现了推送通知。 一切都很好。 但只是想问一下我的Apple设备的设备令牌是否会改变?

我们还需要互联网连接来生成设备令牌。

谢谢

3 个答案:

答案 0 :(得分:5)

我的Apple设备的设备令牌将永远改变

- 是的。如果将备份数据还原到新设备或重新安装操作系统,则设备令牌会更改。所以我的建议是用令牌

更新服务器

我们是否需要互联网连接来生成设备令牌

- 据我所知,是的。注册用户时,请调用推送通知的注册方法。成功注册时调用委托方法 -

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

表示您已成功注册推送通知或其调用失败 -

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error

表示无法注册通知。

您可以通过关闭网络并运行您的应用程序来检查它。

答案 1 :(得分:2)

根据Apple文档,答案是肯定的:

  

此阶段信令的形式确保仅生成APN   它后来会尊重的标记,它可以保证一个   设备传递给它的令牌与之前的令牌相同   为该特定设备配置 - 仅适用于该设备。

     

如果用户将备份数据还原到新设备或重新安装   操作系统,设备令牌发生变化。

答案 2 :(得分:0)

来自apple docs -

设备令牌是您在特定设备上向应用发送推送通知的关键。设备令牌可以更改,因此您的应用程序需要在每次启动时重新注册,并将收到的令牌传递回您的服务器。如果您无法更新设备令牌,则远程通知可能无法进入用户的设备。

当用户将备份数据还原到新设备或计算机或重新安装操作系统时,设备令牌始终会更改。将数据迁移到新设备或计算机时,用户必须先启动您的应用,然后才能将远程通知发送到该设备。

永远不要缓存设备令牌;始终在需要时从系统获取令牌。如果您的应用先前已注册远程通知,则再次调用 registerForRemoteNotifications 方法不会产生任何额外开销,iOS会立即将现有设备令牌返回给您的应用代理。此外,iOS会在设备令牌更改时调用您的委托方法,而不仅仅是响应您的应用注册或重新注册。

了解更多APNS Doc