setupFCMNotifications method

Future<void> setupFCMNotifications()

Implementation

Future<void> setupFCMNotifications() async {
  await FirebaseMessaging.instance.requestPermission(
    alert: true,
    announcement: false,
    badge: true,
    carPlay: false,
    criticalAlert: false,
    provisional: false,
    sound: true,
  );

  await FirebaseMessaging.instance
      .setForegroundNotificationPresentationOptions(
        alert: true,
        badge: true,
        sound: true,
      );

  FirebaseMessaging.onMessage.listen((i) {
    verbose("RECEIVE: ${i.notification?.title} ${i.data}");
  });

  FirebaseMessaging.onMessageOpenedApp.listen(receiveFCMNotificationResponse);
  RemoteMessage? tappedRemoteMessage =
      await FirebaseMessaging.instance.getInitialMessage();
  if (tappedRemoteMessage != null) {
    receiveFCMNotificationResponse(tappedRemoteMessage);
  }
}