# Beta Release Notes

## 1.10

<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 &#x20;

### 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.&#x20;
  * **Breaking change for DSP adapter implementations -** update the `RTBDSPDelegate.didCollectSignals` signature accordingly.

### Fixes &#x20;

* 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aatkit.gitbook.io/rtbsdk-release-notes/android/beta-release-notes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
