как ориентироваться при нажатии на фоновое уведомление на флаттере? - PullRequest
0 голосов
/ 08 марта 2020

Можно ли перемещаться по указанному пути, если щелкнуть фон уведомление 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());
}

1 Ответ

0 голосов
/ 09 марта 2020

Это известная ошибка. См. этот выпуск .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...