ekyc_id_flutter 1.0.14 copy "ekyc_id_flutter: ^1.0.14" to clipboard
ekyc_id_flutter: ^1.0.14 copied to clipboard

outdated

A Flutter Plugin to interact with EkycID.

Flutter SDK for EkycID #

An easy to use SDK for developing Identity Verification for KYC process. With this SDK, developers can quickly integrate KYC process into their flutter apps.

This Flutter SDK is a wrapper around our Native SDK (Android & iOS).

1. Requirements #


iOS #

  • Minimum iOS Deployment Target: 10.0
  • Xcode 13 or newer
  • Swift 5
  • EkycID only supports 64-bit architectures (x86_64 and arm64).

Android #

  • minSdkVersion: 21
  • targetSdkVersion: 32
  • compileSdkVersion 32

2. Installation #


2.1. Flutter Setup #

To use this plugin, add ekyc_id_flutter as a dependency in your pubspec.yaml file.

dependencies:
  ...
  ekyc_id_flutter:

2.2 iOS Setup #

Step 1: On iOS add the following to your Info.plist

<!-- Camera Access -->
<key>NSCameraUsageDescription</key>
<string>Camera Access for Scanning</string>

<!-- Microphone Access -->
<key>NSMicrophoneUsageDescription</key>
<string>Microphone for playing instructions audio.</string>

Step 2: Go to Project > Runner > Building Settings > Excluded Architectures > Any SDK > armv7 []

Step 3: Make adjustments to your Podfile as shown below.

# add this line:
$iOSVersion = '10.0'

post_install do |installer|
  # add these lines:
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7"
    config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
  end
  
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    
    # add these lines:
    target.build_configurations.each do |config|
      if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
      end
    end
    
  end
end

2.3. Android Setup #

No extra setup is needed.

3. Usage #


Step 1: Setup URL to server.

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  EkycIDServices.instance.setURL("YOUR_SERVER_URL");
  runApp(MyApp());
}

Step 2: Setup EkycIDExpress Widget

We expose an easy to use widget called EkycIDExpress. It handles the logic behind identity document scanning and liveness detections for you. You only expects to provide a simple callback to handle the result. Below is how you can use it.

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {

  Future<void> onKYCCompleted({
    required LivenessDetectionResult liveness,
    required DocumentScannerResult mainSide,
    DocumentScannerResult? secondarySide,
  }) async {
    print("== ACCESS RESULTS HERE ==");
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextButton(
          onPressed: () async {
            await showCupertinoModalBottomSheet(
              context: context,
              builder: (BuildContext context) {
                return EkycIDExpress(
                  language: Language.KH,
                  onKYCCompleted: onKYCCompleted,
                );
              },
            );
          },
          child: Text("Start KYC"),
        ),
      ),
    );
  }
}

Step 3: Handle the results

In the onKYCCompleted callback, you will have access to an instance of LivenessDetectionResult, and two instances of DocumentScannerResult (One for each side of the document).

Step 3: Match Faces

You can perform a face compare between the face in the document and the face from liveness detection like below.


Future<void> onKYCCompleted({
  required LivenessDetectionResult liveness,
  required DocumentScannerResult mainSide,
  DocumentScannerResult? secondarySide,
}) async {
  
  ApiResult response = await EkycIDServices.instance.faceCompare(
    faceImage1: mainSide.faceImage,
    faceImage2: liveness.frontFace?.image,
  );

  print(response.data?) // match score
}

Step 4: Perform OCR

You can perform OCR on the document image like below.


Future<void> onKYCCompleted({
  required LivenessDetectionResult liveness,
  required DocumentScannerResult mainSide,
  DocumentScannerResult? secondarySide,
}) async {
  
  ApiResult response = await EkycIDServices.instance.ocr(
    image: mainSide.documentImage,
    objectType: mainSide.documentType
  );

  print(response.data?) // response object based on document type
}

4. License #


© 2022 EKYC Solutions Co, Ltd. All rights reserved.

6
likes
0
points
854
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter Plugin to interact with EkycID.

Homepage

License

unknown (license)

Dependencies

dio, flutter, flutter_beep, flutter_font_icons, flutter_spinkit, http_parser, just_audio, vibration

More

Packages that depend on ekyc_id_flutter