如何配置Firebase推送通知消息

时间:2019-04-05 08:01:35

标签: android firebase xamarin.forms firebase-cloud-messaging

我发现了各种示例,这些示例说明了如何在android和ios的firebase上为推送通知配置消息json。但是我有一个问题,不是所有的推送消息都到达我的客户端应用程序。我注意到,在不同的android版本上,它以不同的方式工作。其中一些没有收到任何消息,有些没有配置的铃声,有些仅具有默认铃声,有些则工作正常。在客户端,我认为每件事都应该没事。我正在使用xamarin形式。我的消息json看起来像这样。我现在已经读过,我应该删除通知标签,但是它对于较旧的Android有用吗?

 {
"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 :(得分:0)

据我所知,设置"priority": "high"是确保通知立即发送的唯一方法。如果他们仍然收不到东西,那可能是客户方面的事情。

对于铃声,应该假设"sound": "WHATEVER"用于指定声音,但是同样,由于OEM和系统的不同,仅发送数据消息并发出通知可能更加一致您自己在接收时会收到通知,但您应该知道,即使那样也可能无法保证传送或铃声。

在某些设备上可以正常工作(希望它们中的大多数都可以),这表明您可能已经对配置进行了正确的设置,并且最好的办法是自己处理通知,并可能有特殊情况特定设备。

答案 1 :(得分:0)

"priority"有效负载中设置"sound"notification并没有帮助我。这种行为非常奇怪。 我决定只使用Data负载,并在background/foreground方法内处理两条onMessageReceived消息,并显示您的自定义通知。

此后,我可以显示最高prioritypop-ups和声音的通知。

详细了解Firebase数据消息here