Можно ли перемещаться по указанному пути, если щелкнуть фон уведомление FCM?
Я создаю Верхний уровень . Добавьте к пути навигатора. но не работает, при нажатии на фоновое уведомление, просто откройте приложение
Я думаю, я нашел вопрос
Теперь я изменил fcm
конфигурация home page
до splash screen
. Теперь, передний план также не перейти к странице, я думаю, из-за Spla sh Экран больше не доступен. Но появляется уведомление, когда вы щелкаете мышью, просто открываете приложение.
Конфигурация FCM
onBackgroundMessage: backgroundMessageHandler
Функция верхнего уровня функция
Future<dynamic> backgroundMessageHandler(Map<String, dynamic> message) {
if (message.containsKey('data')) {
getIt<NavigationService>().navigateTo('/${message['data']['screen']}');
}
}
полезная нагрузка
const payload: admin.messaging.MessagingPayload = {
notification:{
title: `New Enquiry`,
body:`${customerName} published to ${subName}`,
badge: '1',
sound: 'default'
},
data: {
click_action: `FLUTTER_NOTIFICATION_CLICK`,
sound: `default`,
status: `chat`,
screen: `homePage`
}
}
main.dart
GetIt getIt = GetIt.instance;
void main() {
setupLocator();
runApp(MyApp());
}
MaterialApp
return MaterialApp(
navigatorKey: NavigationService().navigatorKey,
onGenerateRoute: Router.generateRoute,
);
NavigationService и setupLocator
class NavigationService {
final GlobalKey<NavigatorState> navigatorKey =
new GlobalKey<NavigatorState>();
Future<dynamic> navigateTo(String routeName) {
return navigatorKey.currentState.pushNamed(routeName);
}
}
void setupLocator() {
getIt.registerLazySingleton(() => NavigationService());
}