我正在使用Firebase Cloud Messaging HTTP Protocol使用邮递员将推送通知发送到我的应用程序进行测试。
我使用以下代码发送推送。
{
"notification":{
"title":"Title",
"body":"this is a notification to a specific topic",
"sound":"default",
"click_action":"FCM_PLUGIN_ACTIVITY",
},
"data":{
"action":"ping"
},
"to":"/topics/Topic_1",
"priority":"high"
}
我正在使用此代码处理我的应用上的通知:
FCMPlugin.onNotification(function(data){
console.log(data);
if(data.wasTapped){
//Notification was received on device tray and tapped by the user.
alert('notification tapped'+ JSON.stringify(data) );
}else{
//Notification was received in foreground. Maybe the user needs to be notified.
alert('application is open'+ JSON.stringify(data) );
}
});
一切正常,除非我无法获得标题和正文在我的应用程序中使用它们,我得到的是以下内容:
对象{wasTapped:false,action:" ping"}
我找不到获取通知标题和正文的方法。
我知道我可以将它们复制到数据部分,但这不是逻辑它是一个肮脏的解决方法
所以任何想法如何获取通知数据? 谢谢。
答案 0 :(得分:2)
根据显示的行为,我假设客户端平台是Android。如果是这样,那么这是按预期工作的。
在您的消息有效负载中发送notification
和data
的组合时,Android系统托盘将是处理notification
中的值的托盘。您提到的脏解决方法是迄今为止唯一的解决方法 - 我在one of my answers上实际建议的解决方法。