@microblink/blinkid-react-native 7.7.0 → 8001.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/BlinkidReactNative.podspec +2 -1
  2. package/README.md +621 -281
  3. package/android/build.gradle +56 -4
  4. package/android/gradle.properties +3 -4
  5. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdClassInfoIdMappings.kt +33 -0
  6. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +370 -258
  7. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +149 -41
  8. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +54 -31
  9. package/ios/BlinkidReactNative.mm +49 -52
  10. package/ios/BlinkidReactNativeModule.swift +114 -57
  11. package/ios/Frameworks/BlinkID.xcframework/Info.plist +5 -9
  12. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  13. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +893 -13
  14. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  15. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64.swiftdoc +0 -0
  16. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/{arm64-apple-ios.private.swiftinterface → arm64.swiftinterface} +2421 -2076
  17. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.modulemap +1 -7
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivacyInfo.xcprivacy +0 -0
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +893 -13
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64.swiftdoc +0 -0
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/{arm64-apple-ios-simulator.swiftinterface → arm64.swiftinterface} +2421 -2076
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64.swiftdoc +0 -0
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/{x86_64-apple-ios-simulator.private.swiftinterface → x86_64.swiftinterface} +2421 -2076
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.modulemap +1 -7
  27. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +5 -5
  28. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  29. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +276 -276
  30. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  31. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  32. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  33. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  34. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  35. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  36. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  37. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  38. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  39. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  40. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  41. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  42. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  43. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  44. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  45. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +3860 -1881
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +87 -69
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +87 -69
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +87 -69
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +114 -114
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  144. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  145. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  146. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  147. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  148. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  149. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  150. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  151. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  152. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  153. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  154. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  155. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  156. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  157. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  158. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +3860 -1881
  159. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +87 -69
  160. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +87 -69
  161. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  162. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +87 -69
  163. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +3860 -1881
  164. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +87 -69
  165. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +87 -69
  166. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  167. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +87 -69
  168. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  169. package/ios/Serialization/BlinkIdDeserializationUtils.swift +614 -0
  170. package/ios/{BlinkIdSerializationUtilities.swift → Serialization/BlinkIdSerializationUtils.swift} +294 -255
  171. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  172. package/lib/module/blinkIdResult.js +1 -822
  173. package/lib/module/blinkIdResult.js.map +1 -1
  174. package/lib/module/blinkIdSettings.js +1 -496
  175. package/lib/module/blinkIdSettings.js.map +1 -1
  176. package/lib/module/index.js +94 -17
  177. package/lib/module/index.js.map +1 -1
  178. package/lib/module/types.js +715 -3373
  179. package/lib/module/types.js.map +1 -1
  180. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +36 -5
  181. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  182. package/lib/typescript/src/blinkIdResult.d.ts +17 -20
  183. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  184. package/lib/typescript/src/blinkIdSettings.d.ts +195 -317
  185. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
  186. package/lib/typescript/src/index.d.ts +48 -10
  187. package/lib/typescript/src/index.d.ts.map +1 -1
  188. package/lib/typescript/src/types.d.ts +1062 -1210
  189. package/lib/typescript/src/types.d.ts.map +1 -1
  190. package/package.json +5 -4
  191. package/src/NativeBlinkidReactNative.ts +39 -5
  192. package/src/blinkIdResult.ts +19 -466
  193. package/src/blinkIdSettings.ts +218 -389
  194. package/src/index.tsx +221 -35
  195. package/src/types.ts +1253 -1463
  196. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  197. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  198. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  199. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  200. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  201. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  202. package/android/.gradle/8.9/gc.properties +0 -0
  203. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  204. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  205. package/android/.gradle/vcs-1/gc.properties +0 -0
  206. package/android/.project +0 -28
  207. package/ios/BlinkIdDeserializationUtilities.swift +0 -374
  208. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +0 -43937
  209. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  210. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +0 -78651
  211. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  212. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +0 -2304
  213. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.private.modulemap +0 -12
  214. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +0 -19
  215. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +0 -245
  216. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +0 -40
  217. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +0 -87870
  218. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +0 -28
  219. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -78651
  220. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -2304
  221. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  222. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -78651
  223. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  224. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -2304
  225. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.private.modulemap +0 -12
  226. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +0 -19
  227. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +0 -300
  228. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +0 -40
  229. package/lib/module/blinkIdUtilities.js +0 -21
  230. package/lib/module/blinkIdUtilities.js.map +0 -1
  231. package/lib/typescript/src/blinkIdUtilities.d.ts +0 -8
  232. package/lib/typescript/src/blinkIdUtilities.d.ts.map +0 -1
  233. package/src/android/.project +0 -28
  234. package/src/blinkIdUtilities.ts +0 -20
package/README.md CHANGED
@@ -1,39 +1,60 @@
1
1
  <p align="center" >
2
- <img src="https://raw.githubusercontent.com/wiki/blinkid/blinkid-android/images/logo-microblink.png" alt="Microblink" title="Microblink">
2
+ <img src="https://raw.githubusercontent.com/wiki/microblink/blinkid-android/images/logo-microblink.png" alt="Microblink" title="Microblink">
3
3
  </p>
4
4
 
5
5
  # _BlinkID_ React Native plugin
6
6
 
7
- The BlinkID SDK is a comprehensive solution for implementing secure document scanning on the React Native cross-platform.
8
- It offers powerful capabilities for capturing and analyzing a wide range of identification documents. The Flutter plugin consists of BlinkID, which serves as the core module, and the BlinkIDUX package that provides a complete, ready-to-use solution with a user-friendly interface.
7
+ The BlinkID SDK is a comprehensive solution for implementing secure document scanning in React Native cross-platform applications.
8
+ It offers powerful capabilities for capturing and analyzing a wide range of identification documents. The React Native plugin wraps the native BlinkID SDK and BlinkID UX modules, providing a complete, ready-to-use scanning experience with a user-friendly interface.
9
9
 
10
- **Please note that, for maximum performance and full access to all features, it’s best to go with one of our native SDKs (for [iOS](https://github.com/BlinkID/blinkid-ios) or [Android](https://github.com/BlinkID/blinkid-android)).**
10
+ **Please note that, for maximum performance and full access to all features, it’s best to go with one of our native SDKs (for [iOS](https://github.com/microblink/blinkid-ios) or [Android](https://github.com/microblink/blinkid-android)).**
11
11
 
12
12
  However, since the wrapper is open source, you can add the features you need on your own.
13
13
 
14
+ > **Current version:** `@microblink/blinkid-react-native@8001.0.0` (BlinkID SDK v8001).
15
+ > If you are upgrading from v8000, see [What's new in v8001](#whats-new-in-v8001).
16
+ > If you are upgrading from v7.x, see [Migrating from v7.x](#migrating-from-v7x) (then apply the v8001 notes).
14
17
 
15
18
  # Table of contents
16
19
  - [Licensing](#licensing)
17
20
  - [Requirements](#requirements)
18
21
  - [Quickstart with the sample application](#quickstart-with-the-sample-application)
22
+ - [Android sample application](#android-sample-application)
23
+ - [On an emulator](#on-an-emulator)
24
+ - [On a physical device via USB](#on-a-physical-device-via-usb)
25
+ - [iOS sample application](#ios-sample-application)
19
26
  - [Plugin integration](#plugin-integration)
27
+ - [Android setup](#android-setup)
28
+ - [iOS setup](#ios-setup)
29
+ - [Permissions](#permissions)
20
30
  - [Plugin usage](#plugin-usage)
31
+ - [Imports and license key](#imports-and-license-key)
32
+ - [Configure scanning modules](#configure-scanning-modules)
33
+ - [Default BlinkID UX (camera scanning)](#default-blinkid-ux-camera-scanning)
34
+ - [BlinkID DirectAPI (static images)](#blinkid-directapi-static-images)
35
+ - [Document redaction](#document-redaction)
21
36
  - [Plugin specifics](#plugin-specifics)
22
37
  - [Scanning methods](#scanning-methods)
23
38
  - [SDK loading & unloading](#sdk-loading--unloading)
24
- - [BlinkID Settings](#blinkid-settings)
25
- - [BlinkID Results](#blinkid-results)
39
+ - [BlinkID settings](#blinkid-settings)
40
+ - [BlinkID results](#blinkid-results)
41
+ - [What's new in v8001](#whats-new-in-v8001)
42
+ - [What's new in v8000](#whats-new-in-v8000)
43
+ - [Migrating from v7.x](#migrating-from-v7x)
26
44
  - [Additional information and Support](#additional-information-and-support)
27
45
 
28
46
  ## <a name="licensing"></a> Licensing
29
- A valid license key is required to initialize the BlinkID plugin. A free trial license key can be requested after registering at the [Microblink Developer Hub](https://developer.microblink.com/).
47
+ A valid license key is required to initialize the BlinkID plugin.
48
+
49
+ A free trial license key can be requested after registering at the [Microblink Developer Hub](https://developer.microblink.com/).
30
50
 
31
51
 
32
52
  ## <a name="requirements"></a> Requirements
33
53
 
34
- - BlinkID React Native was built and tested with [React Native v0.82.1](https://github.com/facebook/react-native/releases/tag/v0.82.1)
35
- - The BlinkID React Native SDK is also compatible with React Native applications running on the old architecture as it contains backward compatibility with Native Module implementation.
36
- - For additional help with React-Native setup, view the official documentation [here](https://reactnative.dev/docs/set-up-your-environment).
54
+ BlinkID React Native v8001 was built and tested with [React Native v0.82.x](https://github.com/facebook/react-native/releases/tag/v0.82.1)
55
+ - The BlinkID React Native SDK is also compatible with React Native applications running on the old architecture as it contains backward compatibility with Native Module implementation.
56
+
57
+ For additional help with React-Native setup, view the official documentation [here](https://reactnative.dev/docs/set-up-your-environment).
37
58
 
38
59
  **Device requirements**
39
60
 
@@ -41,20 +62,22 @@ The BlinkID React Native plugin requires:
41
62
  - iOS version 16.0 and above
42
63
  - Android API version 24 and above
43
64
 
44
- - For more detailed information about the BlinkID Android and iOS requirements, view the native SDK documentation here ([Android](https://github.com/BlinkID/blinkid-android?tab=readme-ov-file#-device-requirements) & [iOS](https://github.com/BlinkID/blinkid-ios?tab=readme-ov-file#requirements)).
65
+ For more detailed information about the BlinkID Android and iOS requirements, view the native SDK documentation here ([Android](https://github.com/microblink/blinkid-android?tab=readme-ov-file#-device-requirements) & [iOS](https://github.com/microblink/blinkid-ios?tab=readme-ov-file#requirements)).
45
66
 
46
67
  ## <a name="quickstart-with-the-sample-application"></a> Quickstart with the sample application
47
- The sample application demonstrates how the BlinkID plugin is implemented, used and shows how to obtain the scanned results.
68
+ The sample application demonstrates how the BlinkID plugin is implemented and shows how to configure scanning modules and obtain results.
48
69
 
49
70
  It contains the implementation for:
50
- 1. The **default implementation** with the default BlinkID UX scanning experience.
51
- 2. **Multiside DirectAPI scanning** - extracting the document information from multiple static images (from the gallery).
52
- 3. **Singleside DirectAPI scanning** - extracting the document information from a single static images (from the gallery).
71
+ 1. **Default BlinkID UX scanning** camera-based scanning with configurable modules.
72
+ 2. **Multiside DirectAPI scanning** extracting document information from two static images (from the gallery).
73
+ 3. **Singleside DirectAPI scanning** extracting document information from a single static image (from the gallery).
74
+
75
+ The sample also includes a **module settings panel** where you can toggle and configure the document capture, barcode, MRZ, and VIZ modules, along with optional class filters and redaction settings.
53
76
 
54
- To obtain and run the sample application, follow the steps below:
55
- Make sure you have Node & Watchman installed before running the sample application:
77
+ To obtain and run the sample application, follow the steps below.
78
+ Make sure you have **Node & Watchman** installed before running the sample application:
56
79
  ```bash
57
- # install Watcman
80
+ # install Watchman
58
81
  brew install watchman
59
82
 
60
83
  # install Node
@@ -64,23 +87,34 @@ brew install node
64
87
  **To install & run the sample application:**
65
88
  1. Git clone the repository:
66
89
  ```bash
67
- git clone https://github.com/BlinkID/blinkid-react-native.git
90
+ git clone https://github.com/microblink/blinkid-react-native.git
91
+ ```
92
+ 2. Position to the obtained `blinkid-react-native` folder
93
+ ```bash
94
+ cd blinkid-react-native
68
95
  ```
69
- 2. Position to the obtained BlinkID folder and run the `initBlinkIdReactNativeSample.sh` script:
96
+ 3. Run the `initBlinkIdReactNativeSample.sh` script to create a sample app, with required configurations applied.
70
97
  ```bash
71
- cd blinkid-react-native && ./initBlinkIdReactNativeSample.sh
98
+ ./initBlinkIdReactNativeSample.sh
72
99
  ```
73
- 3. After the script finishes running, position to the `BlinkIdSample` folder.
100
+ 4. After the script finishes running, position to the `BlinkIdSample` folder.
74
101
 
75
- **Running the sample application on Android**
102
+ ### <a name="android-sample-application"></a> Android sample application
76
103
 
77
- For running the sample application on Android, execute the following command:
104
+ Running the sample application on Android
78
105
 
106
+ #### <a name="on-an-emulator"></a> On an emulator:
107
+
108
+ 1. Execute the following command:
109
+ ```bash
110
+ npx react-native start
111
+ ```
112
+ 2. In another terminal, run:
79
113
  ```bash
80
114
  npx react-native run-android
81
115
  ```
82
116
 
83
- **Note:** the plugin can be run directly via Android Studio as well:
117
+ **Alternative: Run directly via Android Studio:**
84
118
 
85
119
  1. Execute the following command:
86
120
  ```bash
@@ -88,7 +122,27 @@ npx react-native start
88
122
  ```
89
123
  2. Open the `android` folder via Android Studio in the `BlinkIdSample` folder to run the Android sample application.
90
124
 
91
- **Running the sample application on iOS**
125
+ #### <a name="on-a-physical-device-via-usb"></a> On a physical device via USB:
126
+
127
+ 1. Connect your device via USB and enable USB debugging in Developer Options.
128
+ 2. Forward the Metro bundler port:
129
+ ```bash
130
+ adb reverse tcp:8081 tcp:8081
131
+ ```
132
+ 3. Start Metro in one terminal:
133
+ ```bash
134
+ npx react-native start
135
+ ```
136
+ 4. In another terminal, build and run on the device:
137
+ ```bash
138
+ npx react-native run-android
139
+ ```
140
+
141
+ or open it in Android Studio and run it on the physical device from there.
142
+
143
+ ### <a name="ios-sample-application"></a> iOS sample application
144
+
145
+ Running the sample application on iOS
92
146
 
93
147
  1. For running the sample application on iOS, execute the following command:
94
148
  ```bash
@@ -100,336 +154,622 @@ npx react-native start
100
154
 
101
155
  ## <a name="plugin-integration"></a> Plugin integration
102
156
 
103
- 1. To add the BlinkID plugin to a React Native project, first create empty project if needed:
157
+ 1. To add the BlinkID plugin to a React Native project, first create an empty project if needed:
104
158
  ```bash
105
- npx @react-native-community/cli init YourAppName --package-name YourPackageName --title YourAppTitle --version "React Native version"
159
+ npx @react-native-community/cli init YourAppName --package-name YourPackageName --title YourAppTitle --version "0.82.0"
106
160
  ```
107
161
 
108
- 3. Install the `@microblink/blinkid-react-native` dependency:
162
+ 2. Install the `@microblink/blinkid-react-native` dependency:
109
163
  ```bash
110
- npm install --save @microblink/blinkid-react-native
164
+ npm install --save @microblink/blinkid-react-native@8001.0.0
111
165
  ```
112
166
 
113
- 4. Android: the BlinkID library is available on Maven Central repository.
167
+ 3. Complete the platform-specific setup below.
114
168
 
115
- In your project root, add `mavenCentral()` repository to the repositories list, if not already present:
116
- ```bash
117
- repositories {
118
- // ... other repositories
119
- mavenCentral()
169
+ ### <a name="android-setup"></a> Android setup
170
+
171
+ Add **Maven Central** to your project repositories.
172
+
173
+ In `android/settings.gradle` (or your root `build.gradle`, depending on your React Native version):
174
+
175
+ ```groovy
176
+ dependencyResolutionManagement {
177
+ repositories {
178
+ google()
179
+ mavenCentral()
180
+ }
181
+ }
182
+ ```
183
+
184
+ Ensure your app uses **Kotlin v2.2.21** or newer, **minSdkVersion 24** or newer, and **compileSdkVersion 36** or newer. Use the Android Gradle Plugin and Gradle versions shipped with your React Native release (for example, React Native 0.82.x uses AGP 8.12 and Gradle 9.0).
185
+
186
+ `blinkid-ux` ships its Compose-based scanning UI as a precompiled AAR, so client apps do not need to enable the Compose compiler plugin, `buildFeatures.compose`, or a Compose BOM unless they compile their own Compose code.
187
+
188
+ Set the Kotlin version in your project-level `android/build.gradle`:
189
+
190
+ ```groovy
191
+ buildscript {
192
+ ext {
193
+ kotlinVersion = "2.2.21"
194
+ }
120
195
  }
121
196
  ```
122
197
 
123
- 5. iOS: position to the `ios` folder and run `pod install` to install the iOS dependency.
198
+ The sample initialization script (`initBlinkIdReactNativeSample.sh`) contains the complete, tested Android configuration if you need a reference implementation.
199
+
200
+ ### <a name="ios-setup"></a> iOS setup
201
+
202
+ 1. Set the minimum iOS deployment target to **16.0** in your `ios/Podfile`:
203
+ ```ruby
204
+ platform :ios, '16.0'
205
+ ```
206
+
207
+ 2. Install pods:
208
+ ```bash
209
+ cd ios && pod install
210
+ ```
211
+
212
+ The plugin ships with vendored `BlinkID.xcframework` and `BlinkIDUX.xcframework` frameworks.
213
+
214
+ ### <a name="permissions"></a> Permissions
215
+
216
+ Add the required usage descriptions to your app:
217
+
218
+ **iOS** — in `Info.plist`:
219
+ ```xml
220
+ <key>NSCameraUsageDescription</key>
221
+ <string>Camera access is required for document scanning</string>
222
+ ```
223
+
224
+ If you use DirectAPI with images from the photo library, also add:
225
+ ```xml
226
+ <key>NSPhotoLibraryUsageDescription</key>
227
+ <string>Photo library access is required for document image upload</string>
228
+ ```
229
+
230
+ **Android** — camera permission is typically merged from the BlinkID UX library. If needed, add to `AndroidManifest.xml`:
231
+ ```xml
232
+ <uses-permission android:name="android.permission.CAMERA" />
233
+ ```
124
234
 
125
235
  ## <a name="plugin-usage"></a> Plugin usage
126
- 1. After the dependency has been added to the project, first add the necessary import:
236
+
237
+ **Note:** The plugin usage process can be found in the sample app `App.tsx` file [here](https://github.com/microblink/blinkid-react-native/blob/master/sample_files/App.tsx).
238
+
239
+ ### <a name="imports-and-license-key"></a> Imports and license key
240
+
241
+ After adding the blinkid-react-native dependency, import the API and set your platform-specific license key:
242
+
127
243
  ```typescript
244
+ import { Platform } from 'react-native';
128
245
  import {
129
246
  performScan,
130
247
  performDirectApiScan,
248
+ loadBlinkIdSdk,
249
+ unloadBlinkIdSdk,
250
+ refreshLicenseLease,
251
+ CountryID,
252
+ DocumentTypeID,
253
+ RegionID,
254
+ type BlinkIdScanningResult,
255
+ type BlinkIdSdkSettings,
256
+ type BlinkIdSessionSettings,
257
+ type BlinkIdScanningSettings,
258
+ type BlinkIdScanningUxSettings,
131
259
  } from '@microblink/blinkid-react-native';
260
+
261
+ const licenseKey = Platform.select({
262
+ ios: 'your-ios-key',
263
+ android: 'your-android-key',
264
+ })!;
265
+ ```
266
+
267
+ All settings are **plain objects**. You do not need class constructors.
268
+
269
+ Use `CountryID` / `RegionID` / `DocumentTypeID` for class filters and redaction document filters. Nested `Country` / `Region` / `DocumentType` types (`{ id?, rawValue }`) appear only on **scan results** (`documentClassInfo`).
270
+
271
+ ### <a name="configure-scanning-modules"></a> Configure scanning modules
272
+
273
+ Scanning behavior is configured through `BlinkIdScanningSettings`, which contains up to four module settings. Include only the modules you want to use — omitting a module disables it.
274
+
275
+ ```typescript
276
+ const scanningSettings: BlinkIdScanningSettings = {
277
+ // Document capture: detection, image quality, cropped images
278
+ documentCaptureModule: {
279
+ cropType: 'not-cropped', // camera UX must use not-cropped; see DirectAPI for cropped/unknown
280
+ inputImageSelectionStrategy: 'balanced', // camera / video only
281
+ documentImageReturnEnabled: true,
282
+ faceImageExtractionEnabled: true,
283
+ dotsPerInch: 250,
284
+ blurSensitivityLevel: 'mid',
285
+ imageWithBlurRejected: true,
286
+ glareSensitivityLevel: 'mid',
287
+ imageWithGlareRejected: true,
288
+ passportDataPageScanOnly: true,
289
+ },
290
+
291
+ // MRZ extraction (passports, visas, etc.)
292
+ mrzModule: {
293
+ presenceMandatory: false,
294
+ },
295
+
296
+ // Barcode extraction (PDF417, QR, Aztec, etc.)
297
+ barcodeModule: {
298
+ pdf417ScanningEnabled: true,
299
+ qrScanningEnabled: true,
300
+ aztecScanningEnabled: false,
301
+ barcodeImageReturnEnabled: false,
302
+ },
303
+
304
+ // VIZ extraction (visual fields on the document)
305
+ vizModule: {
306
+ signatureImageExtractionEnabled: true,
307
+ characterValidationEnabled: true,
308
+ resultAggregationEnabled: true,
309
+ },
310
+
311
+ // Max character mismatches allowed per field during cross-side data matching (default: 0)
312
+ maxAllowedMismatchesPerField: 0,
313
+ };
314
+
315
+ const sessionSettings: BlinkIdSessionSettings = {
316
+ scanningMode: 'automatic', // or 'single'
317
+ scanningSettings,
318
+ // Timeouts are in milliseconds. Set to 0 to disable.
319
+ stepTimeoutDuration: 60000, // default: 60 s
320
+ inactivityTimeoutDuration: 10000, // default: 10 s
321
+ };
132
322
  ```
133
- 2. Add the license key, for each platform, obtained from the [Developer Hub portal](https://developer.microblink.com/):
323
+
324
+ **Module-only scanning examples:**
325
+
326
+ - **Barcode only** — include `barcodeModule`, omit `mrzModule` and `vizModule`.
327
+ - **Document capture only** (similar to BlinkID Capture) — include only `documentCaptureModule`.
328
+
329
+ > **Note:** When using PDF417 and QR barcode scanning, enable both `pdf417ScanningEnabled` and `qrScanningEnabled` together. The analyzer treats them as a combined detection stage.
330
+
331
+ For DirectAPI with pre-cropped document images, set `documentCaptureModule.cropType` to `"cropped"` (or `"unknown"` if cropping is uncertain). Camera scanning (`performScan`) must keep `cropType: "not-cropped"`.
332
+
333
+ Module configuration helpers can be found in [ScanningModulesConfig.ts](https://github.com/microblink/blinkid-react-native/blob/master/sample_files/ScanningModulesConfig.ts).
334
+
335
+ ### <a name="default-blinkid-ux-camera-scanning"></a> Default BlinkID UX (camera scanning)
336
+
134
337
  ```typescript
135
- const licenseKey = Platform.select({
136
- ios: 'your-ios-key',
137
- android:
138
- 'your-android-key',
338
+ const sdkSettings: BlinkIdSdkSettings = {
339
+ licenseKey,
340
+ resourcesConfig: { download: true },
341
+ // otaResourcesConfig is optional — native defaults enable OTA update checks
342
+ };
343
+
344
+ const scanningUxSettings: BlinkIdScanningUxSettings = {
345
+ showHelpButton: true,
346
+ showOnboardingDialog: true,
347
+ allowHapticFeedback: true,
348
+ preferredCamera: 'back',
349
+ };
350
+
351
+ const classFilter = {
352
+ includeDocuments: [
353
+ { country: CountryID.Croatia, documentType: DocumentTypeID.Id },
354
+ { country: CountryID.USA, region: RegionID.Texas, documentType: DocumentTypeID.Dl },
355
+ ],
356
+ };
357
+
358
+ try {
359
+ const result: BlinkIdScanningResult = await performScan({
360
+ sdkSettings,
361
+ sessionSettings,
362
+ scanningUxSettings,
363
+ classFilter,
364
+ // redactionSettingsResolver, // optional — see Document redaction
139
365
  });
366
+
367
+ console.log(result.firstName?.value);
368
+ console.log(result.documentClassInfo?.country?.id);
369
+ console.log(result.documentClassInfo?.country?.rawValue);
370
+ console.log(result.firstDocumentImage); // base64, if enabled
371
+ } catch (error) {
372
+ console.log(`Error during scan: ${error}`);
373
+ }
140
374
  ```
141
- **Default BlinkID UX**
142
- 1. Set all of the necessary BlinkID settings (SDK settings, session settings, and the scanning settings). If the mentioned settings are not modified, the default values will be used:
143
- ```typescript
144
375
 
145
- /**
146
- * Set the BlinkID SDK settings
147
- * Add the license key here from the code above
148
- */
149
- const sdkSettings = new BlinkIdSdkSettings(licenseKey);
150
- sdkSettings.downloadResources = true;
151
-
152
- /**
153
- * Create and modify the Session Settings
154
- */
155
- const sessionSettings = new BlinkIdSessionSettings();
156
- sessionSettings.scanningMode = ScanningMode.Automatic;
157
- /**
158
- * Create and modify the scanning settings
159
- */
160
- const scanningSettings = new BlinkIdScanningSettings();
161
- scanningSettings.glareDetectionLevel = DetectionLevel.Mid;
162
- scanningSettings.anonymizationMode = AnonymizationMode.FullResult;
163
-
164
- /**
165
- * Create and modify the Image settings
166
- */
167
- const croppedImageSettings = new CroppedImageSettings();
168
- croppedImageSettings.returnDocumentImage = true;
169
- croppedImageSettings.returnFaceImage = true;
170
- croppedImageSettings.returnSignatureImage = true;
171
- /**
172
- * Place the image settings in the scanning settings
173
- */
174
- scanningSettings.croppedImageSettings = croppedImageSettings;
175
-
176
- /**
177
- * Place the scanning settings in the session settings
178
- */
179
- sessionSettings.scanningSettings = scanningSettings;
180
-
181
- /**
182
- * Modify the BlinkID UI settings for UI customization.
183
- * This parameter is optional.
184
- */
185
- const blinkIdScanningUxSettings = new BlinkIdScanningUxSettings();
186
- blinkIdScanningUxSettings.showHelpButton = true;
187
- blinkIdScanningUxSettings.showOnboardingDialog = true;
188
- blinkIdScanningUxSettings.allowHapticFeedback = true;
189
- blinkIdScanningUxSettings.preferredCamera = PreferredCamera.Back;
190
-
191
- /**
192
- * Add the document class filter. This parameter is optional.
193
- */
194
- const classFilter = new ClassFilter();
195
- classFilter.includeDocuments = [
196
- new DocumentFilter(Country.Croatia, undefined, DocumentType.Id),
197
- new DocumentFilter(Country.USA, Region.Texas, DocumentType.Dl),
198
- ];
199
- ```
200
-
201
- 2. Call the `performScan` scanning method, handle the results and catch any errors:
202
- ```typescript
203
- /**
204
- * Call the performScan method, where the SDK and session settings
205
- * need to be passed.
206
- *
207
- * Here, you can also pass the optional BlinkIdUiSettings and ClassFilter
208
- * parameters.
209
- */
210
- await performScan(sdkSettings, sessionSettings, blinkIdScanningUxSettings)
211
- .then((result: BlinkIdScanningResult) => {
212
- // handle the results here.
213
- console.log(result.firstName?.value);
214
- })
215
- .catch((error) => {
216
- // handle any errors here.
217
- console.log(`Error during scan: ${error}`);
218
- });
219
- ```
220
- **BlinkID DirectAPI**
221
- 1. Set all of the necessary BlinkID settings (SDK settings, session settings, and the scanning settings). If the mentioned settings are not modified, the default values will be used:
376
+ ### <a name="blinkid-directapi-static-images"></a> BlinkID DirectAPI (static images)
377
+
378
+ DirectAPI extracts data from Base64-encoded static images instead of using the camera UI.
379
+
380
+ - Pass **two images** with `scanningMode: 'automatic'` (front side first, back side second).
381
+ - Pass **one image** with `scanningMode: 'single'`.
382
+ - Set `documentCaptureModule.cropType` to `"cropped"` when images are already cropped and perspective-corrected, or `"unknown"` when cropping is uncertain. Use `"not-cropped"` for raw photos.
383
+
222
384
  ```typescript
385
+ const firstImageBase64 = 'your-base64-image';
386
+ const secondImageBase64 = 'your-base64-image'; // optional for single-side
387
+
388
+ try {
389
+ const result = await performDirectApiScan({
390
+ sdkSettings: {
391
+ licenseKey,
392
+ resourcesConfig: { download: true },
393
+ },
394
+ sessionSettings: {
395
+ scanningMode: 'automatic',
396
+ scanningSettings: {
397
+ documentCaptureModule: {
398
+ documentImageReturnEnabled: true,
399
+ cropType: 'not-cropped', // or 'cropped' / 'unknown' for DirectAPI
400
+ },
401
+ mrzModule: {},
402
+ barcodeModule: {
403
+ pdf417ScanningEnabled: true,
404
+ qrScanningEnabled: true,
405
+ aztecScanningEnabled: false,
406
+ },
407
+ vizModule: {},
408
+ },
409
+ },
410
+ firstImage: firstImageBase64,
411
+ secondImage: secondImageBase64,
412
+ // redactionSettings, // optional — see Document redaction
413
+ });
414
+
415
+ console.log(result.fullName?.value);
416
+ } catch (error) {
417
+ console.log(`Error during scan: ${error}`);
418
+ }
419
+ ```
420
+
421
+ ### <a name="document-redaction"></a> Document redaction
422
+
423
+ Anonymization was renamed to **redaction** in v8000. For camera scanning, use a `RedactionSettingsResolver` to apply per-document redaction rules. For DirectAPI, pass a single `RedactionSettings` object.
223
424
 
224
- /**
225
- * Set the BlinkID SDK settings
226
- * Add the license key here from the code above
227
- */
228
- const sdkSettings = new BlinkIdSdkSettings(licenseKey);
229
- sdkSettings.downloadResources = true;
230
-
231
- /**
232
- * Create and modify the Session Settings
233
- */
234
- const sessionSettings = new BlinkIdSessionSettings();
235
-
236
- /**
237
- * Important: if two images are being passed, use the `Automatic`
238
- * scanning mode
239
- * if just one image is being passed, use the `Single` scanning mode.
240
- */
241
- sessionSettings.scanningMode = ScanningMode.Automatic;
242
-
243
- /**
244
- * Create and modify the scanning settings
245
- */
246
- const scanningSettings = new BlinkIdScanningSettings();
247
- scanningSettings.glareDetectionLevel = DetectionLevel.Mid;
248
- /**
249
- * if the input images consist solely
250
- * of the cropped document image, set the
251
- * `scanCroppedDocumentImage` to true.
252
- */
253
- // scanningSettings.scanCroppedDocumentImage = true;
254
-
255
- /**
256
- * Create and modify the Image settings
257
- */
258
- const croppedImageSettings = new CroppedImageSettings();
259
- croppedImageSettings.returnDocumentImage = true;
260
- croppedImageSettings.returnFaceImage = true;
261
- croppedImageSettings.returnSignatureImage = true;
262
- /**
263
- * Place the image settings in the scanning settings
264
- */
265
- scanningSettings.croppedImageSettings = croppedImageSettings;
266
-
267
- /**
268
- * Place the scanning settings in the session settings
269
- */
270
- sessionSettings.scanningSettings = scanningSettings;
271
-
272
- /**
273
- * Add the Base64 string of the first side of the document
274
- */
275
- const firstImageBase64 = "your-base64-image";
276
-
277
- /**
278
- * Add the Base64 string of the second side of the document
279
- * This paramater is optional if only one side
280
- * of the document is requred.
281
- */
282
- const secondImageBase64 = "your-base64-image";
283
- ```
284
-
285
- 2. Call the `performDirectApiScan` scanning method, handle the results and catch any errors:
286
425
  ```typescript
287
- /**
288
- * Call the `performDirectApiScan` method,
289
- * where the SDK and session settings need to be passed,
290
- * along with the Base64 images.
291
- */
292
- await performDirectApiScan(
293
- sdkSettings,
294
- sessionSettings,
295
- firstImageBase64,
296
- secondImageBase64
297
- )
298
- .then((result: BlinkIdScanningResult) => {
299
- //handle the results here.
300
- console.log(result.firstName?.value);
301
- })
302
- .catch((error) => {
303
- // handle any errors here.
304
- console.log(`Error during scan: ${error}`);
305
- });
306
- ```
307
- **Note:**
308
- - The whole integration process can be found in the sample app `App.tsx` file [here](https://github.com/BlinkID/blinkid-react-native/blob/master/sample_files/App.tsx).
309
- - The settings and the results that can be used with the BlinkID plugin can be found in the paragraphs below, but also in the comments of each BlinkID TS file.
426
+ import { FieldType, CountryID, RegionID, DocumentTypeID, type RedactionSettingsResolver } from '@microblink/blinkid-react-native';
427
+
428
+ const redactionSettingsResolver: RedactionSettingsResolver = {
429
+ documentRedactionList: [
430
+ {
431
+ mode: 'fullResult',
432
+ fields: [FieldType.FirstName, FieldType.LastName],
433
+ documentNumberRedactionSettings: {
434
+ prefixDigitsVisible: 0,
435
+ suffixDigitsVisible: 1,
436
+ },
437
+ redactMrzResult: false,
438
+ redactBarcodeResult: false,
439
+ documentFilter: {
440
+ country: CountryID.USA,
441
+ region: RegionID.California,
442
+ documentType: DocumentTypeID.Id,
443
+ },
444
+ },
445
+ ],
446
+ };
447
+
448
+ // Camera scanning pass redactionSettingsResolver to performScan
449
+ await performScan({ sdkSettings, sessionSettings, redactionSettingsResolver });
450
+
451
+ // DirectAPI — pass redactionSettings to performDirectApiScan
452
+ await performDirectApiScan({
453
+ sdkSettings,
454
+ sessionSettings,
455
+ firstImage: firstImageBase64,
456
+ redactionSettings: {
457
+ mode: 'fullResult',
458
+ fields: [FieldType.DocumentNumber],
459
+ redactMrzResult: false,
460
+ redactBarcodeResult: false,
461
+ },
462
+ });
463
+ ```
464
+
465
+ Redaction modes: `none`, `imageOnly`, `resultFieldsOnly`, `fullResult`.
310
466
 
311
467
  ## <a name="plugin-specifics"></a> Plugin specifics
312
- The BlinkID plugin implementation is located in the `src` folder [here](https://github.com/BlinkID/blinkid-react-native/tree/master/BlinkID/src), while platform-specific implementation is located in the `android` and `ios` folders.
468
+ The BlinkID plugin implementation is located in the `src` folder [here](https://github.com/microblink/blinkid-react-native/tree/master/BlinkID/src), while platform-specific implementation is located in the `android` and `ios` folders.
313
469
 
314
470
  ### <a name="scanning-methods"></a> Scanning methods
315
- Currently, the BlinkID plugin contains the two main methods of scanning: `performScan` and `performDirectApiScan`.
471
+ Currently, the BlinkID plugin contains two main scanning methods: `performScan` and `performDirectApiScan`.
316
472
 
317
473
  **The `performScan` method**
318
474
 
319
- The `performScan` method launches the BlinkID scanning process with the default UX properties.\
320
- It takes the following parameters:
321
- 1. BlinkID SDK settings
322
- 2. BlinkID session settings
323
- 4. The optional BlinkID UI settings for UI customization.
324
- 3. The optional ClassFilter object for filtering documents.
325
-
326
- **BlinkID SDK Settings** - `BlinkIdSdkSettings`: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.
475
+ Launches the BlinkID scanning process with the default UX.
327
476
 
328
- **BlinkID Session Settings** - `BlinkIdSessionSettings`: the class that contains various settings for the scanning session. It contains the settings for the `ScanningMode` and `BlinkIdScanningSettings`, which define various parameters that control the scanning process.
477
+ Recommended call style single settings object:
329
478
 
330
- **BlinkID UI Settings** - `BlinkIdUiSettings`: the class that allows customization of various aspects of the UI used during the scanning process.
479
+ ```typescript
480
+ performScan({
481
+ sdkSettings, // BlinkIdSdkSettings (required)
482
+ sessionSettings, // BlinkIdSessionSettings (required)
483
+ scanningUxSettings, // BlinkIdScanningUxSettings (optional)
484
+ classFilter, // ClassFilter (optional)
485
+ redactionSettingsResolver, // RedactionSettingsResolver (optional)
486
+ });
487
+ ```
331
488
 
332
- The optional **ClassFilter** class - `ClassFilter`: the class which controls which documents will be accepted or reject for information extraction during the scanning session.
489
+ | Parameter | Description |
490
+ | --- | --- |
491
+ | `sdkSettings` | License key, `resourcesConfig`, optional `otaResourcesConfig`, proxy URL |
492
+ | `sessionSettings` | Scanning mode, module settings, timeouts |
493
+ | `scanningUxSettings` | Help button, onboarding dialog, haptic feedback, preferred camera |
494
+ | `classFilter` | Include/exclude documents by country, region, and type |
495
+ | `redactionSettingsResolver` | Per-document redaction rules applied before the result is finalized |
333
496
 
334
- - The implementation of the `performScan` method can be viewed here in the [index.tsx](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/index.tsx) file.
497
+ Returns `BlinkIdScanningResult` ([implementation](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/index.tsx)).
335
498
 
336
499
  **The `performDirectApiScan` method**
337
500
 
338
- The `performDirectApiScan` method launches the BlinkID scanning process intended for information extraction from static images.\
339
- It takes the following parameters:
340
- 1. BlinkID SDK settings
341
- 2. BlinkID session settings
342
- 3. First image string in the Base64 format
343
- 4. The optional second image string in the Base64 format
501
+ Extracts document information from static Base64 images.
344
502
 
345
- **BlinkID SDK Settings** - `BlinkIdSdkSettings`: the class that contains all of the available SDK settings. It contains settings for the license key, and how the models, that the SDK needs for the scanning process, should be obtained.
503
+ ```typescript
504
+ performDirectApiScan({
505
+ sdkSettings, // BlinkIdSdkSettings (required)
506
+ sessionSettings, // BlinkIdSessionSettings (required)
507
+ firstImage, // Base64 string (required)
508
+ secondImage, // Base64 string (optional)
509
+ redactionSettings, // RedactionSettings (optional)
510
+ });
511
+ ```
346
512
 
347
- **BlinkID Session Settings** - `BlinkIdSessionSettings`: the class that contains various settings for the scanning session. It contains the settings for the `ScanningMode` and `BlinkIdScanningSettings`, which define various parameters that control the scanning process.
513
+ Returns `BlinkIdScanningResult` ([implementation](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/index.tsx)).
348
514
 
349
- The first image Base64 string - `String`: image that represents one side of the document. If the document contains two sides and the `ScanningMode` is set to `automatic`, this should contain the image of the front side of the document. In case the `ScanningMode` is set to `single`, it can be either the front or the back side of the document. If the document contains only one side (for example, various passports), the SDK will automatically detect it, and will not look for the other side.
515
+ ### <a name="sdk-loading--unloading"></a> SDK loading & unloading
350
516
 
351
- The optional second image Base64 string - `String`: needed if the information from back side of the document is required and the `ScanningMode` is set to `automatic`.
352
517
 
353
- - The implementation of the `performDirectApiScanning` method can be viewed here in the [index.tsx](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/index.tsx) file.
518
+ **The `loadBlinkIdSdk` method**
354
519
 
355
- ### <a name="sdk-loading--unloading"></a> SDK loading & unloading
356
- The BlinkID SDK also contains methods for loading and unloading. These methods can be called before the scanning methods (mentioned above), and are helpful to preload the neccessary resources and decrease the waiting time for the scanning session, but also to remove any resources after the scanning sessions ends.
520
+ Creates or retrieves the BlinkID SDK instance. Handles initialization, resource downloading, and license verification. Call in advance to reduce first-scan latency.
357
521
 
358
- **The `loadBlinkIdSdk` method**
522
+ ```typescript
523
+ await loadBlinkIdSdk({
524
+ sdkSettings: {
525
+ licenseKey,
526
+ resourcesConfig: { download: true },
527
+ },
528
+ });
529
+ ```
359
530
 
360
- The `loadBlinkIdSdk` method creates or retrieves the instance of the BlinkID SDK It initializes and loads the BlinkID SDK if it is not already loaded.
531
+ If you do not call `loadBlinkIdSdk`, it is invoked automatically when a scan starts.
361
532
 
362
- It can be called in advance to **preload** the SDK before starting a scanning session. Doing so reduces loading time for the `performScan` and `performDirectApiScan` methods, since all resources will already be available and the license verified.
533
+ **The `unloadBlinkIdSdk` method**
363
534
 
364
- If the method is not called beforehand, it will still be automatically invoked on the native platform channels when a scan starts. However, the initial scan may take longer due to resource loading and license checks.
535
+ Terminates the SDK and releases resources. Must reinitialize before the next scan.
365
536
 
366
- It takes the following parameter: [BlinkIdSdkSettings](#blinkid-settings), which is explained in more details below.
537
+ ```typescript
538
+ await unloadBlinkIdSdk({ deleteCachedResources: false });
539
+ ```
367
540
 
368
- **The `unloadBlinkIdSdk` method**
541
+ Set `deleteCachedResources` to `true` to also delete downloaded and cached SDK resources from the device.
369
542
 
370
- The `unloadBlinkIdSdk` platform method terminates the BlinkID SDK and releases all associated resources. It safely shuts down the SDK instance and frees any allocated memory.
371
- After calling this method, you must reinitialize the SDK (by calling `loadBlinkIdSdk` or any of the scanning methods) before using it again.
543
+ `unloadBlinkIdSdk` is called automatically after each successful scan session.
372
544
 
373
- If set to `true` (`false` is default), the method performs a **complete cleanup**, including deletion of all downloaded and cached SDK resources from the device.
545
+ **The `refreshLicenseLease` method**
374
546
 
375
- This method is automatically called after each successful scan session.
547
+ Refreshes the SDK license lease. Can be called periodically to maintain an active license status; the required frequency depends on your license configuration. The SDK must already be initialized (via `loadBlinkIdSdk` or a scan) before calling this method.
548
+
549
+ ```typescript
550
+ await refreshLicenseLease();
551
+ ```
376
552
 
377
553
  ### <a name="blinkid-settings"></a> BlinkID Settings
378
- The BlinkID SDK contains various settings, modifying different parts of scanning process:
379
- 1. [BlinkID SDK settings](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts#L14) - `BlinkIdSdkSettings` \
380
- These settings are used for the initialization of the BlinkID SDK.
381
554
 
382
- 2. [BlinkID session settings](https://github.com/BlinkID/blinkid-react-native/blob/feature/blinkid-v7/BlinkID/src/blinkIdSettings.ts#L92) - `BlinkIdSessionSettings`\
383
- These settings represent the configuration settings for a scanning session.\
384
- This class holds the settings related to the resources initialization, scanning mode, and specific scanning configurations that define how the scanning session should behave.
555
+ | Setting | Type | Description |
556
+ | --- | --- | --- |
557
+ | SDK settings | `BlinkIdSdkSettings` | License key, nested `resourcesConfig` / `otaResourcesConfig`, proxy URL |
558
+ | Session settings | `BlinkIdSessionSettings` | Scanning mode, module settings, step/inactivity timeouts (ms; `0` disables) |
559
+ | Scanning settings | `BlinkIdScanningSettings` | Module configuration (see below) |
560
+ | UX settings | `BlinkIdScanningUxSettings` | UI customization during scanning |
561
+ | Class filter | `ClassFilter` | Document include/exclude rules (`CountryID` / `RegionID` / `DocumentTypeID`) |
562
+ | Redaction | `RedactionSettings` / `RedactionSettingsResolver` | Field and image redaction |
563
+
564
+ **SDK resource settings** (`BlinkIdSdkSettings`)
565
+
566
+ | Field | Description |
567
+ | --- | --- |
568
+ | `resourcesConfig` | Base ML resource download/cache (`download`, `serviceUrl`, `localFolder`, `requestTimeout` as [`RequestTimeout`](BlinkID/src/blinkIdSettings.ts), iOS `bundleIdentifier`) |
569
+ | `otaResourcesConfig` | OTA document resources (`checkForUpdates`, `strict`, `serviceUrl`, `localFolder`, …). Optional; native defaults apply when omitted |
570
+
571
+ Do not cross-wire base and OTA hosts: base defaults to `https://models.cdn.microblink.com/resources`; OTA defaults to `https://blinkid-ota.microblink.com`.
572
+
573
+ **Scanning module settings**
574
+
575
+ | Module | Type | Key settings |
576
+ | --- | | --- |
577
+ | Document capture | `DocumentCaptureModuleSettings` | `cropType`, `inputImageSelectionStrategy`, image quality, image return, face extraction, passport data page only |
578
+ | MRZ | `MrzModuleSettings` | `presenceMandatory` |
579
+ | Barcode | `BarcodeModuleSettings` | PDF417, QR, Aztec, retail barcode types, barcode image return |
580
+ | VIZ | `VizModuleSettings` | Signature extraction, character validation, result aggregation |
581
+
582
+ The [blinkIdSettings.ts](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts) and [types.ts](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/types.ts) files contain all available settings with inline documentation.
583
+
584
+ ### <a name="blinkid-results"></a> BlinkID Results
585
+
586
+ The scanning result is stored in `BlinkIdScanningResult`. It contains extracted data and images from the document.
587
+
588
+ Key result members:
589
+
590
+ 1. **Document class info** — `documentClassInfo` (`DocumentClassInfo`) with nested `country` / `region` / `documentType` as `{ id?, rawValue }`
591
+ 2. **Data match information** — `dataMatchResult` (`DataMatchResult`)
592
+ 3. **Per-side results** — `subResults` (`SingleSideScanningResult[]`) — contains VIZ, MRZ, and barcode data per side
593
+ 4. **Aggregated fields** — top-level fields such as `firstName`, `lastName`, `documentNumber`, `ethnicity`, `parentsInfo`, etc.
594
+ 5. **Images** — `firstDocumentImage`, `secondDocumentImage`, `faceImage`, `signatureImage`, `firstInputImage`, `secondInputImage`, `barcodeImage`
385
595
 
386
- 3. [BlinkID scanning settings](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts#L141) - `BlinkIdScanningSettings`\
387
- These settings represent the configurable settings for scanning a document.`
388
- This class defines various parameters and policies related to the scanning process, including image quality handling, data extraction and anonymization, along with options for frame processing and image extraction.
596
+ Each `SingleSideScanningResult` contains:
597
+ - `viz` Visual Inspection Zone data (includes `ethnicity` when available)
598
+ - `mrz` Machine Readable Zone data
599
+ - `barcode` — Barcode data
600
+ - `documentImage`, `faceImage`, `signatureImage`, `inputImage`
389
601
 
390
- 4. [BlinkID UI settings](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts#L468) - `BlinkIdUiSettings`\
391
- Allows customization of various aspects of the UI used during the scanning process.
392
602
 
393
- 5. [Cropped image settings](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts#L468) - `CroppedImageSettings`\
394
- These settings represent the image cropping settings.
603
+ Full result types: [blinkIdResult.ts](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/blinkIdResult.ts) and [types.ts](https://github.com/microblink/blinkid-react-native/blob/master/BlinkID/src/types.ts).
395
604
 
396
- **Additional notes:**
605
+ ## <a name="whats-new-in-v8001"></a> What's new in v8001
397
606
 
398
- - The [blinkIdSettings.ts](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts) and [types.ts](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/types.ts) files contains all the settings that can be modified and explains what each setting does in more detail.
607
+ BlinkID v8001 builds on the modular architecture from v8000 with faster document support (including OTA resources), better frame selection, DirectAPI crop handling, Aztec barcodes, and nested document class info.
399
608
 
400
- - The native documentation for the above mentioned settings can be found here for [Android](https://blinkid.github.io/blinkid-android/blinkid-core/com.microblink.blinkid.core/index.html) & [iOS](https://blinkid.github.io/blinkid-swift-package/documentation/blinkid/).
609
+ Highlights for React Native:
401
610
 
402
- - The native Kotlin & Swift implementation of all BlinkID settings can be found here for [Android](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/android/src/main/java/com/blinkidreactnative/BlinkIdDeserializationUtilities.kt) & [iOS](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/ios/BlinkIdDeserializationUtilities.swift) in the BlinkID deserialization utilities.
611
+ | Area | Change |
612
+ | --- | --- |
613
+ | **SDK settings** | Flat resource fields → nested `resourcesConfig`; new optional `otaResourcesConfig` |
614
+ | **Document class info** | `country` / `region` / `documentType` are `{ id?, rawValue }` (filters still use flat `CountryID` / `RegionID` / `DocumentTypeID`) |
615
+ | **Document capture** | `inputImageCropped` → `cropType`; added `inputImageSelectionStrategy` |
616
+ | **Barcode** | `aztecScanningEnabled` |
617
+ | **Results** | `ethnicity`; `ParentInfo.fullName`; `FieldType.Ethnicity` / `ParentFullName` |
403
618
 
404
- ### <a name="blinkid-result"></a> BlinkID Results
619
+ #### Migrating SDK settings from v8000
405
620
 
406
- The result of the scanning process is stored in the `BlinkIdScanningResult`. It contains the results of scanning a document, including the extracted data and images from the document.
621
+ ```typescript
622
+ // v8000
623
+ const sdkSettings = { licenseKey, downloadResources: true };
624
+
625
+ // v8001
626
+ const sdkSettings: BlinkIdSdkSettings = {
627
+ licenseKey,
628
+ resourcesConfig: { download: true },
629
+ otaResourcesConfig: {
630
+ checkForUpdates: true, // default
631
+ strict: false, // default — set true to fail init on OTA download errors
632
+ },
633
+ };
634
+ ```
635
+
636
+ | v8000 (flat) | v8001 |
637
+ | --- | --- |
638
+ | `downloadResources` | `resourcesConfig.download` |
639
+ | `resourceDownloadUrl` | `resourcesConfig.serviceUrl` |
640
+ | `resourceLocalFolder` | `resourcesConfig.localFolder` |
641
+ | `resourceRequestTimeout` | `resourcesConfig.requestTimeout` ([`RequestTimeout`](BlinkID/src/blinkIdSettings.ts), milliseconds) |
642
+ | `bundleIdentifier` | `resourcesConfig.bundleIdentifier` (iOS) |
643
+
644
+ Do **not** cross-wire hosts: base resources use `https://models.cdn.microblink.com/resources`; OTA uses `https://blinkid-ota.microblink.com`.
645
+
646
+ #### Resource download timeouts
647
+
648
+ `resourcesConfig.requestTimeout` and `otaResourcesConfig.requestTimeout` accept a [`RequestTimeout`](BlinkID/src/blinkIdSettings.ts) object (milliseconds). Omit `requestTimeout` to use native defaults (30 seconds per timeout on current BlinkID native SDKs). Omit individual fields inside `requestTimeout` to keep the native default for that timeout.
649
+
650
+ ```typescript
651
+ resourcesConfig: {
652
+ download: true,
653
+ requestTimeout: {
654
+ connectionTimeoutMilliseconds: 30000,
655
+ writeTimeoutMilliseconds: 30000,
656
+ readTimeoutMilliseconds: 30000,
657
+ },
658
+ },
659
+
660
+ otaResourcesConfig: {
661
+ requestTimeout: {
662
+ connectionTimeoutMilliseconds: 30000,
663
+ readTimeoutMilliseconds: 60000,
664
+ }, // write timeout uses native default when omitted
665
+ },
666
+ ```
667
+
668
+ #### Migrating document capture settings
669
+
670
+ ```typescript
671
+ // v8000
672
+ documentCaptureModule: { inputImageCropped: true }
673
+
674
+ // v8001 — DirectAPI only for cropped/unknown
675
+ documentCaptureModule: { cropType: 'cropped' } // or 'unknown' | 'not-cropped'
676
+ ```
677
+
678
+ Camera UX (`performScan`) must use `cropType: 'not-cropped'`.
679
+
680
+ #### Document class info in results
681
+
682
+ ```typescript
683
+ const countryId = result.documentClassInfo?.country?.id; // CountryID when known
684
+ const countryRaw = result.documentClassInfo?.country?.rawValue; // always set when country present
685
+ ```
686
+
687
+ Full changelog (documents, bug fixes, API details): [Release notes.md](https://github.com/microblink/blinkid-react-native/blob/master/Release%20notes.md) and [platform release notes](https://docs.microblink.com/blinkid/release-notes).
688
+
689
+ ## <a name="whats-new-in-v8000"></a> What's new in v8000
690
+
691
+ BlinkID v8000 introduces a **modular recognition architecture**. Instead of flat scanning settings and fallback recognition modes, extraction is driven by four independent modules that you enable and configure separately:
692
+
693
+ | Module | Purpose |
694
+ | --- | --- |
695
+ | **Document capture** | Document detection, image quality checks (blur, glare, tilt, lighting), and cropped image extraction |
696
+ | **MRZ** | Machine Readable Zone detection and parsing (passports, visas, ID cards) |
697
+ | **Barcode** | 1D/2D barcode detection and parsing (PDF417, QR, retail codes, and more) |
698
+ | **VIZ** | Visual Inspection Zone field extraction, character validation, and signature images |
699
+
700
+ Other notable changes:
701
+
702
+ - Settings are **plain TypeScript objects** (no class constructors).
703
+ - Scanning methods accept a **single settings object** (recommended) or legacy positional arguments.
704
+ - **Anonymization** has been renamed to **redaction** (`RedactionSettings`, `RedactionSettingsResolver`).
705
+ - Image return and quality settings moved from `CroppedImageSettings` into `documentCaptureModule` and `vizModule`.
706
+ - Detection levels (`DetectionLevel`) are replaced by **sensitivity levels** (`SensitivityLevel`: `off`, `low`, `mid`, `high`).
707
+ - Scanning sessions include **step** and **inactivity timeouts** on `BlinkIdSessionSettings` (milliseconds; defaults `60000` and `10000`). Set either to `0` to disable.
708
+
709
+ ### <a name="migrating-from-v7x"></a> Migrating from v7.x
710
+
711
+ If you are upgrading from `@microblink/blinkid-react-native@7.x` (e.g. 7.7.0), the following changes apply.
407
712
 
408
- Along with the information scanned from the document, the BlinkID also provides additional details that was obtained during the scanning process:
713
+ #### Settings are plain objects
409
714
 
410
- 1. **Recognition mode**- `RecognitionMode`\
411
- Scanning mode used to scan the current document.
715
+ ```typescript
716
+ // v7
717
+ const sdkSettings = new BlinkIdSdkSettings(licenseKey);
718
+ sdkSettings.downloadResources = true;
719
+
720
+ // v8000 (flat resource fields)
721
+ const sdkSettings = { licenseKey, downloadResources: true };
722
+
723
+ // v8001 (nested resources — preferred)
724
+ const sdkSettings = {
725
+ licenseKey,
726
+ resourcesConfig: { download: true },
727
+ };
728
+ ```
729
+
730
+ #### Modular scanning settings
412
731
 
413
- 2. **Document class info** - `DocumentClassInfo`\
414
- The document class information.
732
+ Flat v7 settings map to module settings in v8000 (still valid in v8001; use `cropType` instead of `inputImageCropped`):
415
733
 
416
- 3. **Data match informatoin** - `DataMatchResult`\
417
- Info on whether the data extracted from multiple sides matches.
734
+ | v7 | v8000 / v8001 |
735
+ |---------------------------------------------------|--------------------------------------------------------|
736
+ | `blurDetectionLevel` | `documentCaptureModule.blurSensitivityLevel` |
737
+ | `glareDetectionLevel` | `documentCaptureModule.glareSensitivityLevel` |
738
+ | `tiltDetectionLevel` | `documentCaptureModule.tiltSensitivityLevel` |
739
+ | `skipImagesWithBlur` | `documentCaptureModule.imageWithBlurRejected` |
740
+ | `skipImagesWithGlare` | `documentCaptureModule.imageWithGlareRejected` |
741
+ | `croppedImageSettings.returnDocumentImage` | `documentCaptureModule.documentImageReturnEnabled` |
742
+ | `croppedImageSettings.returnFaceImage` | `documentCaptureModule.faceImageExtractionEnabled` |
743
+ | `croppedImageSettings.returnSignatureImage` | `vizModule.signatureImageExtractionEnabled` |
744
+ | `croppedImageSettings.dotsPerInch` | `documentCaptureModule.dotsPerInch` |
745
+ | `scanCroppedDocumentImage` | `documentCaptureModule.cropType` (`"cropped"` / `"not-cropped"` / `"unknown"`) |
746
+ | `enableCharacterValidation` | `vizModule.characterValidationEnabled` |
747
+ | `scanPassportDataPageOnly` | `documentCaptureModule.passportDataPageScanOnly` |
748
+ | `anonymizationMode` | Use `RedactionSettings` / `RedactionSettingsResolver` |
749
+ | `recognitionModeFilter` / `enableBarcodeScanOnly` | Enable/disable modules explicitly |
418
750
 
419
- 4. **Singleside scanning result** - `SingleSideScanningResult`\
420
- Represents the result of scanning a single side of the document.\
421
- Contains the data extracted from the Visual Inspection Zone, Machine Readable Zone, barcode, the input image, and the cropped document, face, and signature images.
751
+ Removed types: `CroppedImageSettings`, `AnonymizationMode`, `DetectionLevel`, `RecognitionMode`.
422
752
 
423
- 5. **Detailed cropped image result** - `DetailedCroppedImageResult`\
424
- Represents the result of the image crop transformation with additional details.
753
+ #### Method call style
754
+
755
+ ```typescript
756
+ // v7 — positional arguments
757
+ await performScan(sdkSettings, sessionSettings, uxSettings, classFilter);
425
758
 
426
- **Additional notes:**
759
+ // v8000 / v8001 — recommended object style
760
+ await performScan({ sdkSettings, sessionSettings, scanningUxSettings: uxSettings, classFilter });
761
+ ```
762
+
763
+ ```typescript
764
+ // unload API
765
+ await unloadBlinkIdSdk({ deleteCachedResources: false });
766
+ ```
427
767
 
428
- - The [blinkIdResult.ts](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdResult.ts) and [types.ts](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/types.ts) files contain all the results after the scanning process finishes.
768
+ BlinkID Android SDK requires Kotlin v2.2.21+. See [Android setup](#android-setup) for more details.
429
769
 
430
- - The native documentation for the above mentioned results can be found here for [Android](https://blinkid.github.io/blinkid-android/blinkid-core/com.microblink.blinkid.core.result/index.html) & [iOS](https://blinkid.github.io/blinkid-swift-package/documentation/blinkid/blinkidscanningresult).
770
+ After migrating from v7 to the modular API, also apply [What's new in v8001](#whats-new-in-v8001) (nested `resourcesConfig` / OTA, `cropType`, nested class info).
431
771
 
432
- - The native Kotlin & Swift implementation of all BlinkID settings can be found here for [Android](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/android/src/main/java/com/blinkidreactnative/BlinkIdSerializationUtilities.kt) & [iOS](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/ios/BlinkIdSerializationUtilities.swift) in the BlinkID deserialization utilities.
772
+ For the complete native migration guide from v7, see [Migrate to v8000](https://docs.microblink.com/blinkid/migration-v8000).
433
773
 
434
774
  ## <a name="additional-information-and-support"></a> Additional information and Support
435
- For any additional questions and information, feel free to contact us [here](https://help.microblink.com), or directly to the Support team via mail support@microblink.com.
775
+ For any additional questions and information, feel free to contact us [here](https://help.microblink.com), or directly to the Support team at support@microblink.com.