Device Signals
Collect device fingerprints and detect emulators on mobile.
Collecting Device Signals
final simplr = SimplrFraud();
final device = await simplr.collectDeviceSignals(context);
print(device.fingerprint); // Unique device hash
print(device.isEmulator); // true if emulator detected
print(device.model); // "iPhone 14 Pro"
Device Signal Fields
| Field | Type | Description |
|---|---|---|
fingerprint | String | Unique device hash |
device_id | String | Persistent identifier |
platform | String | "ios" or "android" |
os_version | String | OS version |
model | String | Device model |
manufacturer | String | Device manufacturer |
screen_resolution | String | Screen dimensions |
is_emulator | bool | Emulator detected |
Emulator Detection
Detects iOS simulators and Android emulators:
if (device.isEmulator) {
// Block or flag for review
showError('Emulators not allowed');
return;
}
Detection Signals
Android:
- Hardware fingerprint checks
- Model name patterns
- Build properties
iOS:
- Architecture detection (x86, i386)
- Simulator environment
Full Response
class DeviceSignals {
final String fingerprint;
final Map<String, String> fingerprintComponents;
final String deviceId;
final DateTime deviceIdCreatedAt;
final String platform;
final String osVersion;
final String model;
final String manufacturer;
final String brand;
final String screenResolution;
final double pixelRatio;
final String timezone;
final String language;
final int cpuCores;
final bool isEmulator;
final double emulatorConfidence;
}