我想在应用收到通知时在 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();
}
}
答案 0 :(得分:0)
您可能必须像这样使用 FirebaseMessaging.onBackgroundMessage
注册后台消息处理程序:
FirebaseMessaging.onBackgroundMessage(_backgroundMessageHandler);
static Future<dynamic> _backgroundMessageHandler(RemoteMessage message) async {
setBadge();
}
这里是官方文档:https://firebase.flutter.dev/docs/messaging/usage/#background-messages