initialize method

  1. @override
Future<void> initialize(
  1. BuildContext context, {
  2. IFastErrorReporter? errorReporter,
})
override

Implementation

@override
Future<void> initialize(
  BuildContext context, {
  IFastErrorReporter? errorReporter,
}) async {
  _logger.debug('Initializing...');

  final apps = Firebase.apps;

  for (final app in apps) {
    _logger.debug('Activating Firebase App Check for ${app.name}...');
    final appCheck = FirebaseAppCheck.instanceFor(app: app);

    var appleProviderAppCheck =
        AppleProvider.appAttestWithDeviceCheckFallback;
    var androidProviderAppCheck =
        androidProvider ?? AndroidProvider.playIntegrity;

    if (kDebugMode) {
      androidProviderAppCheck = AndroidProvider.debug;
      appleProviderAppCheck = AppleProvider.debug;
    }

    await appCheck.activate(
      androidProvider: androidProviderAppCheck,
      appleProvider: appleProviderAppCheck,
      webProvider: webRecaptchaSiteKey is String
          ? ReCaptchaEnterpriseProvider(webRecaptchaSiteKey!)
          : null,
    );

    _logger.debug('Activated Firebase App Check for ${app.name}');
  }

  _logger.debug('Initialized');
}