---
title: Verify Unified SDK for Android events
description: "Check that the Unified SDK for Android installed Session Replay and Feature Experiment, then trace an analytics event from capture to Amplitude with the Android-Kotlin SDK verification steps."
product: analytics
lang: en
last_updated: 2026-11-04
token_estimate: 1110
---
# Verify Unified SDK for Android events

The Unified SDK for Android sends analytics events through the bundled Android-Kotlin SDK. An analytics event moves through the same four stages as in the Android-Kotlin SDK: captured, transformed, sent, and received. This page covers the checks specific to the Unified SDK, starting with setup, and links to the Android-Kotlin SDK steps for the other stages.

> For AI agents: a documentation index is available at [/docs/llms.txt](/docs/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`.

| Stage | Question | Where to look |
| --- | --- | --- |
| [Installed](#check-that-each-product-installed) | Did the SDK set up every product you use? | The accessors and Logcat |
| Captured | Did the SDK accept the call? | [Debug logs](https://amplitude.com/docs/sdks/analytics/android/android-kotlin-sdk/verify-events#check-what-the-sdk-captured) |
| Transformed | What did plugins add, change, or drop? | [An inspection plugin](https://amplitude.com/docs/sdks/analytics/android/android-kotlin-sdk/verify-events#check-how-plugins-transformed-the-event) |
| [Sent](#check-what-the-sdk-sent) | Did the request leave the device, and with what payload? | A proxy or a custom HTTP client |
| Received | Did Amplitude accept and store the event? | [The event callback and User Lookup](https://amplitude.com/docs/sdks/analytics/android/android-kotlin-sdk/verify-events#check-what-amplitude-received) |

For problems common to every Amplitude SDK, go to [SDK troubleshooting and debugging](https://amplitude.com/docs/sdks/sdk-debugging). For changes between versions, go to the [Unified SDK changelog](https://github.com/amplitude/Amplitude-Kotlin/blob/main/unified/CHANGELOG.md).

## Turn on debug logging

`AmplitudeUnified` has the Android-Kotlin SDK's logger. Set it to `DEBUG` and filter Logcat on the tag `Amplitude`:

#### Kotlin

```kotlin
amplitude.logger.logMode = Logger.LogMode.DEBUG
```

#### Java

```java
amplitude.getLogger().setLogMode(Logger.LogMode.DEBUG);
```

Experiment logs through its own logger, at the `ERROR` level by default. To get more Experiment log output, pass a config built with `ExperimentConfig.builder()`:

```kotlin
val amplitude = AmplitudeUnified("YOUR_API_KEY", applicationContext) {
    experiment {
        config = ExperimentConfig.builder().debug(true).build()
    }
}
```

## Check that each product installed

Read the accessors after you construct the instance:

```kotlin
Log.d("MyApp", "replay=${amplitude.sessionReplay != null} experiment=${amplitude.experiment != null}")
```

| Accessor returns `null` | Cause | Fix |
| --- | --- | --- |
| `sessionReplay` or `experiment` | The product's `enabled` is `false`. | Remove `enabled = false`. |
| `sessionReplay` or `experiment` | The product threw during setup. Logcat shows `Failed to install plugin "<name>": <exception>`. | Read the exception. Session Replay's plugin name is `com.amplitude.android.sessionreplay`, and Experiment's starts with `com.amplitude.experiment`. |
| `experiment` only | The instance holds more than one Experiment plugin, usually because your code also adds `AmplitudeExperimentPlugin`. | Remove your own Experiment setup. Go to [Migrate from separate SDKs](https://amplitude.com/docs/sdks/analytics/android/unified-sdk/instrument-and-configure#migrate-from-separate-sdks). |

If `experiment` isn't `null` but `variant()` returns only fallbacks, check that Analytics has a device ID, Analytics has a session, and the user isn't opted out. The Experiment client starts, and fetches flags, only after all three are true.

## Check what the SDK sent

Analytics uploads go to the same endpoints as the Android-Kotlin SDK. Go to [Check what the SDK sent](https://amplitude.com/docs/sdks/analytics/android/android-kotlin-sdk/verify-events#check-what-the-sdk-sent).

One field differs. The Unified SDK puts its own version in front of the Android-Kotlin SDK's `library` value, so events from version 1.1.0 carry:

```json
"library": "amplitude-android-unified/1.1.0-amplitude-analytics-android/1.36.0"
```

An event without the `amplitude-android-unified/` prefix didn't come from `AmplitudeUnified`. Look for another `Amplitude` instance in your app.

While Session Replay records, events whose device ID and session ID match the recording also carry `[Amplitude] Session Replay ID`. If no event has this property, check the Session Replay `sampleRate`.

