未调用 Flutter Firebase 消息传递 iOS 处理程序
Posted
技术标签:
【中文标题】未调用 Flutter Firebase 消息传递 iOS 处理程序【英文标题】:Flutter Firebase Messaging iOS Handlers not called 【发布时间】:2019-11-08 05:41:18 【问题描述】:我已经在我的 Flutter 应用中实现了最新的 Firebase Messaging 5.0.4。
但是我注意到在 ios 上它没有按预期工作。 它的实现如下:
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async
print("onMessage: $message");
_showItemDialog(message);
,
onLaunch: (Map<String, dynamic> message) async
print("onLaunch: $message");
_navigateToPage(message);
,
onResume: (Map<String, dynamic> message) async
print("onResume: $message");
_navigateToPage(message);
,
);
尤其是 onLaunch 和 onResume 是个问题。
在 iOS 上,onLaunch 和 onResume 会在应用程序处于后台时触发,或者在您单击收到的通知时终止。在控制台中,我还可以看到打印的信息以及附加到“消息”的所有信息,但是打印语句下面的功能根本不执行。 在 android 上,它可以按您的预期工作。信息打印到控制台并执行以下功能。
【问题讨论】:
【参考方案1】:我不确定发生了什么,但它现在似乎有效。 但是,我注意到 Google 处理通知的方式与 Apple 有所不同。推送通知中的数据略有不同。
【讨论】:
以上是关于未调用 Flutter Firebase 消息传递 iOS 处理程序的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Firebase 消息传递 - 应用打开时未显示推送通知
带有 Firebase 云消息传递的 Flutter 2.0:onMessage 未在 Android 上调用
Flutter 和 FCM(Firebase 云消息传递)onMessage、onResume 和 onLaunch 在单击通知时未触发(包:firebase_messaging 7.0.0)