как перенаправить пользователей на страницу при нажатии на уведомление
Я работаю над приложением Flutter и в Интернете с сервером firebase. Я отправляю уведомления с помощью облачных функций. Я хочу перенаправлять пользователей на определенную страницу, когда они получают уведомление и нажимают на нее. На данный момент мое приложение показывает «домашнюю страницу», когда я получаю уведомление и нажимаю на нее. Как я могу перенаправить на «страницу сведений о запросе» вместо «домашнюю страницу», когда пользователи получают уведомление и нажимают на него?
Ответы
Добавьте это в файл AndroidManifest
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
Данные внутреннего уведомления, добавьте click_action и требуемый параметр для перехода на определенную страницу
'data': {
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'product_id': 1,
...
},
Когда пользователь нажимает на уведомление, одно из этих трех событий запускается в зависимости от состояния вашего приложения.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message"); _showItemDialog(message); }, onBackgroundMessage: myBackgroundMessageHandler, onLaunch: (Map<String, dynamic> message) async { print("onLaunch: $message");
_navigateToItemDetail(message);
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
_navigateToItemDetail(message);
},
);
Получите данные уведомления из сообщения и перейдите на нужную страницу.
SecondScreen - это имя класса другого экрана.
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
Navigator.push(context,
MaterialPageRoute(builder: (BuildContext context) {
return SecondScreen(
message,
);
}));
print("onMessage: $message");
_showItemDialog(message);
},
);