我在我的应用程序中使用 Quickblox 进行聊天功能,GCM 已正确设置,并且与 Quickblox 的推送通知一起功能齐全。但是现在google开发者文档强烈建议GCM用户应该迁移到FCM。迁移到 FCM 后,我注意到设备令牌 ID 的格式与我在使用 GCM 时获得的格式不同。所以我现在面临的是除Quickblox 推送通知之外的所有其他推送通知都在工作,我认为这背后的原因是设备令牌标识符。有没有人遇到过这样的问题?请在这里帮助我。
问问题
863 次
1 回答
-1
我不确定如何提供帮助。基本上,你需要迁移到 FCM,如果你没有迁移到 Quickblox 的 3.2 版本。我将列举主要步骤:
- 按照 Google 指南从 GCM 迁移到 FCM。
集成自动推送订阅和 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>
通过以下方式接收事件:
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/SimpleSample-messages_users-android#Steps_to_setup_SDK_Settings。
请记住在 Quickblox: 中插入您的 FCM 服务器密钥,而不是旧服务器密钥
Your App > Push Notifications > Settings
。
于 2017-03-22T23:43:39.200 回答