Skip to content

Commit 6778c4d

Browse files
committed
Release 3.0.0 - Bump up SDK version to 3.0.0
- Update SDK libraries - Update app version - Update README.md and CHANGELOG.md - Update Kotlin version Related to DEP-339
1 parent 4ad472d commit 6778c4d

File tree

4 files changed

+78
-14
lines changed

4 files changed

+78
-14
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
3+
## [3.0.0] - 2023-02-27
4+
### Added
5+
- New language support for Arabic, Dutch, French, German, Italian, Russian, Spanish and Turkish
6+
- New session statuses for UNSUPPORTED_CONFIGURATION and MANDATORY_DOCUMENT_NOT_PROVIDED
7+
- New alternative version of the facecapture module without an embedded AI model, which is ~20 MB smaller in size
8+
9+
### Changed
10+
- General improvements and bug fixes
11+
- Updated Kotlin version to 1.6.21
12+
13+
### Migrating from 2.x.x
14+
- Update the version of the Yoti SDK dependencies in your build.gradle file
15+
- Update your project's Kotlin version to 1.6 or newer
16+
- OPTIONAL: If you use yoti-sdk-facecapture, consider the new alternative yoti-sdk-facecapture-unbundled, without an embedded AI model, ~20 MB smaller in size (see README for details)
17+
- OPTIONAL: If you want to avoid situations where our SDK would be shown in a different language than the one your app is using, you need to declare the languages your app supports (see README for details)
18+
- OPTIONAL: Handle the new session status codes outlined above and in the README
19+
320
## [2.9.3] - 2023-01-05
421
### Changed
522
- Hotfix: document scan navigation flow

README.md

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ You have setup the Yoti Doc Scan SDK on your backend, you can find the documenta
2626

2727
Minimum Android version supported: 21
2828

29-
Currently targeting Android version: 30
29+
Currently targeting Android version: 32
3030

3131
Note: we are using libraries from Android Jetpack. If you are still using the original Android Support Libraries you may encounter some issues when trying to use our SDK.
3232
We strongly recommend you to migrate your app to the new Androidx libraries: https://developer.android.com/jetpack/androidx/migrate
@@ -55,19 +55,34 @@ Add modules you require to your build.gradle:
5555
```groovy
5656
dependencies {
5757
//If you need document capture
58-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan:2.9.3'
59-
58+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan:3.0.0'
59+
6060
//If you need supplementary documents
61-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan-sup:2.9.3'
61+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan-sup:3.0.0'
6262
6363
//If you need liveness
64-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-liveness-zoom:2.9.3'
65-
64+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-liveness-zoom:3.0.0'
65+
6666
//If you need selfie capture
67-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture:2.9.3'
67+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture:3.0.0'
68+
//Or if you want the version without an embedded AI model, which is ~20 MB smaller in size
69+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture-unbundled:3.0.0'
6870
}
6971
```
7072

73+
As you can see above, there are two options to add the `facecapture` module to your app:
74+
- `yoti-sdk-facecapture` embeds an AI model for face detection.
75+
- `yoti-sdk-facecapture-unbundled` will manage the download of the AI model via Google Play Services the first time you start using the AI model and thus is ~20 MB smaller in size. Additionally, you can add the following metadata to your `AndroidManifest.xml` to get the model downloaded as soon as the app is installed:
76+
```
77+
<application ...>
78+
...
79+
<meta-data
80+
android:name="com.google.firebase.ml.vision.DEPENDENCIES"
81+
android:value="face" />
82+
83+
</application>
84+
```
85+
7186
Also you will need to add the following to your app-level build.gradle file, inside your Android block:
7287

7388
```groovy
@@ -184,12 +199,41 @@ class MainActivity : AppCompatActivity() {
184199
| 5004 | Unexpected internal error | No |
185200
| 5005 | Unexpected document scanning error | No |
186201
| 5006 | Unexpected liveness error | No |
202+
| 5008 | Unsupported configuration | No |
187203
| 5009 | Storage Error: could not read/write on device app cache | No |
188204
| 6000 | Document Capture dependency not found error | No |
189205
| 6001 | Liveness Zoom dependency not found error | No |
190206
| 6002 | Supplementary document dependency not found error | No |
191207
| 6003 | Face Capture dependency not found error | No |
208+
| 7000 | The user does not have the required documents to complete the session | No |
209+
192210

211+
## Supported languages
212+
Our SDK supports the 9 languages listed in the table below:
213+
214+
Language | Code
215+
:-- | :--
216+
Arabic | ar
217+
Dutch | nl
218+
English (default) | en
219+
French | fr
220+
German | de
221+
Italian | it
222+
Russian | ru
223+
Spanish | es
224+
Turkish | tr
225+
226+
The default language we use is English, meaning that if your app supports any extra languages matching the one from the phone's settings, the SDK will fallback to English.
227+
228+
If your app does not support one or more languages from the above table and the phone is set to such a language, in order to avoid situations where our SDK would be shown in a different language than the one your app is using, you need to declare the languages your app supports. You can achieve this by adding the following to your `app/build.gradle` file:
229+
```
230+
android {
231+
defaultConfig {
232+
resConfigs "en", "es", "it" // order does not matter, just add all your supported languages here
233+
}
234+
}
235+
```
236+
Apart from helping you avoid issues such as the one outlined above, this will strip away all language related resources except for those in the specified list. Thus, you avoid resource contamination and it makes your app smaller in size.
193237

194238
## Customisation
195239
You can customise the appearance of the screens of the SDK by overriding some of the colours.

app/build.gradle

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.yoti.mobile.android.sdk.yotidocscan.sample"
88
minSdkVersion 21
99
targetSdkVersion 31
10-
versionCode 293
11-
versionName "2.9.3"
10+
versionCode 300
11+
versionName "3.0.0"
1212
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1313
}
1414

@@ -46,8 +46,11 @@ dependencies {
4646
implementation 'androidx.appcompat:appcompat:1.4.1'
4747
implementation 'androidx.core:core-ktx:1.7.0'
4848

49-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan:2.9.3'
50-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan-sup:2.9.3'
51-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-liveness-zoom:2.9.3'
52-
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture:2.9.3'
49+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan:3.0.0'
50+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-doc-scan-sup:3.0.0'
51+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-liveness-zoom:3.0.0'
52+
// Version with an embedded AI model
53+
implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture:3.0.0'
54+
// Alternative version without an embedded AI model, ~20 MB smaller in size
55+
// implementation 'com.yoti.mobile.android.sdk:yoti-sdk-facecapture-unbundled:3.0.0'
5356
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4-
ext.kotlin_version = '1.6.10'
4+
ext.kotlin_version = '1.6.21'
55
repositories {
66
google()
77
mavenCentral()

0 commit comments

Comments
 (0)