如何在关闭应用程序的情况下捕获通知中的点击以重定向 firebase 消息传递中的特定页面 > 9.0
how capture click in notification with app closed to redirect a specific page in firebase messaging > 9.0
我正在使用 9.0 版的 firebase 消息传递,并希望用户在关闭应用程序时接收和点击通知时进入特定屏幕。
我目前可以在应用程序打开或最小化的情况下进行管理,但我不明白在应用程序未打开时如何执行此操作。
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
Storage storage = Storage();
storage.setReceivedNotification(true);
print("teste notificação recebida");
}
FirebaseMessaging.instance.getInitialMessage().then((message){
if (message != null){
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
}
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print("a");
storage.setReceivedNotification(true);
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
//Navigator.pushNamed(context, '/events');
});
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("b");
storage.setReceivedNotification(true);
print("teste b $message");
String? corpo = message.notification?.body;
String? titulo = message.notification?.title;
String? image = message.notification?.android?.imageUrl;
//showMyDialog(titulo: titulo,corpo: corpo);
print("$corpo $titulo $image");
});
我尝试在 backgroundHandler 中使用共享首选项,但这样即使用户没有点击通知也会发生重定向。
谁能提供关于如何通过点击特定通知重定向应用关闭的说明?
PS: 我知道我需要在notification body中发送数据,我只是想了解如何在9.0或更高版本关闭应用程序时让flutter捕获点击。
使用FirebaseMessaging.instance.getInitialMessage()
方法获取消息
如果应用是Closed/Killed
FirebaseMessaging.instance
.getInitialMessage()
.then((RemoteMessage message) {
print("FirebaseMessaging.getInitialMessage $message");
});
使用FirebaseMessaging.onMessageOpenedApp
方法获取消息
如果应用程序在后台
FirebaseMessaging.onMessageOpenedApp
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessageOpenedApp $message");
});
使用FirebaseMessaging.onMessage
方法会收到消息
如果应用程序在前台
FirebaseMessaging.onMessage
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessage $message");
});
我正在使用 9.0 版的 firebase 消息传递,并希望用户在关闭应用程序时接收和点击通知时进入特定屏幕。
我目前可以在应用程序打开或最小化的情况下进行管理,但我不明白在应用程序未打开时如何执行此操作。
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
Storage storage = Storage();
storage.setReceivedNotification(true);
print("teste notificação recebida");
}
FirebaseMessaging.instance.getInitialMessage().then((message){
if (message != null){
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
}
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print("a");
storage.setReceivedNotification(true);
Model model = Model();
id = "sasassa;
Get.offNamed("$SCREEN_ROUTE",arguments: model);
//Navigator.pushNamed(context, '/events');
});
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("b");
storage.setReceivedNotification(true);
print("teste b $message");
String? corpo = message.notification?.body;
String? titulo = message.notification?.title;
String? image = message.notification?.android?.imageUrl;
//showMyDialog(titulo: titulo,corpo: corpo);
print("$corpo $titulo $image");
});
我尝试在 backgroundHandler 中使用共享首选项,但这样即使用户没有点击通知也会发生重定向。
谁能提供关于如何通过点击特定通知重定向应用关闭的说明?
PS: 我知道我需要在notification body中发送数据,我只是想了解如何在9.0或更高版本关闭应用程序时让flutter捕获点击。
使用FirebaseMessaging.instance.getInitialMessage()
方法获取消息
如果应用是Closed/Killed
FirebaseMessaging.instance
.getInitialMessage()
.then((RemoteMessage message) {
print("FirebaseMessaging.getInitialMessage $message");
});
使用FirebaseMessaging.onMessageOpenedApp
方法获取消息
如果应用程序在后台
FirebaseMessaging.onMessageOpenedApp
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessageOpenedApp $message");
});
使用FirebaseMessaging.onMessage
方法会收到消息
如果应用程序在前台
FirebaseMessaging.onMessage
.listen((RemoteMessage message) {
print("FirebaseMessaging.onMessage $message");
});