initializePlugin static method

dynamic initializePlugin()

Implementation

static initializePlugin() {
  try {
    final DarwinInitializationSettings initializationSettingsIOS =
        DarwinInitializationSettings(
            requestAlertPermission: true,
            requestBadgePermission: true,
            requestSoundPermission: true,
            onDidReceiveLocalNotification:
                (int id, String? title, String? body, String? payload) async {
              // ignore: avoid_print
              print(
                  'Notification was receive: $title\nBody: $body\nPayload: $payload');
            });

    ///TODO: add path to icon
    const AndroidInitializationSettings initializationSettingsAndroid =
        AndroidInitializationSettings('app_icon');

    final InitializationSettings initializationSettings =
        InitializationSettings(
      iOS: initializationSettingsIOS,
      android: initializationSettingsAndroid,
    );

    if (Platform.isIOS) {
      flutterLocalNotificationsPlugin.initialize(
        initializationSettings,
        onDidReceiveNotificationResponse:
            (NotificationResponse notificationResponse) {
          // ignore: avoid_print
          print('Notification Response handler called');
        },
        onDidReceiveBackgroundNotificationResponse: notificationTapBackground,
      );
    } else {
      flutterLocalNotificationsPlugin.initialize(
        initializationSettings,
        onDidReceiveNotificationResponse: onDidReceiveNotificationResponse,
        onDidReceiveBackgroundNotificationResponse: notificationTapBackground,
      );
    }

    isInitializedPlugin = true;
  } catch (ex) {
    // ignore: avoid_print
    print('EXCEPTION: $ex');
  }
}