> For the complete documentation index, see [llms.txt](https://aatkit.gitbook.io/rtbsdk-release-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aatkit.gitbook.io/rtbsdk-release-notes/android/beta-release-notes.md).

# Beta Release Notes

## 1.11

<details>

<summary>1.11.1</summary>

2026-08-25

### Improvements

* Load callbacks for native, hybrid native and banner-provider ads are now always delivered on the main thread.
* Improved stability and reliability of fullscreen ads.
* Improved video quality selection for rewarded video ads.
* Improved reliability of rewarded video tracking.
* AdMob mediation adapter: native ads without an icon or main image now load correctly.

</details>

<details>

<summary>1.11.0</summary>

### New Features

* Added support for passing the **LiveRamp** envelope with ad requests.
  * New `liveRampEnvelope: String?` field in `RTBUserTargeting`; when set, the SDK sends it with every ad request.

### Changes

* The AdMob and AppLovin mediation adapters now bundle their own consumer ProGuard rules, so the adapter classes survive minification without relying on keep rules shipped by the Google or AppLovin SDKs. No publisher action is required.

### Improvements

* Improved reliability of fullscreen and rewarded video ad reloading.
* Improved internal handling of DSP signal collection.
* Improved robustness of VAST and MRAID creative parsing.
* Improved end-card loading for video ads.

</details>

## 1.10

<details>

<summary>1.10.2</summary>

2026-06-19

* Re-published last beta on new Maven repository. Please see note below.

{% hint style="warning" %}
This release is on new Maven repository. Please remove old repository declaration

```groovy
maven {
    url 'https://android-sdk-rtb.gravite.net/maven'
}
```

and replace it with

```groovy
maven {
    url 'https://gravite-sdk-releases.s3.eu-central-1.amazonaws.com/rtbsdk/android/maven'
    content { includeGroupByRegex "com\\.rtb\\..*" }
}
```

{% endhint %}

</details>

<details>

<summary>1.10.1</summary>

2026-06-08

#### New Features

* Added support for the **Additional Consent** string (handling consent for non-TCF partners).
  * The SDK now reads `IABTCF_AddtlConsent` from `SharedPreferences` and sends it with every ad request.

#### Improvements

* Reworked location handling for more accurate and privacy-conscious geo data.
  * Fixed reading of consent string before attempting to read location data.
  * Ad requests now include the **country** (ISO-3166-1 alpha-3) and **city** for the current fix, in addition to latitude/longitude.
  * Stale location fixes (older than 10 minutes) are discarded, so only fresh location data is used.

</details>

<details>

<summary>1.10.0</summary>

2026-05-11

### New Features

* Added support for win/loss notifications in host-side (in-app) auctions.
  * New optional `isAuction: Boolean` flag on request configurations — when `true`, the SDK keeps the bid's loss-notice URL (`lurl`) so the integrator can fire it manually.
  * New `didLoseAuction(clearingPrice: Float)` method provided for all formats, to be called if RTBSDK creative loses in-app auction

### Changes

* Ad requests are now sent as `POST` with a JSON body.
* DSP adapter signals widened from `Map<String, String>` to `Map<String, Any>` so adapters can contribute typed values (e.g. integers) that survive into the JSON payload.
  * **Breaking change for DSP adapter implementations -** update the `RTBDSPDelegate.didCollectSignals` signature accordingly.

### Fixes

* Deep-link clicks (\`market://\`, custom app schemes, etc.) now resolve correctly.

</details>

## 1.9

<details>

<summary>1.9.1</summary>

2025-10-13

### Changes

* Removed AppCompat dependency
* Updated build tools and target SDK versions.

</details>

<details>

<summary>1.9.0</summary>

2025-08-14

## New Features

* Added support for [hybrid native ads](https://aatkit.gitbook.io/rtbsdk-android-integration/formats/advanced/beta-hybrid-native-ads), format allowing to combine banner and native ad request.

</details>

## 1.8

<details>

<summary>1.8.2</summary>

2025-07-21

* Updated Google Play Services Ads dependency
* Updated dependencies in AppLovin and Google mediation adapters

</details>

<details>

<summary>1.8.1</summary>

2025-07-10

### New Features

* Introduced support for passing GPID (global placement ID) identifier
  * added `gpid: String?` field in request configurations

</details>

<details>

<summary>1.8.0</summary>

2025-06-13

### New Features

* Introduced support for passing UTIQ identifier
  * added `utiqAdtechpass: String?` field in RTBUserTargeting

</details>

## 1.7

<details>

<summary>1.7.3</summary>

2025-05-21

### New Features

* Introduced Rewarded Video ads support for AdMob Custom Events.
* Introduced Rewarded Video ads support in the AppLovin Mediation Adapter.

</details>

<details>

<summary>1.7.2</summary>

2025-05-16

* Added optional `muteOnStart` parameter to `RTBRewardedVideoRequestConfiguration`, allowing to force mute of rewarded video ads.

</details>

<details>

<summary>1.7.1</summary>

2025-05-08

* Fix Proguard configuration issue that broke VAST XML parsing for rewarded video ads.

</details>

<details>

<summary>1.7.0</summary>

2025-05-07

## **New Features**

* Added support for Rewarded Video ads. See the code sample below for basic integration:

```kotlin
// Create rewarded video ad instance
val rtbRewardedVideoAd = RTBRewardedVideoAd(context)
// Set the delegate to listen to events
rtbRewardedVideoAd.delegate = createRTBRewardedVideoDelegate()

// Request the ad
val rtbRewardedVideoRequestConfiguration = RTBRewardedVideoRequestConfiguration(placementId, bundleId)
rtbRewardedVideoRequestConfiguration.sellerId = "<SELLER_ID>" //optional
rtbRewardedVideoAd.load(rtbRewardedVideoRequestConfiguration)

// After getting the rewardedVideoAdDidReceiveAd callback, you can show the ad by calling
rtbRewardedVideoAd.show(activity)
```

</details>

## 1.6

<details>

<summary>1.6.2</summary>

2025-03-05

### **Improvements**

* Delayed rendering of the ad creative in ad view until it is attached to window.

</details>

<details>

<summary>1.6.1</summary>

2025-02-11

### **Improvements**

* Added verification for Google Playstore SDK ownership

</details>

<details>

<summary>1.6.0</summary>

2025-01-23

## **New Features**

* Introduced support for passing user targeting before requesting new ads
  * Banners

    ```kotlin
    val requestConfiguration = RTBBannerRequestConfiguration(placementId, bundleId)
    requestConfiguration.userTargeting = RTBUserTargeting(userID = "<USER_ID>", gender = RTBGender.MALE, keywords = listOf("keyword1", "keyword2"), yearOfBirth = 1990)
    // yearOfBirth must be a 4-digit number, otherwise it will be ignored
    bannerAdView.load(requestConfiguration)
    ```
  * Fullscreen

    ```kotlin
    val rtbFullscreenRequestConfiguration = RTBFullscreenRequestConfiguration(placementId, bundleId, forceCloseButtonForMraid)
    rtbFullscreenRequestConfiguration.userTargeting = RTBUserTargeting(userID = "<USER_ID>", gender = RTBGender.MALE, keywords = listOf("keyword1", "keyword2"), yearOfBirth = 1990)
    // yearOfBirth must be a 4-digit number, otherwise it will be ignored
    fullscreen.load(rtbFullscreenRequestConfiguration)
    ```
  * Native Ads

    ```kotlin
    val request = RTBNativeAdRequestConfiguration(placementId, bundleId)
    request.userTargeting = RTBUserTargeting(userID = "<USER_ID>", gender = RTBGender.MALE, keywords = listOf("keyword1", "keyword2"), yearOfBirth = 1990)
    // yearOfBirth must be a 4-digit number, otherwise it will be ignored
    loader.load(request)
    ```

</details>

## 1.5

<details>

<summary>1.5.0</summary>

2025-01-03

### New Features

* Introduced support for AdMob Custom Events. Please refer to the documentation for the integration details.
* Introduced native ads support in the AppLovin Mediation Adapter.

</details>

## 1.4

<details>

<summary>1.4.3</summary>

2024-09-04

### Fixes

* Fixed DSPAdapters handling for RTBBannerView

</details>

<details>

<summary>1.4.2</summary>

2024-08-26

### Fixes

* Fixed exception in fullscreen MRAIDView's when RTBFullscreenAd.show() call

</details>

<details>

<summary>1.4.1</summary>

2024-08-13

* Added support for OMSDK.

</details>

<details>

<summary>1.4.0</summary>

2024-08-06

* Added support for native ads. See [here](https://aatkit.gitbook.io/rtbsdk-android-integration/formats/advanced/beta-native-ads) to learn more.

</details>

## 1.3

<details>

<summary>1.3.0</summary>

2024-06-20

#### Improvements

* Added MRAID support for both banners and fullscreen formats.
* Provided the bidder (DSP name) with bid responses (Check the API changes section for more information).

#### API Changes

* Enhanced the `RTBBannerViewDelegate` by updating the `bannerViewDidReceiveAd` API to include the bidder (DSP name) in the bidding response. The bidder and the bid price are now encapsulated within the new `bidInfo` parameter.
  * The new method signature is `fun bannerViewDidReceiveAd(bannerView: RTBBannerView, bidInfo: RTBBidInfo, networkName: String)`
* Enhanced the `RTBBannerAdDelegate` by updating the `bannerAdDidReceiveAd` API to include the bidder (DSP name) in the bidding response. The bidder and the bid price are now encapsulated within the new `bidInfo` parameter.
  * The new method signature is `fun bannerAdDidReceiveAd(bidInfo: RTBBidInfo, networkName: String)`
* Enhanced the `RTBFullscreenDelegate` by updating the `fullscreenAdDidReceiveAd` API to include the bidder (DSP name) in the bidding response. The bidder and the bid price are now encapsulated within the new `bidInfo` parameter.
  * The new method signature is `fun fullscreenAdDidReceiveAd(fullscreenAd: RTBFullscreenAd, bidInfo: RTBBidInfo, networkName: String)`
* `RTBBidInfo` interface:

```kotlin
class RTBBidInfo(val priceCPM: Float, val bidder: String) {

    override fun toString(): String {
        return "RTBBidInfo(priceCPM=$priceCPM, bidder='$bidder')"
    }
}
```

</details>

## 1.2

<details>

<summary>1.2.0</summary>

2024-05-20

**Improvements**

* Implement the new `RTBBannerAd` feature that loads the banner but does not render it directly like the `RTBBannerView`. See [here](https://aatkit.gitbook.io/rtbsdk-android-integration/formats/advanced/banners-manual-rendering) for more information.

</details>
