init static method
Future<FskinRemoteConfig>
init({
- required String apiKey,
- @visibleForTesting SkinService? skinService,
Implementation
static Future<FskinRemoteConfig> init({
required String apiKey,
@visibleForTesting SkinService? skinService,
}) async {
_instance ??= FskinRemoteConfig._();
if (apiKey.trim().isEmpty ||
!RegExp(FskinConstants.keyRegex).hasMatch(apiKey)) {
throw ArgumentError.value(
apiKey,
'apiKey',
'apiKey must be a valid non-empty string',
);
}
_instance!.apiKey = apiKey;
_instance!.cacheService.saveApiKey(apiKey);
if (skinService != null) {
_instance!.skinService = skinService;
} else {
_instance!.skinService = SkinService();
}
await _instance!.fetchConfig();
return _instance!;
}