initialize static method

Future<FcmActionsInitResult> initialize({
  1. GlobalKey<NavigatorState>? navigatorKey,
  2. FirebaseOptions? firebaseOptions,
  3. String? firebaseAppName,
  4. bool initializeFirebase = true,
  5. bool requestPermission = true,
  6. NotificationPermissionRequest permissionRequest = const NotificationPermissionRequest(),
  7. bool autoDisplayDataMessages = true,
  8. bool autoNavigate = true,
  9. bool fetchTokenOnInitialize = true,
  10. String? vapidKey,
  11. String defaultAndroidIcon = '@mipmap/ic_launcher',
  12. String defaultChannelId = 'fcm_actions_default',
  13. List<NotificationAction> actions = const <NotificationAction>[],
  14. List<NotificationChannel> channels = const <NotificationChannel>[NotificationChannel.max, NotificationChannel.high, NotificationChannel.defaultChannel, NotificationChannel.low, NotificationChannel.silent],
  15. List<RouteMapper> routes = const <RouteMapper>[],
  16. FcmActionsInitializeCallback? onAction,
  17. NotificationEventCallback? onNotification,
  18. NotificationActionCallback? backgroundActionHandler,
  19. List<NotificationInterceptor> interceptors = const <NotificationInterceptor>[],
  20. List<ActionInterceptor> actionInterceptors = const <ActionInterceptor>[],
  21. List<NotificationMiddleware> middleware = const <NotificationMiddleware>[],
  22. List<NotificationAnalytics> analytics = const <NotificationAnalytics>[],
  23. FcmActionsLogger logger = const DebugFcmActionsLogger(),
  24. Duration replayProtectionWindow = const Duration(days: 7),
  25. int maxPayloadBytes = 32768,
  26. bool queueFailedActions = true,
  27. int maxActionRetries = 3,
})

Initializes the default client and returns permission plus token state.

Implementation

static Future<FcmActionsInitResult> initialize({
  GlobalKey<NavigatorState>? navigatorKey,
  FirebaseOptions? firebaseOptions,
  String? firebaseAppName,
  bool initializeFirebase = true,
  bool requestPermission = true,
  NotificationPermissionRequest permissionRequest =
      const NotificationPermissionRequest(),
  bool autoDisplayDataMessages = true,
  bool autoNavigate = true,
  bool fetchTokenOnInitialize = true,
  String? vapidKey,
  String defaultAndroidIcon = '@mipmap/ic_launcher',
  String defaultChannelId = 'fcm_actions_default',
  List<NotificationAction> actions = const <NotificationAction>[],
  List<NotificationChannel> channels = const <NotificationChannel>[
    NotificationChannel.max,
    NotificationChannel.high,
    NotificationChannel.defaultChannel,
    NotificationChannel.low,
    NotificationChannel.silent,
  ],
  List<RouteMapper> routes = const <RouteMapper>[],
  FcmActionsInitializeCallback? onAction,
  NotificationEventCallback? onNotification,
  NotificationActionCallback? backgroundActionHandler,
  List<NotificationInterceptor> interceptors =
      const <NotificationInterceptor>[],
  List<ActionInterceptor> actionInterceptors = const <ActionInterceptor>[],
  List<NotificationMiddleware> middleware = const <NotificationMiddleware>[],
  List<NotificationAnalytics> analytics = const <NotificationAnalytics>[],
  FcmActionsLogger logger = const DebugFcmActionsLogger(),
  Duration replayProtectionWindow = const Duration(days: 7),
  int maxPayloadBytes = 32768,
  bool queueFailedActions = true,
  int maxActionRetries = 3,
}) => initializeWithConfig(
  FcmActionsConfig(
    navigatorKey: navigatorKey,
    firebaseOptions: firebaseOptions,
    firebaseAppName: firebaseAppName,
    initializeFirebase: initializeFirebase,
    requestPermission: requestPermission,
    permissionRequest: permissionRequest,
    autoDisplayDataMessages: autoDisplayDataMessages,
    autoNavigate: autoNavigate,
    fetchTokenOnInitialize: fetchTokenOnInitialize,
    vapidKey: vapidKey,
    defaultAndroidIcon: defaultAndroidIcon,
    defaultChannelId: defaultChannelId,
    actions: actions,
    channels: channels,
    routes: routes,
    onAction: onAction,
    onNotification: onNotification,
    backgroundActionHandler: backgroundActionHandler,
    interceptors: interceptors,
    actionInterceptors: actionInterceptors,
    middleware: middleware,
    analytics: analytics,
    logger: logger,
    replayProtectionWindow: replayProtectionWindow,
    maxPayloadBytes: maxPayloadBytes,
    queueFailedActions: queueFailedActions,
    maxActionRetries: maxActionRetries,
  ),
);