Quickblox推送通知无法使用Firebase设备令牌

时间:2016-12-13 17:38:17

标签: android quickblox quickblox-android

我使用Quickblox在我的应用中聊天功能,GCM设置正确,并且功能齐全,还有Quickblox的推送通知。但现在google developer documentation强烈建议GCM用户迁移到FCM。迁移到FCM后,我注意到设备令牌ID与使用GCM时的格式不同。所以我现在面临的是我的所有其他推送通知除了 Quickblox推送通知之外还有其他功能,我认为这背后的原因是设备令牌标识符。有人遇到过这样的问题吗?请帮帮我。

1 个答案:

答案 0 :(得分:-1)

我不确定如何提供帮助。基本上,如果你没有,你需要迁移到FCM并迁移到3.2版本的Quickblox。我将列举主要步骤:

  1. 按照Google指南从GCM迁移到FCM。
  2. 集成自动推送订阅和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"));
    
  4. 我发现这是运行所需的最低代码。但是,如果你看一下Quickblox文档并理解他们的方法,那就更好了。

    我的印象是他们的文档并没有与他们的代码一致增长......这个问题可以打破平台:(

    https://quickblox.com/developers/SimpleSample-messages_users-android#Steps_to_setup_SDK_Settings

      

    请记住在Quickblox中插入FCM服务器密钥而不是旧版服务器密钥:Your App > Push Notifications > Settings