Как настроить Firebase Push-уведомление - PullRequest
0 голосов
/ 05 апреля 2019

Я нашел различные примеры того, как настроить сообщение json для push-уведомлений на firebase для android и ios.Но у меня есть проблема, что не все push-сообщения приходят в мои клиентские приложения.Я заметил, что на разных версиях Android это работает по-разному.Некоторые из них не получают никаких сообщений, некоторые из них без настроенной мелодии звонка, некоторые из них только с мелодией звонка по умолчанию, а некоторые работают нормально.На стороне клиента я думаю, что все должно быть хорошо.Для этого я использую формы ксамарина.Мое сообщение JSON выглядит следующим образом.Я прочитал сейчас, что я должен удалить тег уведомления, но он работает тогда для более старых андроидов?

 {
"to": "/topics/MYTOPIC",
"notification": {
    "title": null,
    "body": "test",
    "sound": "de900",
    "content_available": true
},
"priority": "high",
"data": {
    "missionGuid": "",
    "eventGuid": "",
    "messageGuid": "e3ab4c34-125b-4ea7-abf7-3ee8fe1453ce",
    "ric": "199900",
    "title": null,
    "body": "test",
    "priority": "high",
    "sound": "de900"
},
"android": {
    "priority": "high",
    "notification": {
        "title": null,
        "body": "test",
        "sound": "de900",
        "content_available": true
    },
    "data": {
        "missionGuid": "",
        "eventGuid": "",
        "messageGuid": "e3ab4c34-125b-4ea7-abf7-3ee8fe1453ce",
        "ric": "199900",
        "title": null,
        "body": "test",
        "priority": "high",
        "sound": "de900"
    },
},
"apns": {
    "headers": {
        "apns-priority": 10
    },
    "payload": {
        "aps": {
            "alert": {
                "title": null,
                "body": "test"
            },
            "sound": "de900"
        }
    }
}

}

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Установка "priority" и "sound" в полезной нагрузке notification мне никогда не помогала.Поведение это было очень странным.Я решил использовать только Data полезную нагрузку и обрабатывать оба background/foreground сообщения внутри метода onMessageReceived и показывать ваши собственные уведомления.

После этого я смог показать уведомления с самыми высокими priority, pop-ups и звуком.

Подробнее о сообщениях данных Firebase здесь

0 голосов
/ 05 апреля 2019

Насколько я знаю, установка "priority": "high" - это единственное, что вы можете сделать, чтобы уведомления доставлялись немедленно. Если они все еще не могут получить что-то, возможно, это что-то на стороне клиента.

Для мелодии звонка, предположительно, "sound": "WHATEVER" должен указывать звук, но опять же, из-за различных OEM-производителей и системных вариаций, было бы более логично просто отправить сообщение с данными и самостоятельно отправить уведомление при получать, но вы должны знать, что даже это, вероятно, не гарантирует ни доставки, ни мелодии звонка.

Тот факт, что на некоторых устройствах это работает нормально (надеюсь, большинство из них), указывает на то, что вы, вероятно, правильно настроили конфигурацию, и лучшее, что вы можете сделать, - это обработать уведомление самостоятельно и, возможно, иметь особые случаи для конкретные устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...