首页 文章

在android上从gcm迁移到fcm

提问于
浏览
7

我想在Android应用程序中从gcm迁移到fcm . 我是否需要从gcm向Android应用程序的旧用户发送推送通知,或者我可以从服务器通过新的fcm发送它?

FCM is working fine I'm able to receive push notifications on my device through fcm but I'm not able to send push notifications to old GCM registration tokens from FCM console.

下面是我添加到我的清单文件中的代码,用于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 回答

  • 1

    我想你可以通过FCM发送它 . 要了解有关FCM的更多信息,请查看frequently asked questions about GCM to FCM的文档 . 此外,如果您开始从GCM迁移到FCM,您可以按照以下教程进行操作:

    另外,有关详细信息,请查看SO question .

  • 0

    我搜索了很多,但找不到满意的答案 . 所以,我应用了这个修复程序 .

    我继续使用我用来向GCM用户发送推送通知的旧方法,对于通过FCM注册的用户,我可以通过FCM或Firebase Notification控制台向他们发送推送通知 .

    P.S. You can't send push notification to GCM registration tokens through FCM.

  • -1

    我已经在同样的场景中完成了POC,我观察到的是下面给出的

    “当您尝试将GCM迁移到FCM时,客户端不需要更改代码,我已经在Android和iOS中进行了测试,它工作正常 . 只需更改需要在FCM控制台中进行正确配置(即提供正确的捆绑ID和project id(senderid))“

  • 1

    实际上它确实有效FCM和GCM是同一个引擎盖 . GCM的令牌也适用于FCM .

    通过GoogleCloudMessaging.register()或InstanceID.getToken()检索的GCM令牌将继续在FCM中工作,无需任何修改或续订 .

    您需要做的就是更改客户端实现,如here所述 . 并将服务器 endpoints 更新为 fcm.googleapis.com/fcm/

相关问题