initialize method

Future<VerificationResult<void>> initialize({
  1. required GetVerifiedConfig config,
})

Initialize the SDK with configuration

This must be called before using any other SDK features. It initializes both the document reader and face verification SDKs.

Parameters:

  • config: Configuration object with all SDK settings

Throws:

Example:

try {
  await GetVerified.instance.initialize(
    config: GetVerifiedConfig.standard(
      license: licenseData,
      faceApiUrl: 'https://api.example.com/face',
      documentReaderUrl: 'https://api.example.com/doc',
    ),
  );
  print('SDK initialized successfully');
} on SDKInitializationException catch (e) {
  print('Initialization failed: ${e.message}');
}

Implementation

Future<VerificationResult<void>> initialize({
  required GetVerifiedConfig config,
}) async {
  try {
    // Validate configuration
    config.validate();

    // Initialize SDKConfigManager with the new config
    SDKConfigManager.instance.initialize(
      verifiedResultConfig: config.screens?.result,
      registerConfig: config.screens?.register,
      onboardingConfig: config.screens?.onboarding,
      loadingScreenConfig: config.screens?.loading,
      faceSDKConfig: config.faceSDK,
      documentReaderConfig: config.documentReader,
      license: config.license!,
      faceApiUrl: config.faceApiUrl!,
      documentReaderUrl: config.documentReaderUrl!,
      onReprocess: config.onReprocess,
    );

    // Initialize Document Reader SDK
    final docInitializer = DocReaderSdkInitializer();
    final docSuccess = await docInitializer.initialize(
      license: config.license!,
      webServiceUrl: config.documentReaderUrl!,
    );

    if (!docSuccess) {
      return VerificationResult.failure(
        const SDKInitializationException(
          'Failed to initialize Document Reader SDK',
          code: ErrorCodes.initializationFailed,
        ),
      );
    }

    // Initialize Face SDK
    final faceSuccess = await FaceSdkInitializer.initialize(
      webServiceUrl: config.faceApiUrl!,
    );

    if (!faceSuccess) {
      return VerificationResult.failure(
        const SDKInitializationException(
          'Failed to initialize Face SDK',
          code: ErrorCodes.initializationFailed,
        ),
      );
    }

    _config = config;
    _isInitialized = true;
    return VerificationResult.success(null);
  } on GetVerifiedException catch (e) {
    return VerificationResult.failure(e);
  } catch (e, stackTrace) {
    return VerificationResult.failure(
      SDKInitializationException(
        'Unexpected error during SDK initialization',
        code: ErrorCodes.initializationFailed,
        originalError: e,
        stackTrace: stackTrace,
      ),
    );
  }
}