Firebase云消息未传递到Wear操作系统设备



我在接收Firebase推送消息到运行Wear OS的手表时遇到问题。当手表通过蓝牙(无Wi-fi连接(与智能手机配对时,就会发生这种情况。如果手表上的Wi-fi处于活动状态,那么信息传递也很好。

我正在使用FCM端点通过POST请求发送数据消息:https://fcm.googleapis.com/fcm/send

消息有效载荷本身看起来是这样的:

{
"priority" : "high",
"to" : "/topics/myTopic",
"data" : {
"key1" : "val1",
"key2" : "val2"
"key3" : "val3"
}
}

我像往常一样注册了服务:

<service android:name=".data.fcm.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

像往常一样倾听信息:

override fun onMessageReceived(remoteMessage: RemoteMessage?) {
// Check whether message contains a data payload.
if (remoteMessage?.data!!.isNotEmpty()) {
Timber.d("Message data payload: ${remoteMessage.data}")
....
}
}
}

我应该注意的是,Firebase数据库在手表上运行得很好,它只通过蓝牙连接到手机。但FCM没有。

任何想法都将不胜感激。

这可能是由于FCM在配对手机上使用的端口被阻塞所致。如果手机是通过Wifi连接的,并且FCM端口(5228、5229、5230(在那里被屏蔽,消息将无法传递。https://firebase.google.com/docs/cloud-messaging/concept-options#ports_and_your_firewall

相关内容

  • 没有找到相关文章

最新更新