我的Android应用程序收到Firebase通知。而且我需要本地化此通知,具体取决于客户端而非服务器端的应用程序语言。
如果应用程序处于前台,我将使用<input type="text" value="{{user.name}}" readonly>
// In this case you can get post values
<input type="text" value="{{user.name}}" disabled>
// In this case you can not get post values
中的onMessageReceived()
并推送我自己的本地化通知。但是,如果应用程序在后台FirebaseMessagingService
中不会被调用。
在这种情况下,我使用自己的扩展为onMessageReceived()
的类。 BroadcastReceiver
方法捕获通知,我将其本地化并推送。一切顺利,但最后我得到了2个推送通知:我自己的本地化版本和Firebase。
我如何摆脱此Firebase通知,而只获得我自己的通知?
onReceive(Context context, Intent intent)
答案 0 :(得分:0)
您应该真正使用来自服务器的数据通知。普通消息通知无法实现您想要的这种行为。在此处查看文档:{{3}}
因此您从服务器到Firebase的请求应如下所示:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
代替:
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}