Native Android
Introduction
The Android integration of the IntelliProve plug-in involves incorporating the IntelliProve SDK files into your project dependencies.
All this is nicely laid out in our step-by-step guide below.
The integration guide covers three sections:
- Adding the SDK
- Setting up the project
- Usage
GitHub
Our GitHub repository provides a fully functional example of our platform's integration, demonstrating the seamless setup and utilisation of our native SDKs for Android platforms.
Adding the SDK
Last update 16/09/2025 09:35
- All the following actions are taken in root folder of the project
- Add folder app/libs
- Copy the IntelliProveWebView.aar into this folder
- In app/build.gradle, add a dependency for the IntelliProveWebView.aarand androidx's AppCompatibility ConstraintLayout.
dependencies {
...
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation files('libs/IntelliProveWebView.aar')
}Setting up the project
- In build.gradle, ensure the correct Kotlin version is used:
buildscript {
ext.kotlin_version = '1.8.0'
...
}- In app/build.gradle, define the minSdkVersion:
android {
...
defaultConfig {
...
minSdkVersion 24
...
}
...
}- In app/src/main/AndroidManifest.xml, add the needed permissions for Camera and Internet usage, and an activity tag, so the IntelliWebViewActivity can be shown in the application:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
...
<application ...>
...
<activity
android:name="com.intelliprove.webview.IntelliWebViewActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
/>
...
</application>
</manifest>Usage
- Let the Activity inherit from the IntelliWebViewDelegate class, which provides the didReceivePostMessage delegate. (For more information on the postmessages, including the JSON format, refer to Message events.)
- Use the openWebView to open the web view with a URL for the Face Scan Plug-in.
- Make sure to request the URL for the Face Scan plug-in using the Get Face Scan URL API endpoint.
Please note:
- The WebView is automatically dismissed by the SDK when receiving the dismiss post message.
- The SDK creates a new Activity, which means the entire screen is filled with the IntelliProve plug-in. For use cases where this is not desired, contact our support team for a more custom integration.
package com.intelliprove
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import com.intelliprove.webview.IntelliWebViewActivity
import com.intelliprove.webview.IntelliWebViewDelegate
class MainActivity : AppCompatActivity(), IntelliWebViewDelegate {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val openWebViewButton = findViewById<Button>(R.id.openWebViewButton)
openWebViewButton.setOnClickListener {
openWebView()
}
}
private fun openWebView() {
IntelliWebViewActivity.start(
this,
"https://plugin-streaming.intelliprove.com/?action_token=xxx",
this
)
}
override fun didReceivePostMessage(postMessage: String) {
Log.d("MainActivity", postMessage)
// postMessage is received as JSON string, so needs to be parsed
}
}Next steps
- To match the plug-in with your brand's colours and fonts, please visit our our UI Customization documentation.