@microblink/blinkid-react-native 7.4.0 → 7.6.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 (209) hide show
  1. package/README.md +24 -1
  2. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  4. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  5. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  8. package/android/.project +28 -0
  9. package/android/build.gradle +1 -1
  10. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +20 -4
  11. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +64 -1
  12. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +124 -60
  13. package/ios/BlinkIdDeserializationUtilities.swift +29 -3
  14. package/ios/BlinkIdSerializationUtilities.swift +77 -11
  15. package/ios/BlinkidReactNative.mm +20 -5
  16. package/ios/BlinkidReactNativeModule.swift +74 -24
  17. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +24830 -16867
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +43986 -29037
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +1214 -626
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +1214 -626
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +1 -0
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +17 -17
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +7 -3
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +51838 -35931
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +43986 -29037
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1214 -626
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1214 -626
  34. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +43986 -29037
  35. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1214 -626
  36. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  37. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1214 -626
  38. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +1 -0
  39. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +27 -27
  40. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +7 -3
  41. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +5 -5
  42. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  43. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  44. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +1824 -372
  45. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +1024 -257
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +40 -46
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +40 -46
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +40 -46
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +816 -90
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ak.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/am.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/bn.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/da.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/el.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en-GB.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es-MX.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fa.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fi.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr-CA.lproj/Localizable.strings +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ha.lproj/Localizable.strings +0 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hi.lproj/Localizable.strings +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/is.lproj/Localizable.strings +0 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ja.lproj/Localizable.strings +0 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ka-GE.lproj/Localizable.strings +0 -0
  144. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/kk.lproj/Localizable.strings +0 -0
  145. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/km-KH.lproj/Localizable.strings +0 -0
  146. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ko.lproj/Localizable.strings +0 -0
  147. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/lv.lproj/Localizable.strings +0 -0
  148. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  149. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nb.lproj/Localizable.strings +0 -0
  150. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ne.lproj/Localizable.strings +0 -0
  151. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  152. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pl.lproj/Localizable.strings +0 -0
  153. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ps-AF.lproj/Localizable.strings +0 -0
  154. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt-BR.lproj/Localizable.strings +0 -0
  155. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  156. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  157. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ru.lproj/Localizable.strings +0 -0
  158. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/si.lproj/Localizable.strings +0 -0
  159. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  160. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  161. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  162. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sv.lproj/Localizable.strings +0 -0
  163. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sw.lproj/Localizable.strings +0 -0
  164. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  165. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/tr.lproj/Localizable.strings +0 -0
  166. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uk.lproj/Localizable.strings +0 -0
  167. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ur.lproj/Localizable.strings +0 -0
  168. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/uz.lproj/Localizable.strings +0 -0
  169. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  170. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/yo.lproj/Localizable.strings +0 -0
  171. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  172. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  173. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  174. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +1024 -257
  175. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +40 -46
  176. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +40 -46
  177. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  178. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +40 -46
  179. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +1024 -257
  180. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +40 -46
  181. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +40 -46
  182. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  183. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +40 -46
  184. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  185. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  186. package/lib/module/blinkIdResult.js +122 -0
  187. package/lib/module/blinkIdResult.js.map +1 -1
  188. package/lib/module/blinkIdSettings.js +28 -7
  189. package/lib/module/blinkIdSettings.js.map +1 -1
  190. package/lib/module/index.js +47 -4
  191. package/lib/module/index.js.map +1 -1
  192. package/lib/module/types.js +102 -1
  193. package/lib/module/types.js.map +1 -1
  194. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +39 -2
  195. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  196. package/lib/typescript/src/blinkIdResult.d.ts +55 -0
  197. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  198. package/lib/typescript/src/blinkIdSettings.d.ts +25 -6
  199. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -1
  200. package/lib/typescript/src/index.d.ts +41 -4
  201. package/lib/typescript/src/index.d.ts.map +1 -1
  202. package/lib/typescript/src/types.d.ts +91 -3
  203. package/lib/typescript/src/types.d.ts.map +1 -1
  204. package/package.json +3 -3
  205. package/src/NativeBlinkidReactNative.ts +41 -2
  206. package/src/blinkIdResult.ts +133 -0
  207. package/src/blinkIdSettings.ts +30 -7
  208. package/src/index.tsx +52 -5
  209. package/src/types.ts +134 -1
package/README.md CHANGED
@@ -20,6 +20,7 @@ However, since the wrapper is open source, you can add the features you need on
20
20
  - [Plugin usage](#plugin-usage)
21
21
  - [Plugin specifics](#plugin-specifics)
22
22
  - [Scanning methods](#scanning-methods)
23
+ - [SDK loading & unloading](#sdk-loading--unloading)
23
24
  - [BlinkID Settings](#blinkid-settings)
24
25
  - [BlinkID Results](#blinkid-results)
25
26
  - [Additional information and Support](#additional-information-and-support)
@@ -30,7 +31,7 @@ A valid license key is required to initialize the BlinkID plugin. A free trial l
30
31
 
31
32
  ## <a name="requirements"></a> Requirements
32
33
 
33
- - BlinkID React Native was built and tested with [React Native v0.79.0](https://github.com/facebook/react-native/releases/tag/v0.79.0)
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)
34
35
  - For additional help with React-Native setup, view the official documentation [here](https://reactnative.dev/docs/set-up-your-environment).
35
36
 
36
37
  **Device requirements**
@@ -348,6 +349,28 @@ The optional second image Base64 string - `String`: needed if the information fr
348
349
 
349
350
  - 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.
350
351
 
352
+ ### <a name="sdk-loading--unloading"></a> SDK loading & unloading
353
+ 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.
354
+
355
+ **The `loadBlinkIdSdk` method**
356
+
357
+ 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.
358
+
359
+ 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.
360
+
361
+ 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.
362
+
363
+ It takes the following parameter: [BlinkIdSdkSettings](#blinkid-settings), which is explained in more details below.
364
+
365
+ **The `unloadBlinkIdSdk` method**
366
+
367
+ 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.
368
+ After calling this method, you must reinitialize the SDK (by calling `loadBlinkIdSdk` or any of the scanning methods) before using it again.
369
+
370
+ 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.
371
+
372
+ This method is automatically called after each successful scan session.
373
+
351
374
  ### <a name="blinkid-settings"></a> BlinkID Settings
352
375
  The BlinkID SDK contains various settings, modifying different parts of scanning process:
353
376
  1. [BlinkID SDK settings](https://github.com/BlinkID/blinkid-react-native/blob/master/BlinkID/src/blinkIdSettings.ts#L14) - `BlinkIdSdkSettings` \
@@ -1,2 +1,2 @@
1
- #Tue Jul 01 14:26:56 CEST 2025
1
+ #Mon Jul 21 15:42:56 CEST 2025
2
2
  gradle.version=8.9
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name>microblink_blinkid-react-native</name>
4
+ <comment>Project microblink_blinkid-react-native created by Buildship.</comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ </buildSpec>
14
+ <natures>
15
+ <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16
+ </natures>
17
+ <filteredResources>
18
+ <filter>
19
+ <id>1753105404889</id>
20
+ <name></name>
21
+ <type>30</type>
22
+ <matcher>
23
+ <id>org.eclipse.core.resources.regexFilterMatcher</id>
24
+ <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25
+ </matcher>
26
+ </filter>
27
+ </filteredResources>
28
+ </projectDescription>
@@ -75,7 +75,7 @@ def kotlin_version = getExtOrDefault("kotlinVersion")
75
75
  dependencies {
76
76
  implementation "com.facebook.react:react-android"
77
77
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
78
- implementation("com.microblink:blinkid-ux:7.4.0")
78
+ implementation("com.microblink:blinkid-ux:7.6.0")
79
79
  }
80
80
 
81
81
  react {
@@ -28,11 +28,14 @@ import kotlin.time.Duration.Companion.milliseconds
28
28
  import kotlinx.parcelize.Parcelize
29
29
  import kotlinx.parcelize.RawValue
30
30
  import android.graphics.Bitmap
31
+ import android.graphics.Camera
31
32
  import android.util.Base64
32
33
  import com.microblink.blinkid.core.session.InputImageSource
33
34
  import com.microblink.blinkid.core.settings.DocumentNumberAnonymizationSettings
34
35
  import com.microblink.core.network.RequestTimeout
35
36
  import com.microblink.ux.UiSettings
37
+ import com.microblink.ux.camera.CameraLensFacing
38
+ import com.microblink.ux.camera.CameraSettings
36
39
  import org.json.JSONArray
37
40
  import org.json.JSONObject
38
41
 
@@ -275,19 +278,32 @@ object BlinkIdDeserializationUtilities {
275
278
  }
276
279
 
277
280
 
278
- fun deserializeBlinkIdUxSettings(
279
- blinkidUxSettingsMap: JSONObject?,
281
+ fun deserializeBlinkIdScanningUxSettings(
282
+ blinkidScanningUxSettingsMap: JSONObject?,
280
283
  classFilterMap: JSONObject?
281
284
  ): BlinkIdUxSettings {
282
- if (blinkidUxSettingsMap == null) return BlinkIdUxSettings()
285
+ if (blinkidScanningUxSettingsMap == null) return BlinkIdUxSettings()
283
286
  return BlinkIdUxSettings(
284
- stepTimeoutDuration = (blinkidUxSettingsMap.optInt(
287
+ stepTimeoutDuration = (blinkidScanningUxSettingsMap.optInt(
285
288
  "stepTimeoutDuration",
286
289
  15000
287
290
  ).milliseconds),
291
+ allowHapticFeedback = blinkidScanningUxSettingsMap.optBoolean("allowHapticFeedback", true),
288
292
  classFilter = classFilterMap?.let { CustomClassFilter(it.toString()) },
289
293
  )
290
294
  }
295
+ fun deserializeCameraSettings(blinkidScanningUxSettingsMap: JSONObject?): CameraSettings {
296
+ if (blinkidScanningUxSettingsMap == null) return CameraSettings()
297
+ return CameraSettings(lensFacing = deserializeLensFacingCamera(blinkidScanningUxSettingsMap.optString("preferredCamera")))
298
+ }
299
+
300
+ fun deserializeLensFacingCamera(lens: String?): CameraLensFacing {
301
+ return when (lens?.lowercase()) {
302
+ "front" -> CameraLensFacing.LensFacingFront
303
+ "back" -> CameraLensFacing.LensFacingBack
304
+ else -> CameraLensFacing.LensFacingBack
305
+ }
306
+ }
291
307
 
292
308
  fun deserializeClassFilter(
293
309
  classFilterMap: JSONObject?,
@@ -135,6 +135,9 @@ object BlinkIdSerializationUtilities {
135
135
  scanningResult?.vehicleType?.let {
136
136
  scanningResultJson.put("vehicleType", serializeStringResult(it))
137
137
  }
138
+ scanningResult?.vehicleOwner?.let {
139
+ scanningResultJson.put("vehicleOwner", serializeStringResult(it))
140
+ }
138
141
  scanningResult?.eligibilityCategory?.let {
139
142
  scanningResultJson.put("eligibilityCategory", serializeStringResult(it))
140
143
  }
@@ -162,6 +165,36 @@ object BlinkIdSerializationUtilities {
162
165
  scanningResult?.dateOfExpiry?.let {
163
166
  scanningResultJson.put("dateOfExpiry", serializeDateResult(it))
164
167
  }
168
+ scanningResult?.dateOfEntry?.let {
169
+ scanningResultJson.put("dateOfEntry", serializeDateResult(it))
170
+ }
171
+ scanningResult?.localityCode?.let {
172
+ scanningResultJson.put("localityCode", serializeStringResult(it))
173
+ }
174
+ scanningResult?.maidenName?.let {
175
+ scanningResultJson.put("maidenName", serializeStringResult(it))
176
+ }
177
+ scanningResult?.municipalityCode?.let {
178
+ scanningResultJson.put("municipalityCode", serializeStringResult(it))
179
+ }
180
+ scanningResult?.municipalityOfRegistration?.let {
181
+ scanningResultJson.put("municipalityOfRegistration", serializeStringResult(it))
182
+ }
183
+ scanningResult?.pollingStationCode?.let {
184
+ scanningResultJson.put("pollingStationCode", serializeStringResult(it))
185
+ }
186
+ scanningResult?.registrationCenterCode?.let {
187
+ scanningResultJson.put("registrationCenterCode", serializeStringResult(it))
188
+ }
189
+ scanningResult?.sectionCode?.let {
190
+ scanningResultJson.put("sectionCode", serializeStringResult(it))
191
+ }
192
+ scanningResult?.stateCode?.let {
193
+ scanningResultJson.put("stateCode", serializeStringResult(it))
194
+ }
195
+ scanningResult?.stateName?.let {
196
+ scanningResultJson.put("stateName", serializeStringResult(it))
197
+ }
165
198
  scanningResult?.dateOfExpiryPermanent?.let {
166
199
  scanningResultJson.put("dateOfExpiryPermanent", it)
167
200
  }
@@ -180,7 +213,6 @@ object BlinkIdSerializationUtilities {
180
213
  JSONArray(it.map { subResult -> serializeSubResult(subResult) })
181
214
  )
182
215
  }
183
-
184
216
  scanningResult?.inputImage(ScanningSide.First)?.let {
185
217
  scanningResultJson.put("firstInputImage", encodeBase64Image(it.bitmap))
186
218
  }
@@ -423,6 +455,7 @@ object BlinkIdSerializationUtilities {
423
455
  barcodeResultJson.put("religion", barcodeResult?.religion)
424
456
  barcodeResultJson.put("residentialStatus", barcodeResult?.residentialStatus)
425
457
  barcodeResultJson.put("sex", barcodeResult?.sex)
458
+ barcodeResultJson.put("parsed", barcodeResult?.parsed)
426
459
  barcodeResultJson.put(
427
460
  "extendedElements",
428
461
  serializeBarcodeExtendedElements(barcodeResult?.extendedElements?.barcodeElements)
@@ -509,6 +542,36 @@ object BlinkIdSerializationUtilities {
509
542
  vizResult?.dateOfIssue?.let {
510
543
  vizResultJson.put("dateOfIssue", serializeDateResult(it))
511
544
  }
545
+ vizResult?.dateOfEntry?.let {
546
+ vizResultJson.put("dateOfEntry", serializeDateResult(it))
547
+ }
548
+ vizResult?.localityCode?.let {
549
+ vizResultJson.put("localityCode", serializeStringResult(it))
550
+ }
551
+ vizResult?.maidenName?.let {
552
+ vizResultJson.put("maidenName", serializeStringResult(it))
553
+ }
554
+ vizResult?.municipalityCode?.let {
555
+ vizResultJson.put("municipalityCode", serializeStringResult(it))
556
+ }
557
+ vizResult?.municipalityOfRegistration?.let {
558
+ vizResultJson.put("municipalityOfRegistration", serializeStringResult(it))
559
+ }
560
+ vizResult?.pollingStationCode?.let {
561
+ vizResultJson.put("pollingStationCode", serializeStringResult(it))
562
+ }
563
+ vizResult?.registrationCenterCode?.let {
564
+ vizResultJson.put("registrationCenterCode", serializeStringResult(it))
565
+ }
566
+ vizResult?.sectionCode?.let {
567
+ vizResultJson.put("sectionCode", serializeStringResult(it))
568
+ }
569
+ vizResult?.stateCode?.let {
570
+ vizResultJson.put("stateCode", serializeStringResult(it))
571
+ }
572
+ vizResult?.stateName?.let {
573
+ vizResultJson.put("stateName", serializeStringResult(it))
574
+ }
512
575
  vizResult?.dateOfExpiryPermanent?.let {
513
576
  vizResultJson.put("dateOfExpiryPermanent", it)
514
577
  }
@@ -1,6 +1,7 @@
1
1
  package com.microblink.blinkid.reactnative
2
2
 
3
3
  import android.app.Activity
4
+ import android.content.Context
4
5
  import android.content.Intent
5
6
  import com.facebook.react.bridge.BaseActivityEventListener
6
7
  import com.facebook.react.bridge.Promise
@@ -13,11 +14,13 @@ import com.microblink.blinkid.ux.contract.BlinkIdScanActivitySettings
13
14
  import com.microblink.blinkid.ux.contract.MbBlinkIdScan
14
15
  import com.microblink.core.LicenseLockedException
15
16
  import com.microblink.core.image.InputImage
16
- import com.microblink.ux.UiSettings
17
+ import com.microblink.core.ping.PingManager
18
+ import com.microblink.core.ping.pinglets.WrapperProductInfo
17
19
  import kotlinx.coroutines.CoroutineScope
18
20
  import kotlinx.coroutines.Dispatchers
19
21
  import kotlinx.coroutines.launch
20
22
  import kotlinx.coroutines.withContext
23
+ import okhttp3.Dispatcher
21
24
  import org.json.JSONObject
22
25
 
23
26
  @ReactModule(name = BlinkidReactNativeModule.NAME)
@@ -25,17 +28,61 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
25
28
  NativeBlinkidReactNativeSpec(reactContext) {
26
29
  private val BLINKID_REQUEST_CODE = 1453
27
30
  private val BLINKID_ERROR_RESULT_CODE = "BlinkIdAndroid"
28
-
29
31
  var pendingPromise: Promise? = null
32
+ private var blinkIdSdk: BlinkIdSdk? = null
30
33
 
31
34
  override fun getName(): String {
32
35
  return NAME
33
36
  }
34
37
 
38
+ override fun loadBlinkIdSdk(
39
+ blinkIdSdkSettings: String?,
40
+ promise: Promise?
41
+ ) {
42
+ pendingPromise = promise
43
+ CoroutineScope(Dispatchers.Main).launch {
44
+ try {
45
+ val blinkIdSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
46
+ ensureLoadedSdk(blinkIdSettingsJson)
47
+ pendingPromise?.resolve("")
48
+ } catch (error: Exception) {
49
+ blinkIdSdk = null
50
+ when (error) {
51
+ is LicenseLockedException -> {
52
+ pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
53
+ }
54
+ else -> {
55
+ pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+
62
+ override fun unloadBlinkIdSdk(
63
+ deleteCachedResources: Boolean,
64
+ promise: Promise?
65
+ ) {
66
+ try {
67
+ pendingPromise = promise
68
+ if (deleteCachedResources) {
69
+ BlinkIdSdk.sdkInstance?.closeAndDeleteCachedAssets()
70
+ } else {
71
+ BlinkIdSdk.sdkInstance?.close()
72
+ }
73
+ blinkIdSdk = null
74
+ pendingPromise?.resolve("")
75
+ } catch (exception: Exception) {
76
+ blinkIdSdk = null
77
+ pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, exception.message, null)
78
+ }
79
+ }
80
+
35
81
  init {
36
82
  reactApplicationContext.addActivityEventListener(object : BaseActivityEventListener() {
83
+
37
84
  override fun onActivityResult(
38
- activity: Activity?,
85
+ activity: Activity,
39
86
  requestCode: Int,
40
87
  resultCode: Int,
41
88
  data: Intent?
@@ -56,6 +103,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
56
103
 
57
104
  BlinkIdScanActivityResultStatus.Canceled -> {
58
105
  pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Scanning is canceled.")
106
+ suspend { BlinkIdSdk.sdkInstance?.close() }
59
107
  }
60
108
 
61
109
  BlinkIdScanActivityResultStatus.ErrorSdkInit -> {
@@ -73,7 +121,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
73
121
  override fun performScan(
74
122
  blinkIdSdkSettings: String?,
75
123
  blinkIdSessionSettings: String?,
76
- blinkIdUiSettings: String?,
124
+ blinkIdScanningUxSettings: String?,
77
125
  classFilter: String?,
78
126
  promise: Promise?
79
127
  ) {
@@ -83,7 +131,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
83
131
  val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
84
132
  val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
85
133
  val classFilterJson = classFilter?.let { JSONObject(it) }
86
- val blinkIdUiSettingsJson = blinkIdUiSettings?.let { JSONObject(it) }
134
+ val blinkIdScanningUxJson = blinkIdScanningUxSettings?.let { JSONObject(it) }
87
135
  val sdkSettings = sdkSettingsJson?.let {
88
136
  BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(it)
89
137
  } ?: run {
@@ -91,24 +139,26 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
91
139
  return
92
140
  }
93
141
 
94
- currentActivity?.applicationContext?.let {
95
- val intent = MbBlinkIdScan().createIntent(
142
+ reactApplicationContext.currentActivity?.applicationContext?.let {
143
+ val intent = MbBlinkIdScan().createIntent(
96
144
  it,
97
145
  BlinkIdScanActivitySettings(
98
146
  sdkSettings = sdkSettings,
147
+ cameraSettings = BlinkIdDeserializationUtilities.deserializeCameraSettings(blinkIdScanningUxJson),
99
148
  scanningSessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
100
149
  sessionSettingsJson,
101
150
  false
102
151
  ),
103
- uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdUxSettings(
104
- sessionSettingsJson,
152
+ uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdScanningUxSettings(
153
+ blinkIdScanningUxJson,
105
154
  classFilterJson,
106
155
  ),
107
- showHelpButton = blinkIdUiSettingsJson?.optBoolean("showHelpButton", true)?: true,
108
- showOnboardingDialog = blinkIdUiSettingsJson?.optBoolean("showOnboardingDialog", true) ?: true
156
+ showHelpButton = blinkIdScanningUxJson?.optBoolean("showHelpButton", true)?: true,
157
+ showOnboardingDialog = blinkIdScanningUxJson?.optBoolean("showOnboardingDialog", true) ?: true
109
158
  )
110
159
  )
111
- currentActivity?.startActivityForResult(intent, BLINKID_REQUEST_CODE, null)
160
+ addReactNativePinglet(it)
161
+ reactApplicationContext.startActivityForResult(intent, BLINKID_REQUEST_CODE, null)
112
162
  } ?: pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Activity not found.")
113
163
  } catch (error: Exception) {
114
164
  when (error) {
@@ -130,71 +180,54 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
130
180
  secondImage: String?,
131
181
  promise: Promise?
132
182
  ) {
183
+ pendingPromise = promise
133
184
  CoroutineScope(Dispatchers.Default).launch {
134
185
  try {
135
186
  val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
136
187
  val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
137
188
 
138
- val sdkSettings =
139
- BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(sdkSettingsJson)
140
- ?: return@launch withContext(Dispatchers.Main) {
141
- promise?.reject(BLINKID_ERROR_RESULT_CODE, "Invalid SDK settings")
142
- }
143
-
144
- val context = currentActivity?.applicationContext
189
+ val context = reactApplicationContext.applicationContext
145
190
  ?: return@launch withContext(Dispatchers.Main) {
146
191
  promise?.reject(BLINKID_ERROR_RESULT_CODE, "No activity")
147
192
  }
148
-
149
- val sdkInit = BlinkIdSdk.initializeSdk(context, sdkSettings)
150
- when {
151
- sdkInit.isSuccess -> {
152
- val instance = sdkInit.getOrNull() ?: return@launch withContext(Dispatchers.Main) {
153
- promise?.reject(BLINKID_ERROR_RESULT_CODE, "SDK returned null instance")
154
- }
155
-
156
- val session = instance.createScanningSession(
157
- BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
158
- sessionSettingsJson,
159
- true
160
- )
161
- )
162
-
163
- val inputImages = listOfNotNull(
164
- firstImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) },
165
- secondImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) }
193
+ blinkIdSdk = ensureLoadedSdk(sdkSettingsJson)
194
+ blinkIdSdk?.let {
195
+ addReactNativePinglet(context)
196
+ val session = it.createScanningSession(
197
+ BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
198
+ sessionSettingsJson,
199
+ true
166
200
  )
201
+ )
167
202
 
168
- var result: Result<BlinkIdProcessResult>? = null
169
-
170
- for (img in inputImages) {
171
- result = session.process(InputImage.createFromBitmap(img))
172
- }
203
+ val inputImages = listOfNotNull(
204
+ firstImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) },
205
+ secondImage?.let { BlinkIdDeserializationUtilities.base64ToBitmap(it) }
206
+ )
173
207
 
174
- if (result?.isSuccess == true) {
175
- val scanResult = session.getResult()
176
- val resultJson =
177
- BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scanResult)
178
-
179
- withContext(Dispatchers.Main) {
180
- promise?.resolve(resultJson.toString())
181
- }
182
- } else {
183
- withContext(Dispatchers.Main) {
184
- promise?.reject(BLINKID_ERROR_RESULT_CODE, "Could not get the results.")
185
- }
186
- }
208
+ var result: Result<BlinkIdProcessResult>? = null
187
209
 
188
- instance.close()
210
+ for (img in inputImages) {
211
+ result = session.process(InputImage.createFromBitmap(img))
189
212
  }
190
213
 
191
- sdkInit.isFailure -> {
192
- return@launch withContext(Dispatchers.Main) {
193
- promise?.reject(BLINKID_ERROR_RESULT_CODE, sdkInit.exceptionOrNull()?.message)
214
+ if (result?.isSuccess == true) {
215
+ val scanResult = session.getResult()
216
+ val resultJson =
217
+ BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(scanResult)
218
+
219
+ withContext(Dispatchers.Main) {
220
+ promise?.resolve(resultJson.toString())
221
+ }
222
+ } else {
223
+ withContext(Dispatchers.Main) {
224
+ promise?.reject(BLINKID_ERROR_RESULT_CODE, "Could not get the results.")
194
225
  }
195
226
  }
196
- }
197
227
 
228
+ it.close()
229
+ blinkIdSdk = null
230
+ }?:pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Reason: The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or try running the performDirectApiScan() method with a valid internet connection.", null)
198
231
  } catch (e: Exception) {
199
232
  withContext(Dispatchers.Main) {
200
233
  promise?.reject(BLINKID_ERROR_RESULT_CODE, e.message)
@@ -203,6 +236,37 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
203
236
  }
204
237
  }
205
238
 
239
+ private suspend fun ensureLoadedSdk(blinkidSdkSettings: JSONObject?): BlinkIdSdk? {
240
+
241
+ blinkIdSdk?.let { return it }
242
+
243
+ val sdkSettings = BlinkIdDeserializationUtilities
244
+ .deserializeBlinkIdSdkSettings(blinkidSdkSettings)?: throw IllegalStateException("Incorrect SDK Settings.")
245
+
246
+ reactApplicationContext.currentActivity?.let {
247
+ val maybeInstance = BlinkIdSdk.initializeSdk(it, sdkSettings)
248
+ when {
249
+ maybeInstance.isSuccess -> {
250
+ blinkIdSdk = maybeInstance.getOrNull()
251
+ return blinkIdSdk
252
+ }
253
+
254
+ maybeInstance.isFailure -> {
255
+ blinkIdSdk = null
256
+ throw maybeInstance.exceptionOrNull() ?: IllegalStateException("SDK initialization failed.")
257
+ }
258
+ }
259
+ }?: throw IllegalStateException("Activity not available.")
260
+
261
+ return null
262
+ }
263
+
264
+ private fun addReactNativePinglet(context: Context) {
265
+ PingManager.getInstance(context).add(
266
+ WrapperProductInfo(
267
+ wrapperProduct = WrapperProductInfo.WrapperProduct.CROSSPLATFORMREACTNATIVE),
268
+ 0)
269
+ }
206
270
  companion object {
207
271
  const val NAME = "BlinkidReactNative"
208
272
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  import Foundation
9
9
  import BlinkID
10
+ import BlinkIDUX
10
11
 
11
12
  class BlinkIdDeserializationUtilities {
12
13
  static func deserializeBlinkIdSdkSettings(_ sdkSettingsDict: Dictionary<String, Any>?) -> BlinkIDSdkSettings? {
@@ -30,9 +31,9 @@ class BlinkIdDeserializationUtilities {
30
31
  if let resourceLocalFolder = sdkSettingsDict?["resourceLocalFolder"] as? String {
31
32
  blinkidSdkSettings?.resourceLocalFolder = resourceLocalFolder
32
33
  }
33
- if let bundleURL = sdkSettingsDict?["bundleURL"] as? String,
34
- let url = URL(string: bundleURL) {
35
- blinkidSdkSettings?.bundleURL = url
34
+ if let bundleIdentifier = sdkSettingsDict?["bundleIdentifier"] as? String,
35
+ let bundle = Bundle.init(identifier: bundleIdentifier) {
36
+ blinkidSdkSettings?.bundleURL = bundle.bundleURL
36
37
  }
37
38
  if let resourceRequestTimeout = sdkSettingsDict?["resourceRequestTimeout"] as? Int {
38
39
  blinkidSdkSettings?.resourceRequestTimeout = BlinkID.RequestTimeout.default
@@ -157,6 +158,20 @@ class BlinkIdDeserializationUtilities {
157
158
 
158
159
  return croppedImageSettings
159
160
  }
161
+ static func deserializeBlinkIdUxScanningSettings(_ scanningUxSettingsDict: Dictionary<String, Any>?) -> ScanningUXSettings {
162
+ if let scanningUxSettingsDict = scanningUxSettingsDict,
163
+ let allowHapticFeedback = scanningUxSettingsDict["allowHapticFeedback"] as? Bool,
164
+ let preferredCameraPosition = scanningUxSettingsDict["preferredCamera"] as? String,
165
+ let showHelpButton = scanningUxSettingsDict["showHelpButton"] as? Bool,
166
+ let showIntroductionAlert = scanningUxSettingsDict["showOnboardingDialog"] as? Bool {
167
+ return ScanningUXSettings(
168
+ showIntroductionAlert: showIntroductionAlert,
169
+ showHelpButton: showHelpButton,
170
+ preferredCameraPosition: deserializePrefferedCameraPosition(preferredCameraPosition),
171
+ allowHapticFeedback: allowHapticFeedback)
172
+ }
173
+ return ScanningUXSettings()
174
+ }
160
175
 
161
176
  static func deserializeRecognitionModeFilter(_ recognitionModeFilterDict: Dictionary<String, Any>) -> RecognitionModeFilter {
162
177
  var recognitionModeFilter = RecognitionModeFilter()
@@ -324,6 +339,17 @@ class BlinkIdDeserializationUtilities {
324
339
  return ScanningMode.automatic
325
340
  }
326
341
  }
342
+
343
+ static func deserializePrefferedCameraPosition(_ value: String) -> Camera.CameraPosition {
344
+ switch value {
345
+ case "front":
346
+ return Camera.CameraPosition.front
347
+ case "back":
348
+ return Camera.CameraPosition.back
349
+ default:
350
+ return Camera.CameraPosition.back
351
+ }
352
+ }
327
353
 
328
354
  static func sanitizeDictionary(_ dictionary: Dictionary<String, Any>?) -> Dictionary<String, Any>? {
329
355
  if let dictionary = dictionary {