我们最近在像这样的 Urban Airship 库:
AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this);
options.gcmSender = "123456789101";
有许多 Urban Airship 的现有注册是使用旧的 gcmSender
值注册的。随着这一变化,所有发送到现有设备的推送通知都不再有效。
这个 StackOverflow answer 表示这是因为注册与特定发件人相关联;但是我看不到任何方法可以删除或强制重新注册 Urban Airship 上的设备。
有没有人遇到过这个?最终的解决方法或修复是什么?
最佳答案
我不确定您的应用程序是否使用 Google API 注册到 GCM(GoogleCloudMessaging.register 或 GCMRegistrar.register)或者是否有一些 urbanairship
API 处理注册。
在任何一种情况下,谷歌都建议在每次更新应用程序时将设备重新注册到 GCM,在更改发件人的情况下,将导致为设备分配一个新的注册 ID。在他们的演示中,他们通过将当前应用程序版本与存储的版本(每当应用程序获得注册 ID 时存储)进行比较来检测它。由于您更改了发件人 ID,因此您必须创建新版本的应用,这会强制应用重新注册到 GCM(如果您添加此建议逻辑)。
可以看到谷歌建议的注册码here .
关于android - 新的 gcmSender 值停止所有推送通知工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18870704/