deepidsdk_flutter 1.0.5 copy "deepidsdk_flutter: ^1.0.5" to clipboard
deepidsdk_flutter: ^1.0.5 copied to clipboard

Flutter plugin for the DeepID SDK (Android + iOS). Provides SIM binding, device enrollment, and fraud detection capabilities.

1.0.5 #

  • Feature: added DeepId.logout() — clears the current enrolled session (deepId, sessionId, DeepId credentials, SIM binding state, and any locally persisted identifier) on both Dart and native sides. After logout(), calling initialize() again performs a fresh enrollment and fires the onEnrollment callback with a new deepId / sessionId. Safe to call when no session is active; a pending onEnrollment is rejected with the message Enrollment cancelled by logout(). Example app demonstrates the flow with a new "Logout" button under "Initialize & Enroll".
  • Fix (Android): EnrollmentResult.deepId is now stable across process restarts, matching the contract documented on the field. On the second-and-subsequent launches with an existing enrollment, the plugin was delivering a different identifier than the one returned on the first fresh enrollment. The plugin now persists the correct identifier from the first enrollment and returns it on every subsequent restore.
  • Fix (Android + iOS): DeepId.getFreshDeviceIntelligence() now works on every launch, not only the first fresh enrollment. Previously, on a second-and-subsequent launch with an existing enrollment, the native device-intelligence collector was never re-initialized in the new process, so the call resolved with null ("Fresh device intelligence is unavailable"). The underlying SDKs now lazily re-create the collector on demand, the first time getFreshDeviceIntelligence() is invoked after a process start.
  • Migration: If you tested against 1.0.4 or earlier and observed the wrong deepId on subsequent launches, clear the app's storage once after upgrading (Android Settings → Apps → Storage → Clear Data, or uninstall + reinstall). Devices that never ran an affected build are not impacted. The fresh device intelligence fix requires no migration.
  • Requires updated native binaries — replace deepidsdk.aar and the iOS xcframeworks under ~/.pub-cache/hosted/pub.dev/deepidsdk_flutter-1.0.5/ with the matching artifacts from DeepID.

1.0.4 #

  • Fix (build-blocking): corrected minimum iOS target to 15.0 (was 13.0) — podspec, example Podfile, and Xcode project updated.
  • Fix (build-blocking): corrected minimum Android API to 29 (was 21) — manifest-merger fails for hosts below API 29.
  • Fix (documentation): Added troubleshooting steps for the iOS release build.

1.0.3 #

  • iOS: refreshed DeepIdSDK.xcframework with an updated device-identifier source for the enrollment and SIM binding callbacks. The deepId field name, type, and shape are unchanged — existing integrations require no code changes, though the returned identifier value may differ after re-enrollment.
  • iOS: internal native plugin-bridge updates to match the refreshed binary.
  • No public Dart API changes.

1.0.2 #

  • iOS: added ShieldPtr.xcframework as a required vendored framework alongside DeepIdSDK.xcframework. Both must be placed under ios/Frameworks/ before running pod install.
  • Documentation: updated Prerequisites, "Verify before continuing", iOS setup, and Troubleshooting sections to reflect the second xcframework requirement.

1.0.1 #

  • Documentation: clarified that native SDK binaries must be placed inside the pub cache directory (~/.pub-cache/hosted/pub.dev/deepidsdk_flutter-<version>/), not a local plugin checkout.
  • Documentation: corrected enrollmentTimeout default from 30 s to 150 s in the API reference and error-handling sections.
  • Documentation: corrected iOS mobile field description — server value is returned first, phoneNumber parameter is the fallback.
  • Documentation: renamed Android binary from deepidsdk-release.aar to deepidsdk.aar throughout.

1.0.0 #

Initial release of deepidsdk_flutter.

Features #

  • DeepId.initialize(appKey:, appSecret:, onEnrollment:, onEnrollmentError:, enrollmentTimeout:) — initializes the native SDK and kicks off background device enrollment. Returns once the SDK is constructed (does not wait for enrollment to complete). Pass onEnrollment here or call DeepId.onEnrollment() separately to be notified when deepId + sessionId are ready.
  • DeepId.onEnrollment(onSuccess:, onError:, timeout:) — callback-driven enrollment listener. Fires exactly once when both identifiers are available, or delivers a DeepIdException on timeout or failure.
  • DeepId.startSimBinding({phoneNumber}) — presents the native SIM binding sheet (Android: Jetpack Compose Activity; iOS: SwiftUI page sheet). Awaits user confirmation and carrier verification, then returns a SimBindingResult.
  • DeepId.isInitialized — async getter; true after a successful initialize() call.
  • DeepId.deepId / DeepId.sessionId — synchronous accessors populated after the enrollment callback fires.

Types #

  • EnrollmentResult — carries deepId and sessionId from a completed enrollment.
  • SimBindingResult — carries success, deepId, sessionId, mobile, and message from a completed SIM binding flow.
  • DeepIdException — typed exception with a DeepIdErrorCode and a human-readable message. Thrown by initialize() and startSimBinding(), and passed to onEnrollmentError.
  • DeepIdErrorCode — exhaustive enum covering all failure modes: notInitialized, invalidAppKey, invalidAppSecret, initFailed, enrollmentTimeout, enrollmentNotComplete, simBindingFailed, userCancelled, and more.

Platform support #

Platform Minimum version
Android API 21 (Android 5.0)
iOS 13.0

Notes #

  • The native SDK binaries (Android AAR and iOS xcframework) are distributed separately by DeepID and are not bundled in this package. See the README.md Prerequisites section for placement instructions.
  • On Android, READ_PHONE_STATE and SEND_SMS are dangerous permissions that must be granted at runtime before calling startSimBinding().
  • On iOS, add NSMotionUsageDescription to your Info.plist before submitting to the App Store.
0
likes
130
points
147
downloads

Documentation

API reference

Publisher

verified publishersurepass.io

Weekly Downloads

Flutter plugin for the DeepID SDK (Android + iOS). Provides SIM binding, device enrollment, and fraud detection capabilities.

Homepage

License

unknown (license)

Dependencies

flutter

More

Packages that depend on deepidsdk_flutter

Packages that implement deepidsdk_flutter