Integration Guide

Android Integration

Integrate Immutis SDK into your Android app. Support for Jetpack Compose.

10 minBeginner
1

Add dependency

Add to your build.gradle:

dependencies {
    implementation "com.immutis:android:1.0.0"
}
2

Initialize SDK

In your Application class:

class ImmutisApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Immutis.initialize(
            apiKey = "your_api_key_here"
        )
    }
}
3

Request permissions

Add to AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Request at runtime:
// In your Activity
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) 
    != PackageManager.PERMISSION_GRANTED) {
    requestPermissions(arrayOf(Manifest.permission.CAMERA), REQUEST_CAMERA)
}
4

Capture evidence

Using Jetpack Compose:

@Composable
fun CaptureButton() {
    val immutis = remember { Immutis.instance() }
    
    Button(onClick = {
        scope.launch {
            val evidence = immutis.capture(
                type = EvidenceType.PHOTO,
                location = true,
                timestamp = true,
                hardwareAttestation = true
            )
            // Handle captured evidence
        }
    }) {
        Text("Capture Evidence")
    }
}
5

Verify

Verify locally or on your backend:

suspend fun verifyEvidence(evidenceId: String) {
    val result = immutis.verify(
        evidenceId = evidenceId,
        standards = listOf(Standard.SHA256, Standard.HARDWARE)
    )
    
    if (result.isValid) {
        // Evidence is authentic
    }
}

Requirements

  • API level 26+ (Android 8.0)
  • Kotlin 1.8+
  • Gradle 7.0+
  • StrongBox / TEE (for hardware attestation)