verisoul_sdk 0.0.2
verisoul_sdk: ^0.0.2 copied to clipboard
The Flutter Verisoul SDK wraps Verisoul’s native iOS & Android SDKs, providing fraud prevention, risk assessment, session management, and secure initialization.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:verisoul_sdk/entities/motion_action.dart';
import 'package:verisoul_sdk/entities/verisoul_environment.dart';
import 'package:verisoul_sdk/verisoul_sdk.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _sessionId = 'Press the button to get session';
final _verisoulSdkPlugin = VerisoulSdk();
@override
void initState() {
super.initState();
initSdk();
}
Future<void> initSdk() async {
try {
await _verisoulSdkPlugin.init(
env: VerisoulEnvironment.sandbox,
projectId: "00000000-0000-0000-0000-000000000001");
} catch (error) {
print('Error initializing Verisoul: $error');
}
}
void handleGetSessionId() async {
try {
String id = await _verisoulSdkPlugin.getSessionId();
setState(() {
_sessionId = id;
});
} catch (error) {
print('Error fetching session ID: $error');
}
}
/// Sends a touch event to the Verisoul SDK.
///
/// This method sends touch event data to the SDK for processing.
Future<void> onTouchEvent({
required double x,
required double y,
required MotionAction action,
}) async {
await _verisoulSdkPlugin.onTouchEvent(x: x, y: y, action: action);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Flutter Sample App'),
),
body: Stack(
children: [
Listener(
onPointerDown: (event) {
onTouchEvent(
x: event.localPosition.dx,
y: event.localPosition.dy,
action: MotionAction.actionDown);
},
onPointerMove: (event) {
onTouchEvent(
x: event.localPosition.dx,
y: event.localPosition.dy,
action: MotionAction.actionMove);
},
onPointerUp: (event) {
onTouchEvent(
x: event.localPosition.dx,
y: event.localPosition.dy,
action: MotionAction.actionUp);
},
child: Container(
color: Colors.transparent,
width: double.infinity,
height: double.infinity,
),
),
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(height: 8), // Added spacing
Padding(
padding: const EdgeInsets.symmetric(horizontal: 64.0),
child: Image.asset(
'assets/logo.png',
),
),
SizedBox(height: 32), // Added spacing
Text('Session ID: $_sessionId'),
SizedBox(height: 8), // Added spacing
ElevatedButton(
onPressed: handleGetSessionId,
child: const Text('Get Session ID'),
),
],
),
),
],
),
),
);
}
}