android - Android APP 从 GCM 迁移到 FCM。旧 GCM 令牌不起作用
问题描述
谷歌的文件说:
通过 GoogleCloudMessaging.register() 或 InstanceID.getToken() 检索到的 GCM 令牌将继续在 FCM 中工作,无需任何修改或更新。
但是当我将我的 APP 更新为 FCM 时。存储在我的服务器中的旧 GCM 令牌不再起作用。当我尝试发送推送消息时,Google 消息服务器响应错误消息,未注册。有没有人遇到同样的问题?
解决方案
基于GCM 和 FCM FAQ的文档:
您现有的 GCM 令牌和令牌处理是否仍然有效?
您的GCM和FCM注册令牌是可以互换的;您可以通过 FCM HTTP 服务器 API 发送到现有的 GCM 令牌。对于 GCM 和 FCM 令牌处理,请记住:
- 如果您存储并发送到特定令牌,请务必实现令牌刷新方法以确保您的令牌始终是最新的
- iOS 开发者应该避免调用
.getToken(authorizedEntity,scope)
,除非需要启用多个发送者。改为使用FirebaseInstanceId.getInstance().getToken()
。
推荐阅读
- ruby-on-rails - 无法在 Ruby on Rails 5 中显示数据库中的数据
- android - ExifInterface 返回错误的方向(因为它存储了多个冲突的属性)
- python-3.6 - 尽管文件存在,但在 Python 项目中获取 FileNotFoundError
- maven - web-inf 中的查看文件夹不包含在输出中
- apache-storm - Storm UI 因“正在加载拓扑摘要”而挂起
- angular - 如何在ionic3中调用函数内部的函数?
- jersey-2.0 - 授权在招摇球衣中不起作用?
- android - 由于线程“main” java.util.zip.ZipException 中的异常,无法运行 react-native 应用程序:打开 zip 文件时出错
- mongodb - expressjs 不允许变量保留范围,即使它们不是本地的
- hibernate - JPA/Hibernate:在不存在的序列/关系上选择 currval