TL; DR : в облачном сообщении Firebase значок моего приложения не отображается в уведомлении " заголовок " только на устройствах Android 9+. https://developer.android.com/guide/topics/ui/notifiers/notifications#Heads -up
Более длинная версия:
Когда я отправляю облачное сообщение напрямую из Firebase или любым клиентом отдыха на https://fcm.googleapis.com/fcm/send в конечной точке все выглядит хорошо, сообщение отображается на экране с заголовком, описанием и значком, устройство издает звук, через некоторое время оно исчезает, но остается в панели уведомлений и в ящике уведомлений.
Все работает нормально пока сообщение не будет доставлено на устройство, которое работает на Android 10 или 9 (но не на всех из них). Панель уведомлений и панель уведомлений работают нормально, а само сообщение выглядит точно так же, как в более старых Android версиях. НО хедз-ап пропускает иконку моего приложения. До сих пор я не отправлял никакие «иконки» с полезными данными в Firebase, но даже если я установил свойство «icon» с URL-адресом для моей иконки, он все равно не появляется в заголовке. Я ввел тот же URL в свойство image, а затем изображение появляется в заголовке, но я считаю, что это не то свойство, которое следует использовать для отображения значка приложения в уведомлении.
Кто-нибудь заметил такую же проблему? Я попытался просмотреть документацию Google Android - но она выглядит устаревшей и заканчивается на Android 8. Я попробовал документацию Firebase, но в ней говорится, что свойство "icon" является необязательным (вот почему я не прикрепил его ).
Я тестировал уведомления по адресу:
- Android устройство: 5.1 (работает), 7 (работает), 8.1 (работает), 9 ( работает! ), еще 9 ( не работает ), 10 (не работает)
- эмулятор android: 8.1 (работает), 9 (не работает), 10 (не работает).
Полезная нагрузка всего лишь:
{
"to": "(...)",
"notification": {
"title": "Push from RestClient",
"body": "Notification body"
},
"data": {}
}
Конечно, я добавил требуемый Firebase для default_notification_icon, цвета и канала. Это не решение здесь.