Enrolment Flow

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:

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:

...
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:

...
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:

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:

PropertyTypeOptionalDefaultDescription

code

String

No

None

message

String

Yes

null

Description of the error if any

task

String

Yes

null

Add the following event to enable the tracing mechanism as per the code shown below. Please refer to section Analytics for details.

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.');
  }
......

Last updated