create static method

Future<FirebaseRemoteConfigService> create({
  1. required FirebaseRemoteConfig firebaseRemoteConfig,
  2. required AppLogger logger,
  3. required AppEnvironment environment,
  4. required Map<String, dynamic> defaults,
})

Creates and fully initialises a FirebaseRemoteConfigService.

Runs FirebaseRemoteConfig.ensureInitialized, applies environment-aware settings, and seeds defaults. No network fetch is performed here — the first fetch happens in RemoteConfigSyncTask during the startup sequence, after connectivity has been confirmed.

The defaults map should include all Remote Config keys the app reads, with local fallback values (for example, the bundled translation JSON).

Implementation

static Future<FirebaseRemoteConfigService> create({
  required FirebaseRemoteConfig firebaseRemoteConfig,
  required AppLogger logger,
  required AppEnvironment environment,
  required Map<String, dynamic> defaults,
}) async {
  final FirebaseRemoteConfigService service = FirebaseRemoteConfigService._(firebaseRemoteConfig: firebaseRemoteConfig, logger: logger);
  await service._init(environment: environment, defaults: defaults);
  return service;
}