Skip to main content

Flutter SDK

The Simplr Flutter SDK provides fraud signals, RUM, feature flags, feedback, and push notifications for iOS and Android apps from one package.

Features

  • Device Fingerprinting - Hardware and software identification
  • Behavioral Biometrics - Touch and typing pattern analysis
  • Emulator Detection - Detect emulators and simulators
  • Flutter Widgets - Drop-in form components
  • Push Notifications - FCM and APNs delivery using your own provider accounts

Installation

Add to your pubspec.yaml:

dependencies:
simplr_ai: ^1.1.0

Then run:

flutter pub get

Quick Example

import 'package:simplr_ai/simplr_ai.dart';

class SignupScreen extends StatefulWidget {

_SignupScreenState createState() => _SignupScreenState();
}

class _SignupScreenState extends State<SignupScreen> {
final _simplr = SimplrFraud();
final _emailController = TextEditingController();

Future<void> _onSubmit() async {
// Collect all signals
final signals = await _simplr.collect(context);

// Send to your backend
await api.post('/signup', {
'email': _emailController.text,
'signals': signals.toJson()
});
}


Widget build(BuildContext context) {
return Column(
children: [
SimplrTextField(
tracker: _simplr,
controller: _emailController,
fieldName: 'email',
decoration: InputDecoration(labelText: 'Email'),
),
ElevatedButton(
onPressed: _onSubmit,
child: Text('Sign Up'),
),
],
);
}
}

What Gets Collected

Device Signals

SignalDescription
fingerprintUnique device hash
device_idPersistent device identifier
platform"ios" or "android"
os_versioniOS/Android version
modelDevice model (iPhone 14, Pixel 7)
manufacturerApple, Samsung, Google, etc.
screen_resolutionScreen dimensions
is_emulatorEmulator/simulator detection
is_rootedRoot/jailbreak detection

Behavioral Signals

SignalDescription
keystroke.avg_delayTime between keystrokes
keystroke.typing_speedCharacters per second
touch.avg_pressureTouch pressure (if available)
touch.swipe_velocitySwipe speed
form_fill_timeTime to complete form

Platform Support

PlatformVersion
iOS12.0+
AndroidAPI 21+ (5.0)
Flutter3.16.0+

Permissions

Android

Fraud signals and RUM require no special permissions. Mobile push uses Firebase Messaging; Android 13 and later requires notification permission before alerts can be displayed. Call simplr.push?.requestPermission() from user-initiated UI.

iOS

Fraud signals and RUM use standard iOS APIs. Mobile push requires the Push Notifications capability and notification permission. Complete Firebase's iOS setup so the SDK can obtain the native APNs token.

Next Steps