我想在Android应用中从gcm迁移到fcm。 我是否需要从gcm向Android应用程序的旧用户发送推送通知,或者我可以从服务器通过新的fcm发送它?
FCM工作正常我可以通过fcm在我的设备上接收推送通知,但我无法从FCM控制台向旧的GCM注册令牌发送推送通知。
以下是我已添加到我的清单文件中的代码,以供fcm工作 -
<uses-permission android:name="com.google.android.z.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application>
<service
android:name=".view.activity.MyFcmListenerService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".view.activity.MyInstanceIDListenerService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
</application>
答案 0 :(得分:1)
我认为您可以通过FCM发送。要了解有关FCM的更多信息,请查看frequently asked questions about GCM to FCM的文档。此外,如果您开始从GCM迁移到FCM,您可以按照本教程进行操作:
另外,有关详细信息,请查看此SO question。
答案 1 :(得分:1)
我搜索了很多但找不到满意的答案。所以,我应用了这个修复程序。
我正在继续使用我用来向GCM用户发送推送通知的旧方法,对于通过FCM注册的用户,我可以通过FCM或Firebase通知控制台向他们发送推送通知。
<强> P.S。您无法通过FCM向GCM注册令牌发送推送通知。
答案 2 :(得分:0)
我在同样的情况下完成了POC,我观察到的是下面的
&#34;尝试时,客户端无需更改代码 将GCM迁移到FCM,我已经在Android和iOS中进行了测试 工作正常。仅更改需要在FCM中进行正确配置 控制台(即提供正确的包ID和项目ID(senderid))&#34;
答案 3 :(得分:-1)
实际上它确实有用FCM和GCM是同一个引擎盖。 GCM的令牌也适用于FCM。
通过GoogleCloudMessaging.register()或。检索GCM令牌 InstanceID.getToken()将继续在FCM中工作而不需要任何操作 修改或续订。
您需要做的就是按照here更改客户端实施。并将服务器端点更新为fcm.googleapis.com/fcm/