initShield static method
Implementation
static Future<void> initShield(ShieldConfig config) async {
try {
if (config.shieldCallback != null) {
_channel.setMethodCallHandler(_methodHandler);
_shieldCallback = config.shieldCallback;
}
final environment = _serializeEnvironment(config.environment);
final logLevel = _serializeLogLevel(config.logLevel);
unawaited(setCrossPlatformParameters());
final dialogMap = config.defaultBlockedDialog != null
? {
"title": config.defaultBlockedDialog!.title,
"body": config.defaultBlockedDialog!.body,
}
: null;
final args = <String, dynamic>{
"siteID": config.siteID,
"key": config.key,
"registerCallback": config.shieldCallback != null,
"partnerId": config.partnerId,
"environment": environment,
"logLevel": logLevel,
"defaultBlockedDialog": dialogMap,
};
// Android 2.x.x
if (Platform.isAndroid) {
args["needBackgroundListener"] = config.enableBackgroundListener;
args["blockScreenRecording"] = config.blockScreenRecording;
}
// iOS 1.x.x
if (Platform.isIOS) {
args["enableBackgroundListener"] = config.enableBackgroundListener;
args["enableMocking"] = config.enableMocking;
}
await _channel.invokeMethod("initShieldFraud", args);
} catch (e, s) {
_internalLog("initShield failed", e, s);
}
}