时间:2016-06-24 17:48:11

标签: android firebase google-cloud-messaging firebase-cloud-messaging

我想在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>

4 个答案:

答案 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/