我将Firebase推送通知用于设备令牌。当应用程序打开或处于前台时,我可以很好地收到通知。但是当应用程序被杀死或清除当前任务上的应用程序时,我无法收到发送通知。
我在第一次工作时就尝试过onMessageReceived aleardy。但是现在当应用被杀死时,它是行不通的。
代码接收通知:
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(p0: RemoteMessage) {
val data = p0!!.data
Log.e("AAAAAAAAAAAAA: ","data
111111111111111111111111111111111111111111111111:" + data["key1"])
}
}
发布发送通知数据: 发送至:https://fcm.googleapis.com/fcm/send
数据:
{
"to" : "token key",
"data": {
"key1" : "value1",
"key2" : "value2",
"other_key" : true
}
}
结果,对于正在打开的应用程序,我可以很好地接收数据,但是当被杀死时,我不能接收数据。
答案 0 :(得分:0)
如果您要发送数据到 https://fcm.googleapis.com/fcm/send 您正在使用旧版http协议,如您所见here
这在文档中不是很清楚。
在此协议中,当应用程序在后台或关闭时要接收数据消息,您应该使用以下有效负载:
{
"to" : "token key",
"data": {
"key1" : "value1",
"key2" : "value2",
"other_key" : true
},
"priority" : 10,
"time_to_live" : 60
}
首先以最高优先级(10)进行测试,然后根据需要降级。还可以根据需要在几秒钟内调整time_to_live。