Android FCM-未在后台调用onMessageReceived
我用的是FCM。通知工作正常,前台会调用onMessageReceived,但当我在后台/关闭应用程序时收到通知时,将永远不会调用该方法Android FCM-未在后台调用onMessageReceived,android,firebase,notifications,firebase-cloud-messaging,Android,Firebase,Notifications,Firebase Cloud Messaging,我用的是FCM。通知工作正常,前台会调用onMessageReceived,但当我在后台/关闭应用程序时收到通知时,将永远不会调用该方法 我建议使用数据消息作为Firebase文档,但没有成功…您确定要在中添加类似此服务的内容吗 AndroidManifest.xml <service android:name=".services.fcm.FirebaseService"> <intent-filter> <
我建议使用数据消息作为Firebase文档,但没有成功…您确定要在中添加类似此服务的内容吗 AndroidManifest.xml
<service android:name=".services.fcm.FirebaseService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
您确定要在中添加类似此服务的内容吗 AndroidManifest.xml
<service android:name=".services.fcm.FirebaseService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
FCM有3种通知 1。通知消息 Json正文将只包含
通知
标记
如果应用程序在后台,FCM将在客户端应用程序中自动显示通知onMessageReceived()
将在前台同时调用。在后台,onMessageReceived()
将不会被调用
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
2。数据消息
Json正文将只包含数据
标记
开发人员必须显示通知。onMessageRecieved将在前台和后台都被调用。json中应该只有数据标记
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
3。通知和数据消息
json主体将同时具有通知
和数据
标记onMessageReceived()
仅在应用程序位于前台时调用。如果应用程序位于后台,则会自动显示通知,并且不会调用onMessageReceived()
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}
有关更多信息,请阅读FCM有3种通知 1。通知消息 Json正文将只包含
通知
标记
如果应用程序在后台,FCM将在客户端应用程序中自动显示通知onMessageReceived()
将在前台同时调用。在后台,onMessageReceived()
将不会被调用
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
2。数据消息
Json正文将只包含数据
标记
开发人员必须显示通知。onMessageRecieved将在前台和后台都被调用。json中应该只有数据标记
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}
3。通知和数据消息
json主体将同时具有通知
和数据
标记onMessageReceived()
仅在应用程序位于前台时调用。如果应用程序位于后台,则会自动显示通知,并且不会调用onMessageReceived()
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}
有关更多信息,请阅读这是我发送的通知:
payload = new JSONObject();
notification = new JSONObject();
notification.put("title", "Avisos");
notification.put("text", "Nuevos avisos disponibles");
payload.put("data", notification);
payload.put("to", "/topics/avisos");
payload.put("priority",10);
这是我要发送的通知:
payload = new JSONObject();
notification = new JSONObject();
notification.put("title", "Avisos");
notification.put("text", "Nuevos avisos disponibles");
payload.put("data", notification);
payload.put("to", "/topics/avisos");
payload.put("priority",10);
这是我正在发送的通知:`payload=newjsonobject();通知=新的JSONObject();通知。付诸表决(“标题”、“Avisos”);通知。付诸表决(“文本”、“新航争议”);有效载荷。put(“数据”,通知);payload.put(“to”,“/topics/avisos”);有效载荷。put(“优先级”,10)`所以我必须包含一个令牌?如果您正在向一个发送消息,那么您应该使用令牌这是我正在发送的通知:`payload=new JSONObject();通知=新的JSONObject();通知。付诸表决(“标题”、“Avisos”);通知。付诸表决(“文本”、“新航争议”);有效载荷。put(“数据”,通知);payload.put(“to”,“/topics/avisos”);有效载荷。put(“优先级”,10)`所以我必须包括一个令牌?如果你正在向一个发送消息,那么你应该使用令牌这应该在问题中这应该在问题中