> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration

> Adjust ad-revenue connector for CloudX Android SDK. Forwards CloudX ad revenue to Adjust with no publisher glue code.

Connectors pass data between the CloudX SDK and another product. The Adjust connector forwards CloudX ad revenue to your mobile measurement partner (MMP) so ad revenue appears alongside your other Adjust data and feeds ROAS measurement. Add the dependency and revenue reporting is automatic — the CloudX SDK discovers the connector at initialization and attaches it to the same global ad-revenue listener list that `CloudX.addAdRevenueListener()` uses.

## Install

<CodeGroup>
  ```kotlin Kotlin DSL theme={null}
  dependencies {
      implementation("io.cloudx:connector-adjust:5.0.0.0")
  }
  ```

  ```groovy Groovy theme={null}
  dependencies {
      implementation 'io.cloudx:connector-adjust:5.0.0.0'
  }
  ```
</CodeGroup>

No code changes are required. The connector never initializes Adjust; it uses your existing Adjust setup and app token.

## Requirements

* CloudX Android SDK `4.3.0` or newer.
* Your app already integrates and initializes the Adjust SDK with your own app token. The connector depends on the Adjust SDK at compile time only, so your app must declare `com.adjust.sdk:adjust-android` itself and your runtime version is the one used.
* A supported Adjust SDK version: `5.0.0` or newer (the v5 line).

## What gets reported

The connector calls Adjust's `trackAdRevenue` once per CloudX-won impression, across all CloudX ad formats — banner, MREC, interstitial, rewarded, native, and app open. Each call carries the winning ad network, the CloudX revenue estimate for the impression in USD, and callback parameters with the CloudX ad unit, format (`ad_type`), and placement.

<Note>
  Revenue is reported on Adjust's generic `publisher_sdk` source — Adjust has confirmed this is the supported path until a dedicated CloudX source ships in a future Adjust release. Revenue lands in Adjust and feeds ROAS identically; it just appears under the generic publisher source rather than a named CloudX one. When the named source ships, historical revenue stays under `publisher_sdk`, so a report spanning the cutover must union both sources.
</Note>

<Warning>
  If your app already calls `Adjust.trackAdRevenue` from a CloudX ad-revenue callback, remove that code when you add this connector. Otherwise every impression is reported to Adjust twice.
</Warning>

## Compatibility

| Connector version | Adjust SDK                    | Minimum CloudX SDK |
| ----------------- | ----------------------------- | ------------------ |
| `5.0.0.0`         | Adjust Android SDK `>= 5.0.0` | `4.3.0`            |

## Reporting revenue yourself instead

If you would rather control the reporting call, skip the connector and subscribe to CloudX ad revenue directly:

```kotlin theme={null}
CloudX.addAdRevenueListener { ad ->
    // Forward to Adjust, or any other destination, using your own mapping.
}
```

`CloudX.addAdRevenueListener()` is the stable public surface. Use either the connector or your own listener — not both.
