是否可以在同一应用中使用FCM和GCM,但使用不同的API号?
我的意思是在清单中这样:
// if api >= 21
<service
android:name=".MyFirebaseMessagingService">
.
.
</service>
// if api < 21
<service
android:name=".MyGcmListenerService"
.
.
</service>
答案 0 :(得分:1)
否,根据this document,gcm和fcm不能在同一应用程序中共存。
此外,gcm已过时了很长一段时间,并且肯定会在2019年4月关闭。因此,我强烈建议迁移到fcm。使用链接的指南,可以很容易地从gcm迁移到fcm。
此外,gcm在使用oreo或更高版本的目标框架编译的应用程序上不起作用。这是后台服务的权限限制。但是,根据Google最新的Playstore政策,如果您要将应用程序上载到Playstore,则必须至少编译目标版本(目标版本,不可转换!)之前的最新API版本。这也适用于现有应用程序的更新。
存在一种针对权限问题的解决方法,但是随着gcm在几个月后被关闭,这是不值得的。