我正在使用cordova开发应用程序。对于推送通知,我是整合urbanairship。设备已成功注册,但设备令牌的状态变为无效。
我已经创建了开发和生产配置文件,但无法将设备注册为活动状态。
任何人都可以帮我解决问题吗?
答案 0 :(得分:1)
有些时候在开发期间或者您已经将应用程序启动到应用程序商店,并且您在UA应用程序中看到了令牌或非活动令牌的消息。当发生以下三种情况之一时,设备令牌处于非活动状态:
Apple告诉我们,该应用程序已通过反馈服务卸载,我们会定期检查该服务。
Apple在收到服务器上的通知时拒绝了您应用的设备令牌
对设备令牌进行显式删除调用,将其标记为非活动状态,并清除别名和任何关联的标记。
- 醇>
如果在安装iOS 6时创建了设备令牌,并且设备已更新到iOS 7,则最终旧设备令牌 被Apple拒绝,因为该设备现在有一个新的,应用程序特定的iOS 7 设备令牌。
在任何情况下,应用程序都应该正确地期望和处理非活动设备令牌。执行以下操作之一:
每次打开应用程序时注册设备令牌,
- 醇>
定期使用反馈API,在您自己的数据库中存储未激活的设备令牌,并在设备令牌成为时发送注册 再次活跃
谢谢。希望它会对你有所帮助。
答案 1 :(得分:0)
如果设备令牌立即处于非活动状态,那么这表明您已经混合了开发和生产环境。请记住,生产证书需要与生产应用程序一致,从Apple一直到Urban Airship。同样与发展。如果开发设备令牌尝试注册为生产应用程序,Apple将拒绝它并且Urban Airship将其标记为非活动状态。
这是另一篇关于如何创建适当类型的应用程序的UA支持文章: https://support.urbanairship.com/entries/69534443-Urban-Airship-Development-vs-Production-Apps