initialize method

  1. @override
Future<void> initialize(
  1. String appId, {
  2. OtplessSslPinning sslPinning = OtplessSslPinning.disabled,
  3. String? loginUri,
  4. Map<OtplessConfigKey, String> config = const {},
})
override

Initialises the native SDK. See Otpless.initialize for the semantics of sslPinning, loginUri and config.

Implementation

@override
Future<void> initialize(
  String appId, {
  OtplessSslPinning sslPinning = OtplessSslPinning.disabled,
  String? loginUri,
  Map<OtplessConfigKey, String> config = const {},
}) async {
  await methodChannel.invokeMethod("initialize", {
    'appId': appId,
    'loginUri': loginUri,
    'sslPinning': sslPinning.name,
    // Keys go by enum name ("disableOtpAutoRead"); the native side maps
    // them onto its own OtplessConfigKey and drops anything it doesn't know.
    'config': config.map((key, value) => MapEntry(key.name, value)),
    // Internal channel key, not merchant-facing API: there is no Dart
    // parameter for this. See [_buildPlatformToken].
    'buildPlatform': _buildPlatformToken(),
  });
}