将FCM和GCM用于不同的API

时间:2018-08-31 17:08:19

标签: android firebase google-cloud-messaging

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

我的意思是在清单中这样:

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

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

1 个答案:

答案 0 :(得分:1)

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

此外,gcm已过时了很长一段时间,并且肯定会在2019年4月关闭。因此,我强烈建议迁移到fcm。使用链接的指南,可以很容易地从gcm迁移到fcm。

此外,gcm在使用oreo或更高版本的目标框架编译的应用程序上不起作用。这是后台服务的权限限制。但是,根据Google最新的Playstore政策,如果您要将应用程序上载到Playstore,则必须至少编译目标版本(目标版本,不可转换!)之前的最新API版本。这也适用于现有应用程序的更新。

存在一种针对权限问题的解决方法,但是随着gcm在几个月后被关闭,这是不值得的。