Version 3001.0.0 of the BlinkCard React Native SDK.
- Updated to Android SDK v3001.0.0 and iOS SDK v3001.0.0
Breaking changes
- Android build requirements: Applications integrating the plugin must compile with compileSdk 36 and use a compatible Android Gradle Plugin (8.9.1 or newer). The plugin is built with Kotlin 2.2.21 (Kotlin 2.1 or newer is required to compile against the native SDK).
Changes in TypeScript and API
- Renamed detection level settings to match the native SDK:
DetectionLevel→SensitivityLevelScanningSettings.tiltDetectionLevel→tiltSensitivityLevel
- Renamed the anonymization API to redaction:
AnonymizationMode→RedactionModeAnonymizationSettings→RedactionSettingsCardNumberAnonymizationSettings→CardNumberRedactionSettingsScanningSettings.anonymizationSettings→redactionSettings- Removed
cardNumberPrefixAnonymizationMode; card-number prefix redaction followsCardNumberRedactionSettings.mode.
- Renamed
CheckResult.NotPerformedtoCheckResult.NotAvailable('notAvailable'). This affects liveness check results andoverallCardLivenessResult. - Redaction defaults: If
ScanningSettings.redactionSettingsis not set, the native SDK 3001 redaction policy applies (card number and CVV redacted with four prefix and four suffix digits visible on the PAN; IBAN and cardholder name not redacted). To restore fully unredacted behavior, assignredactionSettingsexplicitly withRedactionMode.Noneon the fields you need. - Step timeout: Default
BlinkCardSessionSettings.stepTimeTimeoutIntervalchanged from 15 seconds to 60 seconds (value is in milliseconds:60000). - SDK initialization (iOS): Resource download settings are passed via
resourcesConfiguration/ResourcesConfigon the native side. UseBlinkCardSdkSettingsfieldsdownloadResources,resourceDownloadUrl,resourceLocalFolder,bundleIdentifier, andresourceRequestTimeoutas before; see blinkCardSettings.ts. - Direct API export name: The TypeScript export
perfromDirectApiScanwas renamed toperformDirectApiScan(documentation and native bridge already used the correct spelling). Update imports if you referenced the misspelled name. RedactionSettingsconstructor defaults: Default property values when constructingRedactionSettings/CardNumberRedactionSettingsin TypeScript now match the native session default redaction struct (PANfullResultwith four prefix and suffix digits visible, CVVfullResult, IBAN and cardholder namenone). OmittingScanningSettings.redactionSettingsstill uses the native SDK policy without sending a custom object.
Improvements
- Added
CardAccountResult.binCheckResult(CheckResult: pass, fail, or notAvailable). BIN check requires a license with the appropriate right and may be unavailable on some licenses. - Added
BlinkCardSessionSettings.inactivityTimeoutInterval(milliseconds, default10000; set to0to disable). Maps to session settings on iOS and UX settings on Android. - Session timeouts: Values are forwarded to the native SDK as-is. Negative
stepTimeTimeoutIntervaldoes not disable the step timeout on either platform. UseinactivityTimeoutInterval0to disable inactivity timeout where supported (see field documentation). - Added
ScanningUxSettings.allowScanSound(defaulttrue) to control scan success sounds. BlinkCardSdkSettings.resourceRequestTimeout(milliseconds) is now applied on Android as well as iOS. When omitted, the native default applies (30 seconds in SDK 3001, increased from 10 seconds on Android).- Default resource download URL and local folder when omitted: Android uses
ResourcesConfig.defaultResourceDownloadUrlanddefaultResourcesLocalFolderfrom the native SDK. iOS has no equivalent public statics; the React Native plugin applies the same values asResourcesConfiginitializer defaults in the BlinkCard iOS SDK (https://models.cdn.microblink.com/resourcesandMLModels).
Native SDK improvements (no additional React Native API)
The underlying Android and iOS SDK 3001 releases also include OCR, expiry-format, and Amex CVV fixes, updated resource-request timeout modeling, and other UX or custom-UI changes. Those behave according to the native SDK when using the default React Native scanning UI.
- For details, see the Android v3001.0.0 and iOS v3001.0.0 release notes.
Migration from 3000.x
- Replace renamed types and properties in settings and result handling (
NotAvailable, redaction naming,SensitivityLevel). - Replace
perfromDirectApiScanimports withperformDirectApiScan. - Review redaction: omit
redactionSettingsto use SDK defaults, or set explicitRedactionSettingsfor custom behavior. - Adjust expectations for step timeout (60s) and optional inactivity timeout (10s default).
- Ensure Android apps meet compileSdk 36 and current Kotlin/AGP requirements.
- Rebuild and reinstall the plugin package in sample or host apps after upgrading.