Migrating Veriff Android SDK from 5.x.x to 6.0.0
SDK integration
The following APIs were removed:
Branding.Builder.themeColor(color)
- split into two different attributes:Branding.Builder.primary(color)
&Branding.Builder.secondary(color)
Branding.Builder.logomark(drawable)
Branding.Builder.primaryButtonBackgroundColor(color)
- the button background will be set based on the newBranding.Builder.onPrimary(color)
attributeBranding.Builder.bulletPoint(color)
- bullet point color can be controlled by the newBranding.Builder.secondary(color)
&Branding.Builder.onSecondary(color)
attributesBranding.Builder.notificationIcon(color)
The following APIs were renamed:
Branding.Builder.toolbarIcon(drawable)
renamed toBranding.Builder.logo(drawable)
Branding.Builder.backgroundColor(color)
renamed toBranding.Builder.background(color)
Branding.Builder.primaryTextColor(color)
renamed toBranding.Builder.onBackground(color)
Branding.Builder.secondaryTextColor(color)
renamed toBranding.Builder.onBackgroundSecondary(color)
Branding.Builder.buttonCornerRadius(cornerRadius)
renamed toBranding.Builder.buttonRadius(cornerRadius)
The following APIs were added:
Branding.Builder.onBackgroundTertiary(color)
Branding.Builder.primary(color)
Branding.Builder.onPrimary(color)
Branding.Builder.secondary(color)
Branding.Builder.onSecondary(color)
Branding.Builder.outline(color)
Branding.Builder.error(color)
Branding.Builder.success(color)
Migrating Veriff Android SDK from 4.x.x to 5.0.0
SDK integration
The following APIs were removed:
Branding.Builder.buttonHeight(height)
- buttons are now always with a60dp
heightBranding.Builder.statusBarColor(color)
- the status bar is now using thebackgroundColor
attribute insteadBranding.Builder.externalResources(externalResources)
- resources can be customized viatoolbarIconProvider()
,toolbarIcon()
and the newlogomark()
methodFont.Builder.setNormalAndBold(normal, bold)
- this was split into separate setters for font weights
The following APIs were added:
Branding.Builder.logomark(drawable)
- sets a drawable to use in UI elements where a square logo is needed. (Defaults to the Veriff logomark when this attribute is not set)Font.Builder.setRegular(regularFont)
- sets regular weight fontFont.Builder.setMedium(mediumFont)
- sets medium weight fontFont.Builder.setBold(boldFont)
- sets bold weight font
Migrating Veriff Android SDK from 3.x.x to 4.0.0
Follow these steps to migrate from SDK 3.x.x
to 4.0.0
Android Gradle Plugin
Open the root build.gradle
file and change the classpath
dependency in the buldscript
section if that is needed.
groovy buildscript { repositories { ... } dependencies { classpath 'com.android.tools.build:gradle:3.4.1' // and above ... } }
- SHOW THIS AS CODE, GPT version below
buildscript {
repositories { // Add your repositories here
...
}
dependencies {
...
classpath 'com.android.tools.build:gradle:3.4.1' // and above
...
}
}
Kotlin
Open the root build.gradle
file and change the classpath
dependency in the buldscript
section if that needed.
buildscript {
ext.kotlinVersion = '1.4.0' // and above
repositories {
...
}
dependencies {
...
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
...
}
}
Proguard
Open the root build.gradle
file and add the force update
to the buildscript
section if that needed.
groovy buildscript { ... configurations.all { resolutionStrategy { force 'net.sf.proguard:proguard-gradle:6.2.2' } } }
- SHOW THIS AS CODE, GPT version below
buildscript {
configurations.all {
resolutionStrategy {
force 'net.sf.proguard:proguard-gradle:6.2.2'
}
}
}
SDK integration
Nothing changed in SDK except the public API types.
Update the imports to:
java import com.veriff.Branding;
import com.veriff.Configuration;
import com.veriff.Font;
import com.veriff.Result;
import com.veriff.Sdk;
Change types:
from
VeriffBranding
toBranding
VeriffConfiguration
toConfiguration
VeriffFont
toFont
VeriffResult
toResult
Migrating Veriff Android SDK from 2.x.x to 3.0.0
Follow these steps to migrate from SDK 2.x.x to 3.0.0
Switch to AndroidX
Veriff SDK 3.0.0 requires AndroidX 1.0.0 or later. If you haven't switched to AndroidX in your app yet then follow this guide by Android.
Enable Java 8
Veriff SDK 3.0.0 requires Java 8 language features to be enabled in your project. If you do not have this enabled already, add this to your app/build.gradle
file under the android {}
section:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
See more in an Android guide here.
Switch from baseUrl
and sessionToken
to sessionUrl
The new 3.0.0 SDK requires a single sessionUrl
parameter instead of baseUrl
and sessionToken
. See the documentation here. As a backwards compatibility measure, if a sessionToken
value is passed into the sessionUrl
parameter then it will still work with an assumed baseUrl
of magic.veriff.com
.
Use com.veriff.*
classes instead of mobi.lab.veriff.data.*
ones
The name and location of the main SDK entry class has changed from mobi.lab.veriff.data.Veriff
to com.veriff.VeriffSdk
. The API is largely similar - instead of Veriff.Builder
there's a VeriffSdk.createLaunchIntent
method that returns an Intent
which you can then use to launch veriff. See example here.
If you are using Branding
to customize the look and feel of the SDK then it has a new name - VeriffBranding
. The builder interface has been streamlined by removing the set*
prefixes from all the methods. Read more about customization here.
Use com.veriff.VeriffResult
instead of reading return Intent
directly
Starting with 3.0.0 there's a new way to handle the result of the verification flow. Instead of reading INTENT_EXTRA_STATUS
directly from the returned data
intent, use VeriffResult.fromResultIntent(data)
to get a result object with a status
field and an optional error
field. We've reduced status
to just three - CANCELED, ERROR, DONE
. In case of ERROR
the error
field contains more information. See the example here.
Remove usage of deprecated types
While the old SDK entry points are still present for backwards compatibility, they will be removed in the future. Please remove usage of any SDK type marked with @Deprecated
. The easiest way to discover these is to look at your Gradle build log with Java/Kotlin compilation warnings turned on.
Here is a list of old deprecated classes due to be removed in a future release:
mobi.lab.veriff.data.Veriff
mobi.lab.veriff.data.Veriff.Builder
mobi.lab.veriff.data.VeriffConstants
mobi.lab.veriff.data.Branding
mobi.lab.veriff.data.Branding.Builder
mobi.lab.veriff.data.DrawableProvider
mobi.lab.veriff.util.LogAccess
mobi.lab.veriff.util.LogAccess.LogLevel
mobi.lab.veriff.util.LogcatLogAccess
mobi.lab.veriff.service.VeriffStatusUpdatesService