在Android中终止应用程序时未收到通知

时间:2019-10-09 02:02:08

标签: android firebase kotlin firebase-cloud-messaging

我将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
         }
    }
    

结果,对于正在打开的应用程序,我可以很好地接收数据,但是当被杀死时,我不能接收数据。

1 个答案:

答案 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。