initFpjs static method

Future<void> initFpjs(
  1. MethodCall call
)

Initializes the native FingerprintJS Pro client Throws a FingerprintProError if initialisation fails

Implementation

static Future<void> initFpjs(MethodCall call) async {
  final options = FingerprintJSOptions(
    apiKey: call.arguments['apiToken'],
    integrationInfo: _toJSStringArray(
        ["fingerprint-pro-flutter/${call.arguments['pluginVersion']}/web"]),
  );
  if (call.arguments['region'] != null) {
    options.region = call.arguments['region'];
  }
  if (call.arguments['endpoint'] != null) {
    options.endpoint = _toJSStringArray([
      call.arguments['endpoint'],
      ...List<String>.from(call.arguments['endpointFallbacks'] ?? [])
    ]);
  }
  if (call.arguments['scriptUrlPattern'] != null) {
    options.scriptUrlPattern = _toJSStringArray([
      call.arguments['scriptUrlPattern'],
      ...List<String>.from(call.arguments['scriptUrlPatternFallbacks'] ?? [])
    ]);
  }
  try {
    _fpPromise = FingerprintJS.load(options).toDart;
    _isExtendedResult = call.arguments['extendedResponseFormat'];
    _isInitialized = true;
  } catch (e) {
    throw _wrapJsAgentError(e);
  }
}