initialize method
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:
- SDKInitializationException if initialization fails
- ConfigurationException if configuration is invalid
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,
),
);
}
}