首页 文章

如何检查发送到Android应用程序的Firebase消息的发送状态? [重复]

提问于
浏览
21

这个问题在这里已有答案:

我正在测试Firebase JSON以检查发送到新闻应用程序的通知的送达回执 . 我可以成功地将消息发送到Android应用程序而没有任何问题,我在我的Android应用程序上收到消息 . 但是,我想知道如何以及在哪里可以检查通知是否已成功发送到Android应用程序?

如何使用返回的 message_id 和/或 multicast_id 来获取通知的传递状态?我找不到使用Firebase检查交付状态的工作代码示例 . 是否有人使用JSON代码通过 message_id 和/或 multicast_id 或其他方式查询Firebase消息的传递状态? Firebase文档没有提供有关如何执行此操作的示例(或者我可能错过了示例) .

请参阅下面用于向Firebase新闻应用发送通知的Firebase JSON . 任何人的帮助都非常感谢 .

在 Headers 中我设置了授权 key=firebase_server_key ,内容类型设置为 application/json

{
    "to" : "token received from firebase",
    "notification" : {
      "body" : "test",
      "title" : "Alert",
      "icon" : "myicon",
      "delivery_receipt_requested": true
    }
  }

邮递员的输出:

{"multicast_id":7845213569874521,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:4853214789631%31bd1c9631bd1c96"}]}

2 回答

  • 7

    更新:

    The Diagnostics Tool has been removed since Nov. 30, 2017

    您无法再在Play Console中访问FCM诊断数据 .


    确认@ user7410521在评论部分中说了什么 . 除了使用FCM Diagnostics Page之外,目前没有可用的API来使用 message_id s / multicast_id 来检索所发送消息的传递状态的详细信息 . 还要记住,“诊断”页面仅在应用程序已发布时可用(对于Alpha测试或更高版本) .

    我注意到您在有效负载中包含了delivery_receipt_requested参数 . 接收消息确认应足以确定设备是否收到消息 .

  • -1

    虽然目前还没有API,但我也能找到答案 . 我尝试了一个工作方式 . 从服务器端PHP我发送FCM消息 . 让我介绍一下我是如何用PHP处理的 .

    $fcm_return = fcm_message_send($message);
    $fcm_return_JSON = json_decode($fcm_return, true);
    echo $$fcm_return_JSON['success'];
    

    当我向一个设备发送消息时,我将返回与1进行比较 . 基于此,您可以进一步实现您的逻辑 .

相关问题