android - 新的 gcmSender 值停止所有推送通知工作

标签 android push-notification google-cloud-messaging urbanairship.com

我们最近在像这样的 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/

相关文章:

android - 我可以使用 zxing intents 修改相机预览屏幕吗?

java - Android:截取 View 的屏幕截图,保存图像并检索它

android - 如何使用通知图标修复小米特定的 RemoteServiceException?

android - 处理后台通知

android - GCM和android异步异常

Android:可滚动(位图)屏幕

android - 应用程序第一次升级 sqlite 数据库时崩溃

java - Backendless问题,如何防止推送通知显示

android - 谷歌云消息 : Can you send to a select group of users?

ios - 如何在锁屏通知中心显示之前拦截 iOS 推送通知?