google-cloud-messaging - 在 GCM 弃用后,我能否获得新的 GCM 令牌?
问题描述
网上有很多令人困惑的答案,希望有人能说清楚,我有一个使用GCM的应用程序。
GCM 到 FCM常见问题解答指出:
您的 GCM 和 FCM 注册令牌可以互换
请注意,客户端 SDK 和 GCM 令牌将继续无限期地工作。
已经很清楚旧的 GCM 令牌在 GCM 服务弃用后仍然有效。
但是,尚不清楚我的 GCM 应用程序的新安装是否仍然能够生成新的 GCM 令牌。
“client SDKs will continue to work indefinitely”,是指通知接收部分继续工作,还是生成新令牌部分也继续工作?
欢迎官方 Google 员工的任何澄清,谢谢
解决方案
我从Frank 的回答中了解到,来自 GCM 的现有令牌将继续工作,但使用 GCM 的应用程序的新安装可能不再生成令牌。
但从四月中旬开始:
- 您将无法再在较新的 SDK/Google Play 服务上使用旧的客户端 API 编译代码
- 您将无法再调用 GCM REST API 来发送消息
- 您现有的使用 GCM 的应用程序的新安装可能无法获得令牌。
根据 Diego 的说法,我还找到了这个线程:
GCM sdk 和 FCM sdk 都使用 Google Play 服务来创建令牌和接收消息。Google Play 服务并未被弃用。GCM sdk 已被弃用,取而代之的是 FCM sdk。在这种情况下,不推荐使用的意思是:
- 已经发布的 GCM sdk 版本将继续工作
- GCM sdk 将不会收到更新、错误修正或支持
- 如果未来版本的 Android 将引入重大更改,则 GCM sdk 将不会收到必要的更新,因此将无法在新设备上运行。
在服务器端,不推荐使用 GCM 端点,取而代之的是 FCM 端点。
- FCM 端点支持 GCM 令牌
- 我们计划在未来禁用 GCM 端点
推荐阅读
- applescript - 将新文件添加到 iTunes 播放列表的 Applescript 文件夹操作
- python - 我如何从 tweepy 的人那里获得最新的推文?
- reactjs - React 的 useMemo 方法导致无效的钩子调用
- java - Micronaut 循环依赖
- docker - /app/run.sh: line 7: java: command not found while running docker image
- php - 动态方法名称
- java - 警报对话框不显示
- sql - 不允许从数据类型“INT”到“VARCHAR”的隐式转换
- java - Spring Boot Oauth2 Apache Kafka - loadUserByUsername 与 Kafka 主题
- .net-core - 在 WebApi 中更新子实体的最佳做法是什么?