将FCM和GCM用于不同的API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将FCM和GCM用于不同的API相关的知识,希望对你有一定的参考价值。

是否可以在同一个应用程序中使用FCM和GCM但不同的API编号?

我的意思是清单中的这样的东西:

// if api >= 21 
<service
android:name=".MyFirebaseMessagingService">
.
.
</service>

// if api < 21 
<service
android:name=".MyGcmListenerService"
.
.
</service>
答案

不,根据this document gcm和fcm不能在同一应用中共存。

此外,gcm已被弃用了相当长的一段时间,肯定会在2019年4月关闭。所以我强烈建议迁移到fcm。使用链接指南,从gcm到fcm的迁移非常简单。

此外,gcm不适用于使用oreo或更高目标框架编译的应用程序。这是对后台服务的权限限制。但是使用Google最新的Playstore策略,如果您想将应用程序上传到Play商店,则必须至少在当前版本之前编译目标版本(非目标版本,非miversion!)。这也适用于现有应用的更新。

对于权限问题有一个hacky解决方法,但是gcm在几个月内被关闭,这是不值得的。

以上是关于将FCM和GCM用于不同的API的主要内容,如果未能解决你的问题,请参考以下文章

哪个版本的gcm服务器用于gcm -fcm迁移

GCM“升级”为FCM

一个 XMPP 连接用于多个 GCM/FCM 应用程序

从 web 上的 fcm 向现有 gcm 用户发送推送通知

使用 HTTP 和 XMPP 协议的 GCM/FCM 推送通知

当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生啥情况?