Как проверить статус доставки сообщения Firebase, отправленного в приложение для Android?
Я тестирую Firebase JSON, чтобы проверить квитанции о доставке уведомления, отправленного в новостное приложение. Я могу успешно отправить сообщение в приложение Android без каких-либо проблем, и я получаю сообщение в своем приложении для Android. Тем не менее, я хочу знать, как и где я могу проверить, было ли уведомление успешно отправлено в приложение Android?
Как использовать message_id
и/или multicast_id
, который возвращается для получения статуса доставки уведомления? Я не могу найти примеры рабочего кода для проверки состояния доставки с помощью Firebase. Кто-нибудь имеет код JSON для запроса статуса доставки сообщения Firebase через message_id
и/или multicast_id
или другим способом? В документации Firebase не приводятся примеры того, как это сделать (или, может быть, я пропустил этот пример).
Пожалуйста, смотрите Firebase JSON ниже, чтобы отправить уведомление в новостное приложение Firebase. Любая помощь высоко ценится.
В заголовке я установил авторизацию 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"}]}
Ответы
Ответ 1
Подтверждение того, что @user7410521 сказал в разделе комментариев. В настоящее время нет доступного API для использования message_id
s/multicast_id
для получения сведений о статусе доставки отправленного сообщения, кроме использования Страница диагностики FCM. Также имейте в виду, что страница "Диагностика" доступна только тогда, когда приложение уже опубликовано (для тестирования Alpha или позже).
Я заметил, что вы включили параметр delivery_receipt_requested
в свою полезную нагрузку. Получение подтверждения сообщения должно быть достаточным для определения того, что устройство получило сообщение.
Ответ 2
Хотя API пока не существует, я мог бы узнать. Я попробовал работу. С серверной части PHP я отправляю сообщение FCM. Позвольте мне представить, как я справился с этим в PHP.
$fcm_return = fcm_message_send($message);
$fcm_return_JSON = json_decode($fcm_return, true);
echo $$fcm_return_JSON['success'];
Когда я отправляю сообщение на одно устройство, я сравниваю return с 1. На основании этого вы могли бы реализовать свою логику.