Skip to content

Commit

Permalink
Final commit for 4.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JumioMobileTeam committed Oct 9, 2023
1 parent 12beca9 commit c61ee84
Show file tree
Hide file tree
Showing 53 changed files with 622 additions and 755 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 4.7.0
* Updated Jumio SDK Android and iOS to 4.7.0
* Update dependencies to Flutter 3.13.6 and Dart 3.1.3

## 4.6.1
* Updated Jumio SDK Android to 4.6.0 and iOS to 4.6.1
* Update dependencies to Flutter 3.13.2 and Dart 3.1.0
Expand Down
101 changes: 59 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Official Jumio Mobile SDK plugin for Flutter

This plugin is compatible with version 4.6.1 of the Jumio SDK (4.6.1 for iOS, 4.6.0 for Android).
This plugin is compatible with version 4.7.0 of the Jumio SDK.
If you have questions, please reach out to your Account Manager or contact [Jumio Support](#support).

# Table of Contents
Expand All @@ -15,6 +15,7 @@ If you have questions, please reach out to your Account Manager or contact [Jumi
- [Usage](#usage)
- [Retrieving Information](#retrieving-information)
- [Customization](#customization)
- [Configuration](#configuration)
- [Callbacks](#callbacks)
- [Result Objects](#result-objects)
- [FAQ](#faq)
Expand All @@ -26,7 +27,7 @@ If you have questions, please reach out to your Account Manager or contact [Jumi
- [Support](#support)

## Compatibility
Compatibility has been tested with a Flutter version of 3.13.0 and Dart 3.1.0
Compatibility has been tested with a Flutter version of 3.13.6 and Dart 3.1.3

## Setup
Create Flutter project and add the Jumio Mobile SDK module to it.
Expand All @@ -42,7 +43,7 @@ dependencies:
flutter:
sdk: flutter

jumio_mobile_sdk_flutter: ^4.5.0
jumio_mobile_sdk_flutter: ^4.7.0
```

And install the dependency:
Expand Down Expand Up @@ -87,7 +88,7 @@ android {
```

__Enable MultiDex__
Follow the Android developers guide: https://developer.android.com/studio/build/multidex.html
Follow the Android developers guide [here](https://developer.android.com/studio/build/multidex.html)

```groovy
android {
Expand All @@ -114,7 +115,7 @@ buildscript {
}
```

Modify the Gradle Wrapper version in android/gradle.properties.
Modify the Gradle Wrapper version in `android/gradle.properties`.

#### Proguard
For information on Android Proguard Rules concerning the Jumio SDK, please refer to our [Android guides](https://github.com/Jumio/mobile-sdk-android#proguard).
Expand All @@ -140,7 +141,7 @@ Jumio.init("AUTHORIZATION_TOKEN", "DATACENTER");
```

Datacenter can either be **US**, **EU** or **SG**.
For more information about how to obtain an `AUTHORIZATION_TOKEN`, please refer to our [API Guide](https://github.com/Jumio/implementation-guides/blob/master/api-guide/api_guide.md).
For more information about how to obtain an `AUTHORIZATION_TOKEN`, please refer to our [API Guide](https://jumio.github.io/kyx/integration-guide.html).

3. As soon as the SDK is initialized, the SDK is started by the following call.

Expand All @@ -158,7 +159,7 @@ JumioSDK Android appearance can be customized by overriding the custom theme `Ap
### iOS
JumioSDK iOS appearance can be customized to your respective needs. You can customize each color based on the device's set appearance, for either Dark mode or Light mode, or you can set a single color for both appearances. Customization is optional and not required.

You can pass the following customization options at [`Jumio.start`](example/lib/main.dart#L82):
You can pass the following customization options at [`Jumio.start`](example/lib/main.dart#L79):

| Customization key |
|:------------------------------------------------|
Expand Down Expand Up @@ -240,50 +241,53 @@ Jumio.start({
});
```

## Configuration
For more information about how to set specific SDK parameters (callbackUrl, userReference, country, ...), please refer to our [API Guide](https://jumio.github.io/kyx/integration-guide.html#request-body).

## Callbacks
In oder to get information about result fields, Retrieval API, Delete API, global settings and more, please read our [page with server related information](https://github.com/Jumio/implementation-guides/blob/master/api-guide/api_guide.md#callback).
In oder to get information about result fields, Retrieval API, Delete API, global settings and more, please read our [page with server related information](https://jumio.github.io/kyx/integration-guide.html#callback).

## Result Objects
JumioSDK will return `EventResult` in case of a successfully completed workflow and `EventError` in case of error. `EventError` includes an error code and an error message.

### EventResult

| Parameter | Type | Max. length | Description |
|:-------------------|:----------- |:-------------|:-----------------|
| selectedCountry | String| 3| [ISO 3166-1 alpha-3](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code as provided or selected |
| selectedDocumentType | String | 16| PASSPORT, DRIVER_LICENSE, IDENTITY_CARD or VISA |
| idNumber | String | 100 | Identification number of the document |
| personalNumber | String | 14| Personal number of the document|
| issuingDate | Date | | Date of issue |
| expiryDate | Date | | Date of expiry |
| issuingCountry | String | 3 | Country of issue as ([ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)) country code |
| lastName | String | 100 | Last name of the customer|
| firstName | String | 100 | First name of the customer|
| dob | Date | | Date of birth |
| gender | String | 1| m, f or x |
| originatingCountry | String | 3|Country of origin as ([ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)) country code |
| addressLine | String | 64 | Street name |
| city | String | 64 | City |
| subdivision | String | 3 | Last three characters of [ISO 3166-2:US](http://en.wikipedia.org/wiki/ISO_3166-2:US) state code |
| postCode | String | 15 | Postal code |
| mrzData | MRZ-DATA | | MRZ data, see table below |
| optionalData1 | String | 50 | Optional field of MRZ line 1 |
| optionalData2 | String | 50 | Optional field of MRZ line 2 |
| placeOfBirth | String | 255 | Place of Birth |
| Parameter | Type | Max. length | Description |
|:---------------------|:---------|:------------|:-----------------------------------------------------------------------------------------------------------|
| selectedCountry | String | 3 | [ISO 3166-1 alpha-3](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code as provided or selected |
| selectedDocumentType | String | 16 | PASSPORT, DRIVER_LICENSE, IDENTITY_CARD or VISA |
| idNumber | String | 100 | Identification number of the document |
| personalNumber | String | 14 | Personal number of the document |
| issuingDate | Date | | Date of issue |
| expiryDate | Date | | Date of expiry |
| issuingCountry | String | 3 | Country of issue as ([ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)) country code |
| lastName | String | 100 | Last name of the customer |
| firstName | String | 100 | First name of the customer |
| dob | Date | | Date of birth |
| gender | String | 1 | m, f or x |
| originatingCountry | String | 3 | Country of origin as ([ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)) country code |
| addressLine | String | 64 | Street name |
| city | String | 64 | City |
| subdivision | String | 3 | Last three characters of [ISO 3166-2:US](http://en.wikipedia.org/wiki/ISO_3166-2:US) state code |
| postCode | String | 15 | Postal code |
| mrzData | MRZ-DATA | | MRZ data, see table below |
| optionalData1 | String | 50 | Optional field of MRZ line 1 |
| optionalData2 | String | 50 | Optional field of MRZ line 2 |
| placeOfBirth | String | 255 | Place of Birth |

### MRZ-Data

| Parameter |Type | Max. length | Description |
|:---------------|:------------- |:-------------|:-----------------|
| format | String | 8| MRP, TD1, TD2, CNIS, MRVA, MRVB or UNKNOWN |
| line1 | String | 50 | MRZ line 1 |
| line2 | String | 50 | MRZ line 2 |
| line3 | String | 50| MRZ line 3 |
| idNumberValid | BOOL| | True if ID number check digit is valid, otherwise false |
| dobValid | BOOL | | True if date of birth check digit is valid, otherwise false |
| expiryDateValid | BOOL| | True if date of expiry check digit is valid or not available, otherwise false|
| personalNumberValid | BOOL | | True if personal number check digit is valid or not available, otherwise false |
| compositeValid | BOOL | | True if composite check digit is valid, otherwise false |
| Parameter | Type | Max. length | Description |
|:--------------------|:-------|:------------|:-------------------------------------------------------------------------------|
| format | String | 8 | MRP, TD1, TD2, CNIS, MRVA, MRVB or UNKNOWN |
| line1 | String | 50 | MRZ line 1 |
| line2 | String | 50 | MRZ line 2 |
| line3 | String | 50 | MRZ line 3 |
| idNumberValid | BOOL | | True if ID number check digit is valid, otherwise false |
| dobValid | BOOL | | True if date of birth check digit is valid, otherwise false |
| expiryDateValid | BOOL | | True if date of expiry check digit is valid or not available, otherwise false |
| personalNumberValid | BOOL | | True if personal number check digit is valid or not available, otherwise false |
| compositeValid | BOOL | | True if composite check digit is valid, otherwise false |

## Local Models for JumioDocfinder

Expand Down Expand Up @@ -320,7 +324,7 @@ Alternatively, it is also possible to set the key `manageAppVersionAndBuildNumbe
```

### App Crash at Launch for iOS
If iOS application crashes immediately after launch and without additional information, but works fine for Android, please make sure to the following lines have been added to your `podfile`:
If iOS application crashes immediately after launch and without additional information, but works fine for Android, please make sure the following lines have been added to your `Podfile`:

```
post_install do |installer|
Expand All @@ -331,6 +335,19 @@ post_install do |installer|
end
end
```

If you are working with Xcode 15 and above, please make sure the following lines have been added to your `Podfile`:

```
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
end
end
```

Please refer to [iOS guide](https://github.com/Jumio/mobile-sdk-ios#via-cocoapods) for more details.

### iOS Localization
Expand Down
7 changes: 2 additions & 5 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,14 @@ android {
}

ext {
SDK_VERSION = "4.6.0"
SDK_VERSION = "4.7.0"
}

dependencies {
// Jumio dependencies
implementation "com.jumio.android:core:${SDK_VERSION}"
implementation "com.jumio.android:linefinder:${SDK_VERSION}"
implementation "com.jumio.android:docfinder:${SDK_VERSION}"
implementation "com.jumio.android:mrz:${SDK_VERSION}"
implementation "com.jumio.android:nfc:${SDK_VERSION}"
implementation "com.jumio.android:barcode:${SDK_VERSION}"
implementation "com.jumio.android:barcode-mlkit:${SDK_VERSION}"
implementation "com.jumio.android:iproov:${SDK_VERSION}"
implementation "com.jumio.android:defaultui:${SDK_VERSION}"
Expand All @@ -70,7 +67,7 @@ dependencies {
implementation "com.jumio.android:liveness:${SDK_VERSION}"

//only for the sample code
implementation "androidx.activity:activity-ktx:1.5.1"
implementation "androidx.activity:activity-ktx:1.7.2"

//Kotlin
implementation "androidx.multidex:multidex:2.0.1"
Expand Down
5 changes: 4 additions & 1 deletion example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ cd MyProject
flutter pub get
cd ios && pod install
```
Afterwards, run your project either with iOS simulator / Android emulator or on a real device.
Afterwards, run your project on a real device with:
```
flutter run
```

Start a specific workflow with an `sdk.token` for authorization.

Expand Down
3 changes: 1 addition & 2 deletions example/android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@

<!-- <style name="CustomFaceHelp" parent="Jumio.Face.Animation.Customization">-->
<!-- &lt;!&ndash;Help screen colors&ndash;&gt;-->
<!-- <item name="jumio_face_animation_foreground">#C31322</item>-->
<!-- <item name="jumio_face_animation_background">#EDED3B</item>-->
<!-- <item name="jumio_face_animation_foreground">#C31322</item>-->
<!-- </style>-->

<!-- <style name="CustomOverlay" parent="Jumio.Overlay.Customization">-->
Expand Down
2 changes: 1 addition & 1 deletion example/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:7.0.3'
classpath 'com.android.tools.build:gradle:7.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Expand Down
4 changes: 2 additions & 2 deletions example/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Tue Mar 09 14:11:14 EET 2021
#Thu Sep 28 14:55:23 EEST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
57 changes: 31 additions & 26 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,28 +1,31 @@
PODS:
- DatadogSDK (1.11.1)
- DatadogCore (2.1.2):
- DatadogInternal (= 2.1.2)
- DatadogInternal (2.1.2)
- DatadogRUM (2.1.2):
- DatadogInternal (= 2.1.2)
- Flutter (1.0.0)
- iProov (10.3.1):
- Starscream (= 4.0.4)
- Jumio (4.6.1):
- Jumio/All (= 4.6.1)
- Jumio/All (4.6.1):
- Jumio/Datadog (= 4.6.1)
- Jumio/DocFinder (= 4.6.1)
- Jumio/IProov (= 4.6.1)
- Jumio/Jumio (= 4.6.1)
- Jumio/Liveness (= 4.6.1)
- Jumio/Datadog (4.6.1):
- DatadogSDK (= 1.11.1)
- Jumio/DocFinder (4.6.1)
- Jumio/IProov (4.6.1):
- Jumio (4.7.0):
- Jumio/All (= 4.7.0)
- Jumio/All (4.7.0):
- Jumio/Datadog (= 4.7.0)
- Jumio/DocFinder (= 4.7.0)
- Jumio/IProov (= 4.7.0)
- Jumio/Jumio (= 4.7.0)
- Jumio/Liveness (= 4.7.0)
- Jumio/Datadog (4.7.0):
- DatadogCore (= 2.1.2)
- DatadogRUM (= 2.1.2)
- Jumio/DocFinder (4.7.0)
- Jumio/IProov (4.7.0):
- iProov (= 10.3.1)
- Jumio/Jumio (4.6.1):
- PPpdf417 (= 8.0.0)
- Jumio/Liveness (4.6.1)
- jumio_mobile_sdk_flutter (4.6.0):
- Jumio/Jumio (4.7.0)
- Jumio/Liveness (4.7.0)
- jumio_mobile_sdk_flutter (4.7.0):
- Flutter
- Jumio (= 4.6.1)
- PPpdf417 (8.0.0)
- Jumio (= 4.7.0)
- Starscream (4.0.4)

DEPENDENCIES:
Expand All @@ -31,10 +34,11 @@ DEPENDENCIES:

SPEC REPOS:
trunk:
- DatadogSDK
- DatadogCore
- DatadogInternal
- DatadogRUM
- iProov
- Jumio
- PPpdf417
- Starscream

EXTERNAL SOURCES:
Expand All @@ -44,14 +48,15 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/jumio_mobile_sdk_flutter/ios"

SPEC CHECKSUMS:
DatadogSDK: ba0b08e235f938871691678efc4fb4032e7e27b2
DatadogCore: 24190ba2cf526577212a9a6dd99e323684a867c1
DatadogInternal: 5b02abb37a3ea80b86b0b02463d305b53f76d8d0
DatadogRUM: 5372a3c69f865a0f98870818144bf0b6c3282136
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
iProov: d6054523a5578386f183499d72621129e199a5c1
Jumio: 30d8eeefa01fb769bc79f4d65174cb6e174b8933
jumio_mobile_sdk_flutter: d2f265e27f1e506a8541c1f8a7cfbcbe6232ef82
PPpdf417: aa644766d51a7e00b8d41c70868bba8b818f5215
Jumio: 3df636292f668251037917b20d89a97fe0c4508e
jumio_mobile_sdk_flutter: 08759264e6ea2d4f0b42434a307cfa95245158c0
Starscream: 5178aed56b316f13fa3bc55694e583d35dd414d9

PODFILE CHECKSUM: c2211d48fe939fa71291b59548e1ffc6726497b1

COCOAPODS: 1.12.1
COCOAPODS: 1.13.0
2 changes: 1 addition & 1 deletion example/lib/credentials.dart
Original file line number Diff line number Diff line change
@@ -1 +1 @@
const DATACENTER = 'DATACENTER';
var DATACENTER = 'DATACENTER';

0 comments on commit c61ee84

Please sign in to comment.