configure method

  1. @override
Future<void> configure({
  1. MessageHandler? onMessage,
  2. MessageHandler? onLaunch,
  3. MessageHandler? onResume,
  4. MessageHandler? onBackgroundMessage,
  5. FirebaseOptions? options,
})
override

Configures callbacks for supported message situations. It should be called as soon as app is launch or you won't get the onLaunch callback

Implementation

@override
Future<void> configure({
  MessageHandler? onMessage,
  MessageHandler? onLaunch,
  MessageHandler? onResume,
  MessageHandler? onBackgroundMessage,
  FirebaseOptions? options,
}) async {
  if (!didInitialize) {
    await Firebase.initializeApp(
      options: options,
    );
    didInitialize = true;
  }

  firebase.onTokenRefresh.listen((value) {
    token.value = value;
  });

  FirebaseMessaging.onMessage.listen(onMessage);
  FirebaseMessaging.onMessageOpenedApp.listen(onResume);

  if (onBackgroundMessage != null) {
    FirebaseMessaging.onBackgroundMessage(onBackgroundMessage);
  }

  final initial = await FirebaseMessaging.instance.getInitialMessage();
  if (initial != null) {
    onLaunch?.call(initial);
  }

  token.value = await firebase.getToken();
}