如何使用消息ID跟踪FCM推送通知是否已发送

时间:2016-09-21 12:19:36

标签: php android firebase push-notification google-cloud-messaging

我正在使用PHP Restful服务使用Firebase云消息传递(FCM)向Android设备发送推送通知。

使用以下网址,我可以成功将消息发布到FCM并获取相应的消息ID。

https://gcm-http.googleapis.com/gcm/send

但是如何使用上述消息ID知道消息是否已传送到设备。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

试试这个:在php方面,你会得到来自fcm的回复

{
    "multicast_id":8042731220476088762,
    "success":1,
    "failu‌‌​​re":0,
    "canonical_‌​i‌​ds":0,
    "results":[‌​{"message_id"‌​:"0:‌​1474456734183‌​863%97d‌​a1d69f9fd7e‌​cd"}]
} 

如果成功为1,则将消息传递给该ID

答案 1 :(得分:0)

以下是一个简单的JSON消息成功发送给响应中没有规范ID的收件人的情况:

{ "multicast_id": 108,
  "success": 1,
  "failure": 0,
  "canonical_ids": 0,
  "results": [
    { "message_id": "1:08" }
  ]
}

以下是6个收件人的JSON结果(分别为ID 4,8,15,16,23和42),成功处理了3条消息,返回了1个规范注册令牌,以及3个错误:

{ "multicast_id": 216,
  "success": 3,
  "failure": 3,
  "canonical_ids": 1,
  "results": [
    { "message_id": "1:0408" },
    { "error": "Unavailable" },
    { "error": "InvalidRegistration" },
    { "message_id": "1:1516" },
    { "message_id": "1:2342", "registration_id": "32" },
    { "error": "NotRegistered"}
  ]
}

成功将表明请求已成功处理。它可能无法准确传达消息。

要完全理解,请read