Android 当后台firebase通知中的应用程序具有有效负载通知时,则远程消息方法调用与否
我将尝试获取数据时,应用程序在后台这样的格式Android 当后台firebase通知中的应用程序具有有效负载通知时,则远程消息方法调用与否,android,firebase,firebase-notifications,Android,Firebase,Firebase Notifications,我将尝试获取数据时,应用程序在后台这样的格式 { "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification" : { "body" : "great match!", "title" : "Portugal vs. Denmark", "icon" : "myicon" }, "data" : { "Nick" : "Mario",
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"
},
"data" : {
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
因此,数据是否通过onMessageReceived(RemoteMessage message)方法传递,我不知道是否有人能帮我解决这个问题。要在应用程序位于后台时单击通知,您需要通知负载中的
单击操作属性
请检查Firebase文档的这一部分
此外,当您定义单击\u action
属性时,还需要相应的以非常详细的方式对其进行解释
但是,请注意,如果您从Firebase控制台发送通知,则无法设置单击\u操作
属性。只有当您从自己的管理服务器或使用Firebase云功能发送通知时,才能执行此操作
最后,在启动的活动中,您可以使用数据属性设置附加的数据
(也显示在我上面链接的同一个文档中)。当您通过单击通知启动应用程序时,您可以使用getIntent()
获取通知数据。查看更多关于如何做到这一点的详细信息
例如,如果通知负载具有以下结构
payload = {
notification: {
title: `You ordered a new product`,
click_action : 'HANDLE_NOTIFICATION',
},
data : {
product_id : 'ABC98292',
type : `Clothes`,
product_name : 'Cotton spring shirt'
}
};
然后,将筛选器放在单击通知时要打开的活动的标记中。一个例子如下:-
<intent-filter>
<action android:name="HANDLE_NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
然后,您可以使用getIntent().getStringsExtra(“产品标识”)
等从通知中获取产品标识
这样,您将打开所需的活动,并可以使用从通知中获得的相关详细信息填充该活动。如果您使用FCM,则它将在onMessageReceived(RemoteMessage message)