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
| Signal | Description |
|---|---|
fingerprint | Unique device hash |
device_id | Persistent device identifier |
platform | "ios" or "android" |
os_version | iOS/Android version |
model | Device model (iPhone 14, Pixel 7) |
manufacturer | Apple, Samsung, Google, etc. |
screen_resolution | Screen dimensions |
is_emulator | Emulator/simulator detection |
is_rooted | Root/jailbreak detection |
Behavioral Signals
| Signal | Description |
|---|---|
keystroke.avg_delay | Time between keystrokes |
keystroke.typing_speed | Characters per second |
touch.avg_pressure | Touch pressure (if available) |
touch.swipe_velocity | Swipe speed |
form_fill_time | Time to complete form |
Platform Support
| Platform | Version |
|---|---|
| iOS | 12.0+ |
| Android | API 21+ (5.0) |
| Flutter | 3.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
- Installation - Detailed setup guide
- Quick Start - Basic integration
- Widgets - Flutter widget reference
- Push Notifications - Configure FCM and APNs delivery