# Beta Release Notes

### 1.10 Beta

<details>

<summary>1.10.0-beta1</summary>

2026-05-13

{% hint style="warning" %}
**Important Change in SPM distribution**

**Swift Package Manager distribution has been split into three separate repositories.** CocoaPods integration is unchanged.
{% endhint %}

**How to integrate via SPM**

* **Core SDK** — required for every integration. Contains `RTBSDK` and `OMSDK_Addapptr`, with no third-party dependencies.
  * Repository (stays the same): <https://github.com/AddApptr/RTBSDK>&#x20;
* **AppLovin mediation adapter** — add only if you mediate AppLovin.
  * Repository: <https://github.com/AddApptr/RTBSDK-AppLovin>
* **AdMob mediation adapter** — add only if you mediate AdMob.
  * Repository: <https://github.com/AddApptr/RTBSDK-AdMob>

In Xcode: **File → Add Package Dependencies…**, paste the repository URL, pick version `1.10.0-beta1`, and link the libraries to your app target. Repeat for each adapter you use.

**New Features**

* Added support for win/loss notifications in host-side (in-app) auctions.
  * New optional `isAuction: Bool` 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(price: 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.

**Fixes**

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

</details>

### 1.9 Beta

<details>

<summary>1.9.0-beta3</summary>

25-10-23

**Changes**

* Update the minimum supported iOS version to 13.&#x30;**.**
* Use IDFV instead of IDFA when tracking is disabled, provided **GDPR** or **CCPA** consent has been granted.

</details>

<details>

<summary>1.9.0-beta2</summary>

25-10-08

#### Library Updates <a href="#library-updates" id="library-updates"></a>

* AppLovinSDK to 13.4.0
* GoogleMobileAds to 12.12.0

</details>

<details>

<summary>1.9.0-beta1</summary>

25-08-18

### New Features <a href="#new-features" id="new-features"></a>

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

</details>

### 1.8 Beta

<details>

<summary>1.8.0-beta4</summary>

2025-07-18

#### Fixes

* Fix an issue with Meta signals encoding.

</details>

<details>

<summary>1.8.0-beta2</summary>

2025-07-01

#### New Features

* Introduce support for passing `GPID`&#x20;
  * Banners:
    * ```
      let configuration = RTBBannerRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.gpid = "<YOUR_GPID_VALUE>"
      bannerView.load(configuration: configuration)
      ```
  * Fullscreen:
    * ```
      let configuration = RTBFullscreenRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.gpid = "<YOUR_GPID_VALUE>"
      fullscreenAd.load(configuration: configuration)
      ```
  * Rewarded Video:
    * ```
      let configuration = RTBRewardedVideoRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.gpid = "<YOUR_GPID_VALUE>"
      rewardedVideoAd.load(configuration: configuration)
      ```
  * Native Ads:
    * ```
      let configuration = RTBNativeAdRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.gpid = "<YOUR_GPID_VALUE>"
      nativeAdLoader?.load(configuration: requestConfiguration)
      ```

</details>

<details>

<summary>1.8.0-beta1</summary>

2025-06-17

#### New Features

* Introduced support for passing UTIQ identifier:
  * Banners
    * ```
      let configuration = RTBBannerRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"], utiqAdtechpass: "<UTIQ_ID>")
      bannerView.load(configuration: configuration)
      ```
  * Fullscreen
    * ```
      let configuration = RTBFullscreenRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"], utiqAdtechpass: "<UTIQ_ID>")
      fullscreenAd.load(configuration: configuration)
      ```
  * Rewarded Video
    * ```
      let configuration = RTBRewardedVideoRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"], utiqAdtechpass: "<UTIQ_ID>")
      rewardedVideoAd.load(configuration: configuration)
      ```
  * Native Ads
    * ```
      let configuration = RTBNativeAdRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"], utiqAdtechpass: "<UTIQ_ID>")
      nativeAdLoader?.load(configuration: requestConfiguration)
      ```

</details>

### 1.7 Beta

<details>

<summary>1.7.0-beta3</summary>

2025-05-27

#### New Features

* Implement handling of DSP adapters for rewarded video ads.

</details>

<details>

<summary>1.7.0-beta2</summary>

2025-05-22

#### 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.0-beta1</summary>

2025-05-15

#### New Features

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

```
// Create rewarded video ad instance
let rewardedVideoAd = RTBRewardedVideoAd()

// Set the delegate to listen to events
rewardedVideoAd.delegate = self

// Request the ad
let configuration = RTBRewardedVideoRequestConfiguration(placementId: 3382, iTunesAppId: "449621749")
configuration.sellerId = "<SELLER_ID>" //optional
rewardedVideoAd.load(configuration: configuration)

// After getting the rewardedVideoAdDidReceiveAd callback, you can show the ad by calling
rewardedVideoAd.show(viewController: self)
```

</details>

1.6 Beta

<details>

<summary>1.6.0-beta1</summary>

2025-01-15

#### New Features

* Introduced support for passing user targeting before requesting new ads
  * Banners
    * ```
      let configuration = RTBBannerRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"])
      // YEAR_OF_BIRTH must be a 4-digit number
      bannerView.load(configuration: configuration)
      ```
  * Fullscreen
    * ```
      let configuration = RTBFullscreenRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"])
      // YEAR_OF_BIRTH must be a 4-digit number
      fullscreenAd.load(configuration: configuration)
      ```
  * Native Ads
    * ```
      let configuration = RTBNativeAdRequestConfiguration(placementId: <PLACEMENT_ID>, iTunesAppId: "<ITUNES_APP_ID>")
      configuration.userTargeting = .init(userId: "<USER_ID>", gender: .male, yearOfBirth: <YEAR_OF_BIRTH>, keywords: ["kw1, kw2, kw3"])
      // YEAR_OF_BIRTH must be a 4-digit number
      nativeAdLoader?.load(configuration: requestConfiguration)
      ```

</details>

### 1.5 Beta

<details>

<summary>1.5.0-beta3</summary>

2024-11-29

#### New Features

* Introduced support for AdMob Custom Events. For details on integration, refer to the [documentation](https://aatkit.gitbook.io/rtbsdk-ios-integration/other/admob-custom-events-beta).

</details>

<details>

<summary>1.5.0-beta2</summary>

2024-11-15

#### New Features

* Added support for native ads in AppLovin Mediation Adapter.
* Added `displaymanager` and `displaymanagerver` parameters to bid requests.

</details>

<details>

<summary>1.5.0-beta1</summary>

2024-11-04

#### New Features

* Added support for SKAdNetworks.

</details>

### 1.4 Beta

<details>

<summary>1.4.0-beta3</summary>

2024-09-05

#### Fixes

* Fix an issue with Google-Bidding banners where signlas we not being loaded properly.

</details>

<details>

<summary>1.4.0-beta2</summary>

2024-08-22

#### API Changes

* Added `RTBBidInfo` as a parameter to the native ads successful load event.
  * New delegate method:&#x20;
  * `@objc func nativeAdDidReceiveAd(_ nativeAdLoader: RTBSDK.RTBNativeAdLoader, bidInfo: RTBSDK.RTBBidInfo, networkName: String)`

</details>

<details>

<summary>1.4.0-beta1</summary>

2024-08-20

#### New Features

* Added support for native ads. See the [native ads integration guide](https://aatkit.gitbook.io/rtbsdk-ios-integration/formats/advanced/beta-native-ads) to learn more.
* Added OMSDK support for both banners and fullscreen ads.

</details>

### 1.3 Beta

<details>

<summary>1.3.0-beta3</summary>

2024-06-21

#### Fixes

* Resolved an issue with the xcframework version specified in the plist file.

</details>

<details>

<summary>1.3.0-beta2</summary>

#### Fixes

* Remove extra viewability logs.

</details>

<details>

<summary>1.3.0-beta1</summary>

#### 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 `func 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 `func 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 `func fullscreenAdDidReceiveAd(_ fullscreenAd: RTBFullscreenAd, bidInfo: RTBBidInfo, networkName: String)`
* `RTBBidInfo` interface:

```swift
@objc
public class RTBBidInfo: NSObject {
    @objc var priceCPM: Float
    @objc var bidder: String

    public override var description: String {
        return "RTBBidInfo { priceCPM: \(priceCPM) - bidder: \(bidder) }"
    }
}
```

</details>

### 1.2 Beta

<details>

<summary>1.2.0-beta1</summary>

2024-06-12

#### Improvements

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

#### API Changes

* Enhanced the `RTBBannerAdDelegate` by updating the `bannerAdDidReceiveAd` API to include the DSP name in the bidding response.
  * The new method signature is `func bannerAdDidReceiveAd(bidInfo: RTBBidInfo, networkName: String)`.
* Enhanced the `RTBBannerViewDelegate` by updating the `bannerViewDidReceiveAd` API to include the DSP name in the bidding response.
  * The new method signature is `func bannerViewDidReceiveAd(_ bannerView: RTBBannerView, bidInfo: RTBBidInfo, networkName: String)`.
* Enhanced the `RTBFullscreenDelegate` by updating the `fullscreenAdDidReceiveAd` API to include the DSP name in the bidding response.
  * The new method signature is `func fullscreenAdDidReceiveAd(_ fullscreenAd: RTBFullscreenAd, bidInfo: RTBBidInfo, networkName: String)`.
* RTBBidInfo Interface:

<pre class="language-swift"><code class="lang-swift"><strong>@objc
</strong>public class RTBBidInfo: NSObject {
    @objc var priceCPM: Float
    @objc var bidder: String

    public override var description: String {
        return "RTBBidInfo { priceCPM: \(priceCPM) - bidder: \(bidder) }"
    }
}
</code></pre>

</details>

### 1.1 Beta

<details>

<summary>1.1.0-beta1</summary>

2024-02-22

#### Changes

* Implement Google Bidding. Google Bidding can and may only be used via Gravite's mediation SDK [AATKit](https://aatkit.gitbook.io/release-notes).

</details>

### 1.0 Beta

<details>

<summary>1.0.0-beta07</summary>

2024-02-02

#### Changes

* Add fullscreen close button delay (configurable from the dashboard).
* Use WKWebView instead of UIWebView.
* Add `sellerId` parameter to the Ad Request configuration object.

</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/ios/release-notes-1.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.
