initializeWithRemoteConfig method
Future<void>
initializeWithRemoteConfig(
{ - String remoteConfigKey = "security_policy",
})
override
Implementation
@override
Future<void> initializeWithRemoteConfig({
String remoteConfigKey = "security_policy",
}) async {
_log.info("SecureShield, Firebase Remote Config ile başlatılıyor...");
try {
await Firebase.initializeApp();
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setDefaults({
remoteConfigKey: jsonEncode(SecureShieldConfig().toJson()),
});
await remoteConfig.fetchAndActivate();
final configString = remoteConfig.getString(remoteConfigKey);
final configJson = jsonDecode(configString) as Map<String, dynamic>;
_config = SecureShieldConfig.fromJson(configJson);
_log.info("Firebase Remote Config başarıyla uygulandı.");
} catch (e, stacktrace) {
_log.severe(
"Firebase Remote Config başlatılamadı! Güvenli varsayılanlar kullanılıyor.",
e,
stacktrace,
);
_config = SecureShieldConfig(
advancedPolicy: {
ThreatLevel.CRITICAL: ThreatAction.TERMINATE_APP,
ThreatLevel.HIGH: ThreatAction.TERMINATE_APP,
},
);
}
}