我只是想确认每次应用程序加载时都会调用“didRegisterForRemoteNotificationsWithDeviceToken”,而我的PHP服务器或应用程序需要处理是否重新提交到我的数据库中存储?还是有什么我想念的?
由于 詹姆斯
答案 0 :(得分:17)
首先,您不打算直接调用此方法。相反,您应该在每次启动应用时调用registerForRemoteNotificationTypes:
,然后再拨打application:didRegisterForRemoteNotificationsWithDeviceToken:
您必须实施的应用。
其次,是的,您应该每次都将令牌重新提交给您的服务器。来自文档:
每次启动应用程序时,通过请求设备令牌并将其传递给提供程序,可以帮助确保提供程序具有设备的当前令牌。如果用户将备份还原到创建备份的设备之外的设备(例如,用户将数据迁移到新设备),则他或她必须至少启动一次应用程序才能再次接收通知。如果用户将备份数据还原到新设备或重新安装操作系统,则设备令牌会更改。此外,永远不要缓存设备令牌并将其提供给您的提供商;始终在需要时从系统获取令牌。如果您的应用程序先前已注册,则调用registerForRemoteNotificationTypes:iOS会立即将设备令牌传递给代理,而不会产生额外的开销。