FaceTec SDK Flutter Plugin Demo

UPDATED VERSION FOR LATEST SDK VERSION

This plugin provides easy access to the FaceTec SDK from a Flutter app using the Android or iOS platform. This plugin is created by SnapCommute Labs Pvt. Ltd. This plugin contains limited functionality. For full version of the plugin please send an email request to plugins@snapcommute.com. The full version has functionalities for enrollment, authentication, IDScan etc. as well as full customization options available through FaceTec SDK.

Note: This is only a demo plugin with minimum functionality and currently this plugin works with both iOS and Android SDKs of version 9.6.16. Flutter version 3.3

Installation

Download the complete code to a local folder and add the below in pubspec.yaml of the project you want to add the plugin

facetec_flutter_plugin_demo: path: ../

As provided in the example app, update your device key identifier provided in the FaceTec developer website.

File copy and modification

Since the FaceTec SDK files are large, it is not included in Flutter Pub folder. Please visit FaceTec Developer Website (dev.facetec.com) and download the sdk files and copy the relevant file to the root folder of this plugin.

For Android, there will be a .aar file inside the downloaded zip file (like facetec-sdk-version#.aar), which has to be copied to a 'libs' folder under the android root folder. For iOS, there will be a folder named FaceTecSDK.xcframework within the zip file, which has to be copied to the iOS root folder.

Image files also needs to copied for the latest SDK to work properly. For android copy all the anim and drawable folders to res folder. Anim and drawable folders are available in the Android Sample App in the SDK zip file that you downloaded from FaceTec site. For ios copy all the images available in iOS Sample App into assets/images file similar to the structure in example app and add the code relating to assets in pubspec.yaml.

Fos iOS, add the 'NSCameraUsageDescription' in info.plist for the camera permission screen to appear.

Functions available in the plugin

FacetecFlutterPluginDemo.initialize("ADD YOUR KEY HERE",isProductionMode,"PRODUCTION KEY TEXT");

FacetecFlutterPluginDemo.verify();

FacetecFlutterPluginDemo.enroll("user_id");

FacetecFlutterPluginDemo.authenticate("user_id");

FacetecFlutterPluginDemo.idCheck("user_id",isNewUser);

FacetecFlutterPluginDemo.getEnrollmentStatus("user_id","CUSTOM ENROLLMENT STATUS END POINT");

FacetecFlutterPluginDemo.deleteEnrollment("user_id","CUSTOM DELETE ENROLLMENT END POINT");

FacetecFlutterPluginDemo.auditTrail();

FacetecFlutterPluginDemo.idScanImages();

FacetecFlutterPluginDemo.setServerUrl("sever_url");

FacetecFlutterPluginDemo.setPublicKey("public_key");

FacetecFlutterPluginDemo.setTheme("theme");

FacetecFlutterPluginDemo.getSdkStatus();

FacetecFlutterPluginDemo.getVersion();

Getting Started with Flutter

This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.