当使用firebase_messaging通过推送通知终止应用程序时,如何接收自定义数据?

Ste*_*tta 7 flutter firebase-cloud-messaging

如标题中所示,当用户在应用终止时单击通知时,为了接收自定义数据,当前的解决方法是什么?

好像在Android上似乎无法在onLaunch上接收数据消息(这是理想的方式)在IOS上,我尚未尝试过,因为我首先遇到了这个问题。

有什么线索吗?

其他信息:我通过发送的通知的firebase cloud function格式如下:

  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

https://firebase.google.com/docs/cloud-messaging/concept-options

在onResume我可以执行一个动作,但onLaunch似乎不被称为。

cha*_*ner 0

判断您的 Activity 是否位于前台(并且反应不同)可能有点棘手。BroadcastReceiver我最喜欢的方法是在活动中注册本地,然后sendBroadcast从服务中执行操作。如果您的接收器正在运行(这意味着您的应用程序位于前台),您将从该方法中得到true ,否则返回false。

你可以看一个这样的例子(使用GCM,但FCM的逻辑是相同的)来源

这也是一个很好的例子MyFirebaseMessagingService