trustchex_flutter_sdk 1.515.0
trustchex_flutter_sdk: ^1.515.0 copied to clipboard
Identity verification and face authentication SDK with document scanning, liveness detection, NFC/eID reading, and biometric technology for Flutter apps.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:trustchex_flutter_sdk/trustchex_flutter_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
// MASAK 4/C(1)(e) geolocation needs no app-side setup: the SDK captures a
// coarse fix natively (iOS Core Location / Android LocationManager) when a
// workflow step enables collectGeolocation. The host only declares the OS
// permission strings (see Info.plist / AndroidManifest.xml).
runApp(const TrustchexExampleApp());
}
class TrustchexExampleApp extends StatelessWidget {
const TrustchexExampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Trustchex SDK Example',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(
seedColor: const Color.fromARGB(255, 14, 11, 11)),
useMaterial3: true,
scaffoldBackgroundColor: Colors.white,
),
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
home: const ExampleHomeScreen(),
);
}
}
class ExampleHomeScreen extends StatefulWidget {
const ExampleHomeScreen({super.key});
@override
State<ExampleHomeScreen> createState() => _ExampleHomeScreenState();
}
class _ExampleHomeScreenState extends State<ExampleHomeScreen> {
@override
Widget build(BuildContext context) {
return TrustchexView(
baseUrl: 'https://app.trustchex.com',
branding: const TrustchexBranding(
primaryColor: Colors.black,
secondaryColor: Color(0xFFCCCCCC),
tertiaryColor: Colors.red,
),
locale: TrustchexLocale.en,
enableAnalytics: true,
isDebugMode: false,
onDocumentRead: (result) {
debugPrint('=== onDocumentRead ===');
debugPrint('documentType: ${result.document.documentType.name}');
debugPrint('issuingCountry: ${result.document.issuingCountry}');
debugPrint('nationality: ${result.document.nationality}');
debugPrint('documentNumber: ${result.document.documentNumber}');
debugPrint('dateOfBirth: ${result.document.dateOfBirth}');
debugPrint('dateOfExpiry: ${result.document.dateOfExpiry}');
debugPrint('sex: ${result.document.sex.name}');
debugPrint('rawLast: ${result.name.rawLast} rawFirst: ${result.name.rawFirst}');
debugPrint('displayLast: ${result.name.displayLast} displayFirst: ${result.name.displayFirst}');
debugPrint('nameSource: ${result.name.source.name}');
debugPrint('hasFace: ${result.face != null}');
debugPrint('======================');
},
onCompleted: () {},
onError: (error) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Error: $error'),
backgroundColor: Colors.red,
),
);
},
);
}
}