Firebase 云消息未在响应中收到 multicast_id
Posted
技术标签:
【中文标题】Firebase 云消息未在响应中收到 multicast_id【英文标题】:Firebase Cloud Message not multicast_id received in response 【发布时间】:2017-08-24 07:48:34 【问题描述】:我使用 php 在我的服务器中使用此功能将通知发送到 FCM:
function sendGCM($ch1,$ch2, $message)
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array (
'to' => $ch1
,
'data' => array (
"message" => $message
)
);
$fields = json_encode ( $fields );
$headers = array (
'Authorization: key=' . $appID,
'Content-Type: application/json'
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
$result = curl_exec ( $ch );
curl_close ( $ch );
echo $result;
回复是这个"message_id":9191006033691432523
。在文档中,https://firebase.google.com/docs/cloud-messaging/http-server-refmulticast_id、success、failure 参数在响应中是必需的,但是。
这是什么原因?
【问题讨论】:
multicast id in firebase cloud messaging service的可能重复 【参考方案1】:您正在向$ch1
主题指定的消息发送消息,如果我理解没问题,而是通过它们的registrationIds 发送给多个设备。
所以你收到了Topic message HTTP response body (JSON)(表 6) 而不是 Downstream HTTP 消息
【讨论】:
【参考方案2】:根据我从 FCM 了解到的情况,您的问题是,只有当您向唯一设备发送通知而不是主题通知时,您才会在响应中获得 multicast_id。
【讨论】:
以上是关于Firebase 云消息未在响应中收到 multicast_id的主要内容,如果未能解决你的问题,请参考以下文章
带有 Firebase 云消息传递的 Flutter 2.0:onMessage 未在 Android 上调用
Firebase 云消息传递未在 iOS 14 上提供推送通知