Код Firebase FCM onLaunch не запускает функции при нажатии на уведомление - PullRequest
0 голосов
/ 21 июня 2020

Я использую FCM для доставки уведомлений, при нажатии которых пользователь попадает на определенную страницу c в приложении. В настоящее время функции onMessage и onResume работают отлично, но при запуске этого не происходит.

Я включаю

<key>FirebaseAppDelegateProxyEnabled</key>
<false/>

и

if #available(iOS 10.0, *) {
  UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}

, потому что я также использую флаттер локальные уведомления.

Я уже пытался удалить эти строки, но они не имеют значения.

1 Ответ

0 голосов
/ 22 июня 2020

Хорошо, поэтому у меня возникла проблема в том, что при запуске кода при запуске мое приложение загружало другие данные и функции и т.д. c при загрузке страницы spla sh. Что мне нужно было сделать, так это то, что при запуске пожара я сохранил уведомление в переменной. Затем я выполнил код, который хотел, после завершения spla sh init

onLaunch: (Map<String, dynamic> notification) async {
    print("onLaunch: $notification");

    ///Saving the notification to use once the rest of the initialising and 
    ///Loading is done
    launchNotification = notification;

},

Затем, когда загрузка и инициализация других процессов завершились, я запустил эту функцию

onLaunchFunction() async {
  await Future.delayed(Duration(milliseconds: 100));
  Map tempNotification = launchNotification;
  if (launchNotification != null) {
    launchNotification = null;
    ///The rest of the function
  }
}

Я добавил отложенное будущее, чтобы убедиться, что мой код будет работать во время инициализации. Это может не понадобиться

...