当应用被杀时,推送未收到

red*_*hka 7 android firebase google-cloud-messaging firebase-cloud-messaging

我正在使用新的FCM将消息从我的服务器推送到我的Android应用程序.

{
    "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
}

我可以使用新的FCM将消息推送到我的应用程序但是,当我杀死应用程序时(长按主页按钮然后将应用程序向左滑动),推送消息不再提供.

为什么?

小智 7

我注意到,根据应用程序在我关闭之前的启动方式,我会得到不同的行为,这听起来很奇怪。

如果我使用调试器启动应用程序,然后将其刷掉,我将不再收到 FCM 通知。如果我然后从启动器图标启动应用程序,我会收到 FCM 通知,如果我刷掉“从启动器启动”应用程序,我会继续收到 FCM 通知。我在 Galaxy S4 和 Sony Xperia Z2 上得到了这种行为。

鉴于我将手机上最新版本的应用程序安装到应用程序上的最简单方法是点击调试,这是我必须记住的事情:

当您将其滑动关闭时,再次从启动器图标启动它,然后再次将其滑动关闭。(至少如果您在应用未运行时测试 FCM 通知行为)。

取自:https : //github.com/firebase/quickstart-android/issues/41


Avi*_*jit 3

检查原始有效负载,即从服务器接收到的内容。body并且title密钥必须在notification密钥下才能在应用程序关闭时收到推送通知。不过,当应用程序关闭时,您只会在通知托盘中收到通知。示例有效负载:

{
    "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",
    "notification" : {
      "body" : "great match!",
      "title" : "Portugal vs. Denmark",
      "icon" : "myicon"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
Run Code Online (Sandbox Code Playgroud)