Table of contents

Overview

This SDK provides a drop-in set of screens and tools for Android applications with Flutter to allow capturing of identity documents and face videos for the purpose of identity verification. The SDK offers a number of benefits to help you create the best onboarding/identity verification experience for your customers:

  • Carefully designed UI to guide your customers through the entire video-capturing process
  • Modular design to help you seamlessly integrate the video-capturing process into your application flow
  • Advanced image quality detection technology to ensure the quality of the captured images meets the requirement of the ShareId identity verification process, guaranteeing the best success rate
  • Direct video upload to the ShareId service, to simplify integration*

* Note: the SDK is only responsible for capturing and uploading videos. You still need to access the ShareID API to create and manage checks.

Getting started

The Flutter SDK supports:

  • Dart 3.0.0 or higher
  • Flutter 3.0.0 or higher
  • Android API level 24+
  • Kotlin 1.8.0 or higher
  • IOS 15.0 or higher
  • Targeted Device Families = iPhone, iPad

1. Obtaining a Service Token

In order to start integration, you will need the businessHash and ApiKey.

2. Creating an applicant

You must create an SDK applicant before you start the flow.

3. Configuring Business Request Id and Business Request Token

We now support one token mechanism:

Server Url,
Service Token,

4. App permissions

For IOS

The SDK uses the device camera functionality. It is mandatory to include the following key NSCameraUsageDescription within your application's Info.plist file (see Apple documentation).

4. Set up the SDK in your application

Once you have added the SDK as a dependency and have your credentials, you can configure the SDK :

For Onboarding

final _shareid = ShareidSdkFlutter();

_shareid.onboarding("SHARE_ID_SERVER_URL","SHARE_ID_SERVICE_TOKEN").then((value) {
    setState(() {
      Map<String, dynamic> valueMap = json.decode(value!);
      result = MessageHandler.fromJson(valueMap);
      switch (result.messageHandler) {
      case "success":
        Fluttertoast.showToast(msg: result.message!);
      break;
      case "exit":
        Fluttertoast.showToast(msg: result.message!);
      break;
      case "failure":
        Fluttertoast.showToast(msg: result.message!);
      break;
      default:
      break;
      }
    });
});

For Authenticate

final _shareid = ShareidSdkFlutter();

_shareid.authenticate("SHARE_ID_SERVER_URL","SHARE_ID_SERVICE_TOKEN").then((value) {
    setState(() {
      Map<String, dynamic> valueMap = json.decode(value!);
      result = MessageHandler.fromJson(valueMap);
      switch (result.messageHandler) {
        case "success":
          Fluttertoast.showToast(msg: result.message!);
        break;
        case "exit":
          Fluttertoast.showToast(msg: result.message!);
        break;
        case "failure":
          Fluttertoast.showToast(msg: result.message!);
        break;
        default:
        break;
      }
    });
});

For more informations : Example File

Parameter Notes
serverUrl required
Your server url (sandbox,preprod or prod)
accessToken required
Your previously received access token

5.Handling Callback

The result object passed to the callback function can include the following attributes:

{
  "code": "200",
  "message": "Access token created"
}

6. More Informations

For more informations about SDK V2 check the link: ShareId SDks Documentation