Flutter FCM 消耗初始消息

问题描述 投票:0回答:1

要在应用程序从通知启动时获取初始消息:

final remoteMessage = await FirebaseMessaging.instance.getInitialMessage();
final data = remoteMessage?.data;
// Do something with data

它有效。但是,文档还说:

一旦[RemoteMessage]被消耗,它将被删除并 进一步调用 [getInitialMessage] 将是

null

但是,如果我再次打电话:

remoteMessage = await FirebaseMessaging.instance.getInitialMessage();

它仍然包含远程消息。我如何实际设置它已被消耗并且应该为空?我的应用程序流程:登录后检索远程消息。再次注销/登录后,第二次调用仍然返回相同的远程消息,这是不应该发生的,因为如果远程消息不为空,应用程序将执行一些操作。

android flutter dart push-notification firebase-cloud-messaging
1个回答
0
投票

我也遇到这个问题了。我也想“消费”远程消息,但不知道如何做。我们可能用错了它,或者它出了问题,或者我们误解了一些东西:)

无论如何,我只想分享我在没有合法修复/答案的情况下所做的临时解决方法: 基本上只是跟踪已处理的远程消息(通过 messageId),以便远程消息只会被处理一次。

© www.soinside.com 2019 - 2024. All rights reserved.