idmeta_flutter 0.2.0
idmeta_flutter: ^0.2.0 copied to clipboard
Flutter plugin for IDmeta identity verification on Android and iOS. Integrate trust flows for document, biometric, and compliance checks in mobile apps using your IDmeta account.
0.2.0 #
Trust flow resume #
- Incomplete trust flows can be continued on the same
trustFlowIdwithin 30 minutes when dashboarduser_experience.allow_resumeis enabled. - The plugin stores the verification ID and queued document automations (AML, Australia checks, and similar) and posts them at finalize.
- Completed plans and queued automations are skipped so the next interactive step opens; turning resume off does not delete a live snapshot.
- Snapshots are cleared on finalize HTTP 2xx or when the local 30-minute
expiry is reached. The next
startVerification(any flow) also deletes expired or missing-TTL leftovers. Hosts do not call a purge API. - Added
flutter_secure_storagefor those snapshots. No extra host setup.
Document verification — Level 1 plan-based filtering #
- When a document step has no dashboard country/card or generic-type filter,
accepted types are inferred from later source plans in the same flow
(Philippines gov-checks,
scan_qr→ PhilSys, Australia checks,malaysia_ic_check). - Dashboard step filters still win. Level 1 does not override them.
- No source plans → the step still accepts any document. Extra source plans do not add capture steps; they map onto existing unfiltered steps in order.
0.1.0 #
Advance custom forms (get-custom-forms) #
- Others option —
validation.allowOthersonselectandmulti_selectappends an Others choice with a Please specify text field; the typed text replacesOtherson submit. - Conditional visibility —
settings.conditionsof typeshow_hideis now applied. Show targets start hidden, hide targets start visible, multiple rules on one field are OR'd, andenabled: falserules are ignored. Hidden fields discard their values, skip validation, and are omitted fromanswers[]. - Condition states implemented per field type: text and email (
equals,not_equals,contains,not_contains,starts_with,ends_with,is_empty,is_filled), number, date (before,after,equals_date,not_equals_date,equals_day,not_equals_day), select, multi select, full name, and address (country_equals,state_equals, and negations). - Address field — parses nested
sub_fields.fieldsand renders peraddressFormatType: generic, Philippines, Indonesia, and Malaysia layouts, with format-specific required markers and API-matching submit keys. - Full name — optional middle name, sub-field layout, and empty/filled condition support.
- Date fields — use the API
label(falling back to Date Input / Date and time) instead of a hardcoded caption. - Email validation is now shared between field validation and conditions, so
is_filledrequires a well-formed address.
Philippines verification #
- New document details extraction flow
(
philippines_document_details_extraction) with allowed-document-type validation at capture and on submit. - New PhilSys tier 1 plan (
philsys_check_tier_1); PhilSys QR now submits only after Continue or when auto-submit is configured. - Tightened government ID input rules and validators for PNP, NBI, SSS, and PRC, including auto-formatting and length caps taken from the document examples.
- PNP clearance numbers are validated by length only (21 letters/digits) —
the
TRAprefix is no longer required. - NBI clearance requires exactly 9 characters after the hyphen.
Indonesia verification #
- New passport details extraction
(
idn_passport_details_extraction) and driving license details extraction (idn_driving_license_details_extraction) flows, with shared document guards and field mapping.
0.0.3 #
Document verification v2 (Regula BarcodeMRZ) #
- Switched
document_verification_v2from Regula DocType to BarcodeMRZ core (flutter_document_reader_core_barcodemrz) — locate/crop plus MRZ/barcode capture withoutdb.datdownload. - Centralized V2 scanner session settings in
document_scanner_v2_settings.dart. - V2 OCR parsing and flow wiring updates for the new capture path.
Document scanner v2 — device-tier tuning #
- Added RAM-based device tiers (low / mid / high) to tune Regula capture quality settings per device class.
- Fixed tier detection:
device_info_plusreportsphysicalRamSizein MB, not GB.
Document verification — generic type filtering #
- Dashboard step filters now support three modes:
- Country + card (
filter_by_country: truewithcardType) - Generic type (
filter_by_country: falsewithgenericDocumentType: 1 = Identity Card, 2 = Passport, 3 = Driver's License) - None — no client-side type filter
- Country + card (
- V1 (
document_verification): Blink at-capture validation plus OCR post-submit. - V2 (
document_verification_v2): single-step generic validation on post-submit only (V2 multi-step generic deferred). - Unknown document types are rejected in generic mode.
Network and example #
- Bearer token sanitization (trim, zero-width characters, wrapping quotes) and
duplicate
Bearerprefix normalization. - Example app:
--dart-defineprefill forIDMETA_USER_TOKEN, client ID, and trust flow ID (helps ID Screen and other devices where long paste is truncated). - Example Android manifest:
INTERNETpermission.
0.0.2 #
Dependencies and Android #
- Updated direct dependencies to latest compatible versions where compatible.
- Pinned
blinkid_flutterto ^7.7.0 — 8000.0.0 has an Android plugin class filename mismatch that fails Linux CI; upgrade when Microblink publishes a fix. - Updated file upload flows for
file_pickerv12 (pickFilesreturn type). - Raised Android
compileSdkto 37 (plugin and example; required bypermission_handler_android14).
Biometric camera #
- Removed ML Kit debug overlay (bounding box, contours, landmarks) from the biometric camera preview. The oval guide frame and face detection logic are unchanged.
Pub.dev metadata #
- Expanded
pubspec.yamldescription for pub.flutter-io.cn scoring. - Removed unreachable private GitHub
repository/issue_trackerlinks; homepage and documentation remain on docs.idmetagroup.com.
License #
- Adopted the MIT License for this plugin package (pub.flutter-io.cn OSI compliance). Using IDmeta verification services still requires a valid IDmeta account, API credentials, and applicable customer agreement. Native third-party SDKs remain subject to their vendor licenses.
0.0.1 #
Initial beta release of the IDmeta Flutter plugin.
Highlights #
- Launch identity verification flows with
IdmetaFlutter.startVerification. - Android and iOS support (Android compileSdk 36, minSdk 24; iOS 16.0+).
- Requires Flutter
>=3.41.0on iOS (Swift Package Manager / Regula DocType). - Document verification v2 with Regula DocType core (
Scenario.DOCTYPE). - IAD (Injection Attack Detection) supported via the separate private
idmeta_iadpackage; core-only installs continue to work for non-IAD trust flows. - IAD capturing license loaded from the IDmeta API (
bvIADCapturingLicense). - Bundled example app ships as Path A (core only); see README for Path B setup.
Notes #
- This release is intended for initial integration testing.
- Path B requires
idmeta_iadandIdmetaIad.register()at app startup.