QuickBlox推送通知不使用Firebase设备令牌



我正在使用QuickBlox在我的应用程序中聊天,GCM已正确设置,并且它功能齐全,并随着QuickBlox的推送通知。但是现在,Google开发人员文档强烈建议GCM用户应迁移到FCM。迁移到FCM后,我注意到设备令牌ID的格式与使用GCM时所获得的格式不同。因此,我现在面对的是我所有的所有其他推送通知都可以正常工作,而 QuickBlox推动通知,我认为此背后的原因是设备令牌标识符。有人面临这个问题吗?请在这里帮助我。

我不确定如何准确提供帮助。基本上,您需要迁移到FCM并迁移到3.2版的QuickBlox,如果您不这样做。我将列举主要步骤:

  1. 遵循Google指南从GCM迁移到FCM。
  2. 集成了自动PUSH订阅和FCM服务。在清单中插入:

    <meta-data android:name="com.quickblox.messages.TYPE" android:value="FCM" />
    <meta-data android:name="com.quickblox.messages.SENDER_ID" android:value="@string/sender_id" />
    <meta-data android:name="com.quickblox.messages.QB_ENVIRONMENT" android:value="DEVELOPMENT" />
    <service
       android:name="com.quickblox.messages.services.fcm.QBFcmPushListenerService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
  3. 接收类似的事件:

        private BroadcastReceiver pushBroadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String message = intent.getStringExtra(“message”);
                String from = intent.getStringExtra("from");
                Log.i(TAG, "Receiving message: " + message + ", from " + from);
            }
        };
        LocalBroadcastManager.getInstance(this).registerReceiver(pushBroadcastReceiver,
                new IntentFilter("new-push-event"));
    

我发现这是运行所需的最低代码。但是,如果您看一下QuickBlox文档并了解他们的方法。

我给人的印象是他们的文档并不与他们的代码保持一致...此问题可能会破坏平台:(

https://quickblox.com/developers/simplesame-messages_users-android#steps_to_setup_sdk_settings。

记住插入您的FCM服务器密钥,而不是QuickBlox中的旧服务器密钥: Your App > Push Notifications > Settings

相关内容

  • 没有找到相关文章

最新更新