In order to use our SDK you need an authorization token. Please check our API "Authorisation " in this regard.
Add the following code at the start-up of your application to initialize the SDK:
Copy import 'package:uqudosdk_flutter/UqudoIdPlugin.dart' ;
import 'package:uqudosdk_flutter/uqudosdk_flutter.dart' ;
...
UqudoIdPlugin . init ();
...
Use the below method for setting the locale of the application:
Copy ...
UqudoIdPlugin . setLocale ( < your locale eg. fr, en etc. > );
...
To check if a document supports enrollment, reading and facial recognition you can use the below methods:
Copy ...
var isEnrollmentSupported = await UqudoIdPlugin . isEnrollmentSupported ( DocumentType . UAE_ID );
var isReadingSupported = await UqudoIdPlugin . isReadingSupported ( DocumentType . UAE_ID );
var isFacialRecognitionSupported = await UqudoIdPlugin . isFacialRecognitionSupported ( DocumentType . UAE_ID );
...
Below you can find an example on how to initiate the enrolment process for a passport enabling the reading through NFC and facial recognition:
Copy import 'package:uqudosdk_flutter/UqudoIdPlugin.dart' ;
import 'package:uqudosdk_flutter/uqudosdk_flutter.dart' ;
...
String result;
try {
var token = "your token" ;
var doc = new DocumentBuilder ()
. setDocumentType ( DocumentType . PASSPORT )
. enableReading ( new ReadingConfigurationBuilder ()
. forceReadingIfSupported ( true )
. build ()
)
. build ();
var enrollObject = new EnrollmentBuilder ()
. setToken (token)
. add (doc)
. setAppearanceMode ( AppearanceMode . SYSTEM )
. build ();
result = await UqudoIdPlugin . enroll (enrollObject);
} on PlatformException catch (exception) {
result = exception.code;
// {"code":"USER_CANCEL","message":"User canceled the Enrollment process","task":"SCAN"}
}
In order to evaluate all the possible options please refer to section Enrolment Flow . The dart interface is the porting of the JAVA one. In addition you can check the dart files in the plugin ./lib folder or directly from your IDE.
If successful , the response is a JSON Web Signature (JWS). Please refer to section "SDK result " for further details.
In case of a failure , the callback returns the following object:
Add the following event to enable the tracing mechanism as per the code shown below. Please refer to section Analytics for details.
Copy import 'package:uqudosdk_flutter/UqudoIdPlugin.dart' ;
class _MyAppState extends State < MyApp > {
@override
void initState () {
super. initState ();
UqudoIdPlugin . init ();
listenNativeEvent ();
}
static const EventChannel _eventChannel =
EventChannel ( 'io.uqudo.sdk.id/trace' );
void listenNativeEvent () {
_eventChannel. receiveBroadcastStream (). listen (_onEvent, onError : _onError);
}
void _onEvent ( Object ? event) {
if (event != null ) {
print ( "---TraceEvent= ${event. toString ()} " );
}
}
void _onError ( Object error) {
print ( '---TraceEvent error.' );
}
......