我试图从Firebase控制台接收Android的推送通知,但是当应用程序终止时我什么也没收到(我有onResume、onMessage和onLaunch回调监听器,但我甚至还不想在应用程序中处理它们),我只想让它们显示在托盘或锁定屏幕上。是否需要进行某些Android配置?
希望我的第一个答案能让你满意。
正如您可以在这里看到的那样,使用onBackgroundMessage处理通知,即使应用程序被终止也可以。也许你遇到的问题是你发送的是“仅数据”消息而不是通知。在这种情况下,你需要设置字段"priority": "high"
此外,在最新版本的Flutter和firebase_messaging中,onResume、onMessage和onLaunch方法已经过时, 你应该将它们替换为onMessage、onMessageOpened、onBackground这些方法,但你可以在官方文档中找到更多信息。
只是对@samUser1答案的补充。 当应用程序被终止时,此代码将处理事件。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
并在主函数之外对其进行解析。以下示例使用AwesomeNotifications包。 https://github.com/rafaelsetragni/awesome_notifications/blob/master/example/lib/main.dart
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
final res = await AwesomeNotifications().createNotification(
content: NotificationContent(
id: Random().nextInt(1000000),
channelKey: 'channel_name',
title: 'Hello!',
body: 'World!',
notificationLayout: NotificationLayout.Default,
),
);
}