Skip to main content

SDK setup for CMP apps

This guide shows the steps to set up the Kotzilla SDK in your CMP app.

Before starting, your application must be registered on the Kotzilla Platform:

Once your app is registered and the type is selected, follow the steps below to integrate the SDK, capture analytics, and start debugging and monitoring your app.

Step 1 - Setup Kotzilla SDK (CMP)

1.1 Kotzilla project configuration file

Download the kotzilla.json configuration file for your ComposeApp module and place it in the module directory:

Module (ComposeApp module) Gradle file: <project>/<ComposeApp module>`

This file contains your API key, version, and SDK configuration for shared code.

1.2 Set up the SDK

The instructions below use Version Catalog configuration by default.

If your project uses the traditional Gradle setup, please check the documentation here for specific instructions.

note

Kotzilla SDK is available on both Maven Central and the Kotzilla public repository. More information on how to configure access to the Kotzilla repository is available here

Add the following lines to your libs.versions.toml file:

[versions]
kotzilla = "2.0.2" // Check the latest version available below

[libraries]
kotzilla-sdk-compose = { group = "io.kotzilla", name = "kotzilla-sdk-compose", version.ref = "kotzilla" }

[plugins]
kotzilla = { id = "io.kotzilla.kotzilla-plugin", version.ref = "kotzilla" }
info

The latest version of the kotzilla-sdk is: Maven Central

Set up the Kotzilla Plugin in your project root-level Gradle file (<project>/build.gradle.kts):

plugins {
alias(libs.plugins.kotzilla) apply false
}

In your ComposeApp module Gradle file (<project>/<ComposeApp module>/build.gradle.kts), add:

plugins {
alias(libs.plugins.kotzilla)
}

kotzilla {
versionName = "1.0.0" // Your app version
}
Auto-Dependency Injection

The Compose SDK dependency is automatically added to commonMain. No manual implementation line needed.

If you prefer manual control: kotzilla { autoAddDependencies = false } then add:

commonMain.dependencies {
implementation(libs.kotzilla.sdk.compose)
}
note

Compose navigation instrumentation is enabled by default in SDK 2.0.x.

1.3 Supported Platforms

The Kotzilla SDK supports these Compose Multiplatform targets:

PlatformTargetStatusNotes
AndroidandroidTarget()StableFull crash reporting with mapping file support
iOSiosArm64(), iosX64(), iosSimulatorArm64()BetadSYM setup required (see KMP Setup)
Desktop (JVM)jvm()ExperimentalCrash reporting works; no mapping file support yet
JS Browserjs(IR) { browser() }ExperimentalCrash reporting works; no source map support yet
JS Nodejs(IR) { nodejs() }ExperimentalCrash reporting works; no source map support yet
WASM BrowserwasmJs { browser() }ExperimentalCrash reporting works; no source map support yet
WASM NodewasmJs { nodejs() }ExperimentalCrash reporting works; no source map support yet
Experimental Platforms

For JVM, JS, and WASM: crash reporting captures exceptions, but minified/obfuscated stack traces are not yet de-obfuscated. Feedback helps prioritize.

1.4 Sync Gradle

Sync your project in Android Studio or IntelliJ IDEA to apply the changes.

Step 2 - Start Kotzilla SDK (CMP)

Initialize the Kotzilla SDK in your ComposeApp module Koin configuration to capture analytics data for Compose Multiplatform apps:

import io.kotzilla.generated.monitoring

startKoin {
// Your current Koin configuration
..
// Add Kotzilla monitoring
monitoring()
}
info

The monitoring() function is generated at build time by the Kotzilla Gradle plugin.

Step 3 - Go To Dashboard

Now that the SDK is configured, you can build and run your app to start capturing data from a first user session.

Once you've stopped the app:

  • Click Check your data to confirm everything is being collected correctly.
  • Then click Go to Dashboard to view your app’s performance and configuration insights.