有没有办法触发在颤振中收到的 FCM 通知的功能?

时间:2021-06-25 06:34:32

标签: flutter

我想在应用收到通知时在 iPhone 上的应用图标上显示一个徽章,这样用户在看到应用图标时就可以注意到他们收到了通知。

以下代码不像 onMessageOpenedApp 那样按预期工作,并且当用户点击通知时将触发 checkForInitialMessage(),但不会在通知到达时触发。 iPhone 收到通知时如何触发 setBadge()?

我正在使用 firebase_messaging 10.0.2 和 flutter_app_badger。

// App is on background
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
    setBadge();
});

// App is terminated
checkForInitialMessage() async {
    await Firebase.initializeApp();
    RemoteMessage initialMessage = await FirebaseMessaging.instance.getInitialMessage();

    if (initialMessage != null) {
       setBadge();
    }
}

1 个答案:

答案 0 :(得分:0)

您可能必须像这样使用 FirebaseMessaging.onBackgroundMessage 注册后台消息处理程序:

FirebaseMessaging.onBackgroundMessage(_backgroundMessageHandler);

static Future<dynamic> _backgroundMessageHandler(RemoteMessage message) async {
  setBadge();
}

这里是官方文档:https://firebase.flutter.dev/docs/messaging/usage/#background-messages