<br />

> [!NOTE]
> **Note:** Vungle is now Liftoff Monetize.

This guide shows you how to use GMA Next-Gen SDK to load and display
ads from Liftoff Monetize using
[mediation](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/mediation.md.txt) covering both bidding and waterfall
integrations. It covers how to add Liftoff Monetize to an ad unit's mediation
configuration, and how to integrate the Vungle SDK and adapter into an
Android app.

## Supported integrations and ad formats

The mediation adapter for Liftoff Monetize has the following capabilities:

| Integration ||
|---|---|
| Bidding | Yes |
| Waterfall | Yes |
| App Open | Yes |
| Banner | Yes |
| Interstitial | Yes |
| Rewarded | Yes |
| Rewarded Interstitial | Yes |
| Native | Yes |

## Prerequisites

Before you continue, verify the following:

- Android API level 24 or later.

<!-- -->

- \[For bidding\]: To integrate all supported ad formats in bidding, use Liftoff Monetize adapter 7.3.0.0 or later ([latest version recommended](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/mediation/liftoff-monetize.md.txt#liftoff-monetize-android-mediation-adapter-changelog)).

<!-- -->

- Latest GMA Next-Gen SDK version.

- [Set up mediation](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/mediation.md.txt).

## Step 1: Set up configurations in Liftoff Monetize UI

[Sign up](https://vungle.com/signup) or [log in](https://vungle.com/login/) to your Liftoff
Monetize account.

Add your app to the [Liftoff Monetize dashboard](https://publisher.vungle.com/applications)
by clicking the **Add Application** button.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/dashboard_add_app.png)

Fill out the form, entering all the necessary details.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/create_app_Android.png)

Once your app is created, select your app from the
[Liftoff Monetize Applications dashboard](https://publisher.vungle.com/applications).

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/dashboard_app_list_Android.png)

Take note of the **App ID**.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/view_app_details_Android.png)

### Add new placements

To create a new placement to be used with mediation, navigate to the
[Liftoff Monetize Placements dashboard](https://publisher.vungle.com/placements),
click the **Add Placement** button and select your app from the drop-down
list.

> [!NOTE]
> **Note:** While Liftoff Monetize automatically creates a "default" placement when you first create your app, we recommend creating a new placement for mediation with Ad Manager.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/add_new_placement.png)

Details for adding new placements are included below:

### Banner

Select **Banner** , enter a **Placement Name** and fill out the rest of the
form. \[Bidding only\] Under **Monetization** , toggle the **In-App Bidding**
switch to **Enabled** . Click the **Continue** button at the bottom of the
page to create the placement.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_banner.png)

### 300x250 Banner

Select **MREC** , enter a **Placement Name** and fill out the rest of the
form. \[Bidding only\] Under **Monetization** , toggle the **In-App Bidding**
switch to **Enabled** . Click the **Continue** button at the bottom of the
page to create the placement.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_banner_mrec.png)

### Interstitial

Select **Interstitial** , enter a **Placement Name** , and fill out the rest
of the form. \[Bidding only\] Under **Monetization** , toggle the
**In-App Bidding** switch to **Enabled** . Click the **Continue** button at
the bottom of the page to create the placement.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_interstitial.png)

### Rewarded

Select **Rewarded** , enter a **Placement Name** and fill out the rest of the
form. \[Bidding only\] Under **Monetization** , toggle the **In-App Bidding**
switch to **Enabled** . Click the **Continue** button at the bottom of the
page to create the placement.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_rewarded.png)

### Rewarded Interstitial

> [!NOTE]
> **Note:** Rewarded interstitial requires assistance to set up. Reach out to your account manager at Liftoff Monetize or `monetize@liftoff.io`.

Select **Rewarded** . Enter a **Placement Name** , enable **Skippable** and
fill out the rest of the form. \[Bidding only\] Under **Monetization** , toggle
the **In-App Bidding** switch to **Enabled** . Click the **Continue** button
at the bottom of the page to create the placement.

> [!IMPORTANT]
> **Important:** For rewarded interstitial ads, the skippable timing cannot be 0. Contact your Liftoff Monetize account manager to adjust it.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_rewarded_interstitial.png)

### Native

Select **Native** , enter a **Placement Name** and fill out the rest of the
form. \[Bidding only\] Under **Monetization** , toggle the **In-App Bidding**
switch to **Enabled** . Click the **Continue** button at the bottom of the
page to create the placement.

> [!NOTE]
> **Note:** The **In-App Bidding** toggle is not available for native ads by default. To enable it, reach out to your Liftoff Monetize account manager.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_create_native.png)

Take note of the **Reference ID** and click **Sounds Good**.

### Banner

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_banner.png)

### 300x250 Banner

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_banner_mrec.png)

### Interstitial

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_interstitial.png)

### Rewarded

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_rewarded.png)

### Rewarded Interstitial

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_rewarded_interstitial.png)

### Native

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/placement_details_native.png)

### Locate your Reporting API Key

### Bidding

This step isn't required for bidding integrations.

### Waterfall

In addition to the **App ID** and the **Reference ID** , you'll also need
your Liftoff Monetize **Reporting API Key** to set up your
Ad Manager ad unit ID. Navigate to the
[Liftoff Monetize Reports dashboard](https://publisher.vungle.com/reports) and
click the **Reporting API Key** button to view your **Reporting API
Key**.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/api_key.png)

### Update your app-ads.txt


[Authorized Sellers for Apps app-ads.txt](https://iabtechlab.com/wp-content/uploads/2019/03/app-ads.txt-v1.0-final-.pdf) is an IAB Tech Lab initiative that helps ensure your
app ad inventory is only sold through channels you've identified as authorized. To prevent a
significant loss in ad revenue, you'll need to implement an `app-ads.txt` file.

If you haven't done so already,

[create an app-ads.txt file for Ad Manager](https://support.google.com/admanager/answer/7544382).

To implement `app-ads.txt` for Liftoff Monetize,
[download](https://publisher.vungle.com/vungleAdsTxt) and append Liftoff Monetize's
`app-ads.txt` entries to your existing `app-ads.txt` file. For more
information, see
[app-ads.txt](https://support.vungle.com/hc/en-us/articles/360055891252-app-ads-txt).

### Turn on test mode

To enable test ads, go to your Liftoff Monetize dashboard and navigate to
**Applications**.

Select your app for which you would like to enable test ads under the
**Placement Reference ID** section of your app. Test ads can be enabled by
selecting **Test Mode** to **Show test ads only** under the **Status** section.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/test_mode_Android.png)

## Step 2: Set up Liftoff Monetize demand in Ad Manager UI

Sign in to your [Ad Manager account](https://admanager.google.com/home/).

### Add Liftoff Monetize in Companies

### Bidding

This step isn't required for bidding integrations.

### Waterfall

Navigate to **Admin** \> **Companies** , then click the **New company** button
in the **All companies** tab. Select **Ad network**.

![](https://developers.google.com/static/admob/images/mediation/gam-create-new-company.png)

Select

**Liftoff Monetize**

as the **Ad network** , enter a unique **Name** and enable **Mediation** .

Turn on **Automatic data collection** , and enter the
**Reporting API Key** obtained in the
previous section.


You don't need to enter a **Username** or **Password** . Click **Save** when
done.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/gam-create-company-mediation.png)

### Enable secure signal sharing

### Bidding

Navigate to **Admin** \> **Global settings** . Go to the
**Ad Exchange account settings** tab and review and turn on
**Secure signal sharing** . Click **Save**.

![](https://developers.google.com/static/admob/images/mediation/gam-allow-secure-signal-sharing.png)

### Waterfall

This step isn't required for waterfall integrations.

### Share secure signal on bid requests

### Bidding

Navigate to **Inventory** \> **Secure Signals** . Under **Secure signals** ,
search for Liftoff and
turn on **Enable app integration**.

![](https://developers.google.com/static/admob/images/mediation/enable-app-integration.png)

Click **Save**.

### Waterfall

This step isn't required for waterfall integrations.

### Allow secure signal sharing for SDK Bidding

### Bidding

Navigate to **Delivery** \> **Demand channel settings** . In the **Default
settings** tab, turn on **Allow secure signal sharing** for **SDK
Bidding**.

![](https://developers.google.com/static/admob/images/mediation/secure-signal-sharing-sdk-bidding.png)

Click **Save**.

### Waterfall

This step isn't required for waterfall integrations.

### Configure Liftoff Monetize bidding

### Bidding

Navigate to **Delivery** \> **Bidders** , and click **Go to SDK Bidding**.

![](https://developers.google.com/static/admob/images/mediation/gam-bidders-setup.png)

Click **New bidder**.

![](https://developers.google.com/static/admob/images/mediation/gam-sdk-bidding-new-bidder.png)

Select **Liftoff Monetize** as the bidder.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/gam-sdk-bidding-new-bidder-select-bidder.png)

Click **Continue** to enable SDK Bidding for this bidder.

![](https://developers.google.com/static/admob/images/mediation/enable-sdk-bidding.png)

Click **Done**.

### Waterfall

This step isn't required for waterfall integrations.

### Configure ad unit mapping

### Bidding

Navigate to **Delivery** \> **Bidders** , and click **Go to SDK Bidding**.

![](https://developers.google.com/static/admob/images/mediation/gam-bidders-setup.png)

Select the company for Liftoff Monetize.

![](https://developers.google.com/static/admob/images/mediation/gam-sdk-bidding-new-bidder.png)

Go to the **Ad unit mapping** tab and click **New ad unit mapping**.

![](https://developers.google.com/static/admob/images/mediation/gam-sdk-bidding-ad-unit-mapping.png)

Choose **Specific ad unit** . Select an ad unit and format, **Mobile app** as
the **Inventory type** , and your **Mobile application** . Then, enter
**Application ID** and **Placement Reference ID**
obtained in the previous section.

Finally, click **Save**.

> [!IMPORTANT]
> **Important:** Target the selected ad unit by at least one yield group, and the **Application ID** must be associated with the targeted app as in the Liftoff Monetize UI.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/gam-sdk-bidding-new-ad-unit-mapping.png)

### Waterfall

Navigate to **Delivery** \> **Yield groups** and click the **New yield
group** button. Select your **Inventory** and **App**.

![](https://developers.google.com/static/admob/images/mediation/gam-yield-group-details-and-targeting.png)

Scroll to **Yield partners** and click **Add mediation partner**.

![](https://developers.google.com/static/admob/images/mediation/gam-yield-group-add-yield-partner.png)

Select the company you created for
Liftoff Monetize in the previous section.
Choose **Mobile SDK mediation** as the **Integration type** ,
**Android** as the **Platform** , and **Active** as the **Status**.

Enter the

**Application ID** and **Placement Reference ID**

obtained in the previous section, and the **Default CPM** value. Click
**Save**.

> [!IMPORTANT]
> **Important:** The **Application ID** must be associated with the targeted app as in the Liftoff Monetize UI.

![](https://developers.google.com/static/admob/images/mediation/liftoff-monetize/gam-add-yield-partner-mediation-Android.png)

> [!NOTE]
> **Note:** Automatic data collection takes a few days to gather data before it can accurately calculate a Dynamic CPM value for a mediation network. Once the eCPM can be calculated, it is automatically updated on your behalf.

### Add Liftoff to GDPR and US state regulations ad partners list

> [!IMPORTANT]
> **Important:** Verify that you have **Account Management** permission to complete the configuration for EU Consent and GDPR, US State regulations, and User Messaging Platform. See [Manage user access to your
> account](https://support.google.com/admob/answer/2784628) for details.

Follow the steps in

[European regulations settings](https://support.google.com/admanager/answer/10113006#adding_ad_partners_to_published_gdpr_messages)

and

[US state regulations settings](https://support.google.com/admanager/answer/14117973)


to add **Liftoff** to the
European and US state regulations ad partners list in the Ad Manager UI.


## Step 3: Import the Vungle SDK and Liftoff Monetize adapter

> [!NOTE]
> **Note:** Failure to integrate the compatible Vungle and Google Mobile Ads SDK versions might lead to build issues.

### Android Studio integration (recommended)

In your app-level gradle file, add the following implementation dependencies
and configurations:

### Kotlin

```kotlin
dependencies {
    implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0")
    implementation("com.google.ads.mediation:vungle:7.7.9.0")
}

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}
```

### Groovy

```groovy
dependencies {
    implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0'
    implementation 'com.google.ads.mediation:vungle:7.7.9.0'
}

configurations.configureEach {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}
```

### Manual integration

- Download the latest
  [Vungle Android SDK](https://support.vungle.com/hc/en-us/articles/15722228922395-Download-Vungle-SDK-for-Android-Amazon)
  and extract the `.aar` and JAR files under the `libs` folder and add it
  to your project.

- Navigate to the [Liftoff Monetize adapter artifacts](https://maven.google.com/web/index.html#com.google.ads.mediation:vungle)
  on Google's Maven Repository. Select the latest version, download the Vungle
  adapter's `.aar` file, and add it to your project.

## Step 4: Implement privacy settings on the Vungle SDK

### EU consent and GDPR


To [comply with
the Google EU User Consent Policy](https://www.google.com/about/company/consentstaging.html), you must make certain disclosures to your
users in the European Economic Area (EEA), the UK, and Switzerland, and obtain
their consent for the use of cookies or other local storage where legally
required, and for the collection, sharing, and use of personal data for ads
personalization. This policy reflects the requirements of the EU ePrivacy
Directive and the General Data Protection Regulation (GDPR). You are
responsible for verifying that consent is propagated to each ad source in your
mediation chain.

Liftoff Monetize Android adapter version
7.4.1.0
and later supports passing GDPR consent signals from consent management
platforms that integrate with IAB's Transparency and Consent Framework (TCF)
to Liftoff Monetize SDK.
For more information, see

[GDPR Recommended Implementation Instructions](https://support.vungle.com/hc/en-us/articles/360047780372-Advanced-Settings#h_01JV5KSP78CFHB1J50JHQTW988).


### US states privacy laws


[US states privacy laws](https://support.google.com/admanager/answer/9561023)
require giving users the right
to opt out of the "sale" of their "personal information" (as the law defines
those terms), with the opt-out offered through a prominent "Do Not Sell My Personal
Information" link on the "selling" party's homepage. The
[US states privacy
laws compliance guide](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/privacy/us-states) offers the ability to enable
[restricted data processing](https://privacy.google.com/businesses/rdp/)
for Google ad serving, but Google is unable to apply this setting to each ad
network in your mediation chain. Therefore, you must identify each ad network
in your mediation chain that may participate in the sale of personal
information and follow guidance from each of those networks to ensure
compliance.

Liftoff Monetize includes an API that lets you pass consent to the Vungle SDK.
The following sample code shows how to pass this consent information to the
Vungle SDK. If you choose to call this method, it is recommended that you do so
prior to requesting ads through GMA Next-Gen SDK.

### Java

```java
VunglePrivacySettings.setCCPAStatus(true);
```

### Kotlin

```kotlin
VunglePrivacySettings.setCCPAStatus(true)
```

See [CCPA implementation](https://support.vungle.com/hc/en-us/articles/360047780372-Advanced-Settings#h_01JV5KSP78232R87X1T4Z54H7Y)
for more details and the values that can be provided in the method.

## Step 5: Add required code

No additional code required for Liftoff Monetize integration.

## Step 6: Test your implementation

### Enable test ads

Make sure you
[register your test device](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/test-ads.md.txt#enable_test_devices)
for

Ad Manager and [enable test mode](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/mediation/liftoff-monetize.md.txt#turn-on-test-mode) in
Liftoff Monetize UI.


> [!IMPORTANT]
> **Important:** Disable test mode for Ad Manager and Liftoff Monetize before releasing your app.

### Verify test ads

To verify that you are receiving test ads from
Liftoff Monetize,
enable
[single ad source testing](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/ad-inspector.md.txt#single_ad_source_testing)
in ad inspector using the
**Liftoff Monetize (Bidding) and Liftoff Monetize (Waterfall)** ad source(s).

## Optional steps

### Network-specific parameters

The Liftoff Monetize adapter supports the following additional request
parameters which can be passed to the adapter:

`userId`
:   A string representing Liftoff Monetize's Incentivized User ID.

`adOrientation`
:   An integer specifying the presentation orientation for full-screen ads.

`setBackButtonImmediatelyEnabled`
:   A boolean to enable or disable the back button on App Open ads immediately. Set to `true` to enable the back button immediately, `false` otherwise. Defaults to `false`. See Liftoff Monetize's documentation on how to [integrate app open ads](https://support.vungle.com/hc/en-us/articles/26518197885979-Integrate-App-Open-Ads) for more info.

Here's a code example of how to create an ad request that sets these parameters:

### Java


```java
Bundle extras = new Bundle();
extras.putString(VungleConstants.KEY_USER_ID, "myUserID");
extras.putInt(VungleConstants.KEY_ORIENTATION, 1);
// Optional: Enables the back button on App Open ads immediately.
extras.putBoolean(VungleConstants.KEY_BACK_BUTTON_IMMEDIATELY_ENABLED, true);

AdRequest request =
    new AdRequest.Builder(AD_UNIT_ID)
        .putAdSourceExtrasBundle(VungleAdapter.class, extras) // Rewarded.
        .putAdSourceExtrasBundle(VungleInterstitialAdapter.class, extras) // Interstitial.
        // App Open ads use VungleMediationAdapter
        .putAdSourceExtrasBundle(VungleMediationAdapter.class, extras)
        .build();
```

<br />

### Kotlin


```kotlin
val extras = Bundle()
extras.putString(VungleConstants.KEY_USER_ID, "myUserID")
extras.putInt(VungleConstants.KEY_ORIENTATION, 1)
// Optional: Enables the back button on App Open ads immediately.
extras.putBoolean(VungleConstants.KEY_BACK_BUTTON_IMMEDIATELY_ENABLED, true)

val request =
  AdRequest.Builder(AD_UNIT_ID)
    .putAdSourceExtrasBundle(VungleAdapter::class.java, extras) // Rewarded.
    .putAdSourceExtrasBundle(VungleInterstitialAdapter::class.java, extras) // Interstitial.
    // App Open ads use VungleMediationAdapter
    .putAdSourceExtrasBundle(VungleMediationAdapter::class.java, extras)
    .build()
```

<br />

### Native ads rendering

The Liftoff Monetize adapter returns its native ads as

`NativeAd`

objects. It populates the following

[fields](https://support.google.com/admanager/answer/6075370)

for a

[`NativeAd`](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/reference/com/google/android/libraries/ads/mobile/sdk/nativead/NativeAd.md.txt).


| Field | Assets always included by Liftoff Monetize adapter |
|---|---|
| Headline | Yes |
| Image | [1](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/mediation/liftoff-monetize.md.txt#native-image-footnote) |
| Media view | Yes |
| Body | Yes |
| App icon | Yes |
| Call to action | Yes |
| Star rating | Yes |
| Store |   |
| Price |   |

^1^ The Liftoff Monetize
adapter does not provide direct access to the main image asset for its native
ads. Instead, the adapter populates the

[`MediaView`](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/reference/com/google/android/libraries/ads/mobile/sdk/nativead/MediaView.md.txt)

with a video or an image.

## Error codes

If the adapter fails to receive an ad from Liftoff Monetize, publishers can
check the underlying error from the ad response using

[`ResponseInfo.getAdSourceResponses()`](https://developers.google.com/ad-manager/mobile-ads-sdk/android/next-gen/reference/com/google/android/libraries/ads/mobile/sdk/common/ResponseInfo.md.txt#getAdSourceResponses())

under the following classes:

| Format | Class name |
|---|---|
| App Open (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| App Open (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Banner (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Banner (Waterfall) | com.vungle.mediation.VungleInterstitialAdapter |
| Interstitial (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Interstitial (Waterfall) | com.vungle.mediation.VungleInterstitialAdapter |
| Rewarded (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Rewarded (Waterfall) | com.vungle.mediation.VungleAdapter |
| Rewarded Interstitial (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Rewarded Interstitial (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Native (Bidding) | com.google.ads.mediation.vungle.VungleMediationAdapter |
| Native (Waterfall) | com.google.ads.mediation.vungle.VungleMediationAdapter |

Here are the codes and accompanying messages thrown by the Liftoff Monetize
adapter when an ad fails to load:

| Error code | Domain | Reason |
|---|---|---|
| 101 | com.google.ads.mediation.vungle | Invalid server parameters (e.g. app ID or placement ID). |
| 102 | com.google.ads.mediation.vungle | The requested banner size does not map to a valid Liftoff Monetize ad size. |
| 103 | com.google.ads.mediation.vungle | Liftoff Monetize requires an `Activity`context to request ads. |
| 104 | com.google.ads.mediation.vungle | The Vungle SDK cannot load multiple ads for the same placement ID. |
| 105 | com.google.ads.mediation.vungle | The Vungle SDK failed to initialize. |
| 106 | com.google.ads.mediation.vungle | Vungle SDK returned a successful load callback, but Banners.getBanner() or Vungle.getNativeAd() returned null. |
| 107 | com.google.ads.mediation.vungle | Vungle SDK is not ready to play the ad. |
| 108 | com.google.ads.mediation.vungle | Vungle SDK returned invalid bidding token. |

For errors that come from the Vungle SDK, refer to [Error Codes: Vungle SDK for iOS and Android](https://support.vungle.com/hc/en-us/articles/15661036969627-Error-Codes-Vungle-SDK-for-iOS-and-Android).

## Liftoff Monetize Android Mediation Adapter Changelog

#### Version 7.8.0.0 (In progress)

- Updated the adapter to use the `InitializationCompleteCallback.onInitializationFailed(AdError)` API.
- Support mediation partner name on Vungle ad requests before load.

#### Version 7.7.9.0

- Verified compatibility with Vungle SDK 7.7.9.

Built and tested with:

- Google Mobile Ads SDK version 25.5.0.
- Google Mobile Ads Next-Gen SDK version 1.5.0.
- Vungle SDK version 7.7.9.

#### Version 7.7.8.1

- Pin the adapter's Kotlin dependency to 1.9.0 (the min Kotlin version supported by GMA NextGen SDK).

Built and tested with:

- Google Mobile Ads SDK version 25.4.0.
- Google Mobile Ads Next-Gen SDK version 1.4.0.
- Vungle SDK version 7.7.8.

#### Version 7.7.8.0

- Verified compatibility with Vungle SDK 7.7.8.

Built and tested with:

- Google Mobile Ads SDK version 25.4.0.
- Google Mobile Ads Next-Gen SDK version 1.4.0.
- Vungle SDK version 7.7.8.

#### Version 7.7.7.0

- Removed the `canPlayAd()` check before showing app open ads so the Liftoff SDK handles the not-ready case and fires its own failure callback.
- Made the app open and interstitial ad objects nullable and added null checks before `play()`.
- Added logging using `VungleMediationLogger` when the app open, interstitial, or rewarded (waterfall and bidding) ad instance is null at show time.
- Verified compatibility with Vungle SDK 7.7.7.

Built and tested with:

- Google Mobile Ads SDK version 25.4.0.
- Google Mobile Ads Next-Gen SDK version 1.3.0.
- Vungle SDK version 7.7.7.

#### Version 7.7.6.0

- Verified compatibility with Vungle SDK 7.7.6.

Built and tested with:

- Google Mobile Ads SDK version 25.4.0.
- Google Mobile Ads Next-Gen SDK version 1.3.0.
- Vungle SDK version 7.7.6.

#### Version 7.7.4.2

- Maps `AgeRestrictedTreatment` to Liftoff Monetize's COPPA API.
- Removed the old API implementations for the following waterfall ad formats: Banner, Interstitial.
- Updated the adapter to use `loadBannerAd` for Waterfall Banner ads and `loadInterstitialAd` for Waterfall Interstitial ads.

Built and tested with:

- Google Mobile Ads SDK version 25.4.0.
- Google Mobile Ads Next-Gen SDK version 1.2.1.
- Vungle SDK version 7.7.4.

#### Version 7.7.4.1

- Added logging using `VungleMediationLogger` to highlight the case when multiple app ids are detected.

Built and tested with:

- Google Mobile Ads SDK version 25.3.0.
- Google Mobile Ads Next-Gen SDK version 1.2.1.

#### Version 7.7.4.0

- Added `MediationInterstitialAd` implementation to the interstitial ad format.
- Verified compatibility with Vungle SDK 7.7.4.

Built and tested with:

- Google Mobile Ads SDK version 25.2.0.
- Vungle SDK version 7.7.4.

#### Version 7.7.2.0

- Added property to build the adapter with GMA Next-Gen SDK dependency.
- Added logging using `VungleMediationLogger` for adaptive banner size mismatch.
- Set the `adapterAdFormat` property in BaseAd.
- Verified compatibility with Vungle SDK 7.7.2.

Built and tested with:

- Google Mobile Ads SDK version 25.0.0.
- Google Mobile Ads Next-Gen SDK version 0.25.0-beta01.
- Vungle SDK version 7.7.2.

#### Version 7.7.1.0

- Verified compatibility with Vungle SDK 7.7.1.

Built and tested with:

- Google Mobile Ads SDK version 25.0.0.
- Vungle SDK version 7.7.1.

#### Version 7.7.0.1

- Added support for publishers to configure `com.vungle.ads.AdConfig.setBackButtonImmediatelyEnabled` for app open ads using mediation extras.

Built and tested with:

- Google Mobile Ads SDK version 24.9.0.
- Vungle SDK version 7.7.0.

#### Version 7.7.0.0

- Verified compatibility with Vungle SDK 7.7.0.

Built and tested with:

- Google Mobile Ads SDK version 24.9.0.
- Vungle SDK version 7.7.0.

#### Version 7.6.3.1

- Added support for forwarding the tagForUnderAgeOfConsent Google Mobile Ads SDK parameter to the Liftoff Monetize SDK.

Built and tested with:

- Google Mobile Ads SDK version 24.9.0.
- Vungle SDK version 7.6.3.

#### Version 7.6.3.0

- Verified compatibility with Vungle SDK 7.6.3.

Built and tested with:

- Google Mobile Ads SDK version 24.9.0.
- Vungle SDK version 7.6.3.

#### Version 7.6.2.0

- Verified compatibility with Vungle SDK 7.6.2.

Built and tested with:

- Google Mobile Ads SDK version 24.9.0.
- Vungle SDK version 7.6.2.

#### Version 7.6.1.0

- Verified compatibility with Vungle SDK 7.6.1.

Built and tested with:

- Google Mobile Ads SDK version 24.7.0.
- Vungle SDK version 7.6.1.

#### Version 7.6.0.0

- Verified compatibility with Vungle SDK 7.6.0.

Built and tested with:

- Google Mobile Ads SDK version 24.7.0.
- Vungle SDK version 7.6.0.

#### Version 7.5.1.1

- Removed class-level references to Context. Can help reduce memory leak issues.
- Added new API implementation for Waterfall Banner ad.

Built and tested with:

- Google Mobile Ads SDK version 24.7.0.
- Vungle SDK version 7.5.1.

#### Version 7.5.1.0

- Verified compatibility with Vungle SDK 7.5.1.

Built and tested with:

- Google Mobile Ads SDK version 24.5.0.
- Vungle SDK version 7.5.1.

#### Version 7.5.0.1

- Sets `overrideImpressionRecording` to true for both waterfall and RTB native ads.

Built and tested with:

- Google Mobile Ads SDK version 24.4.0.
- Vungle SDK version 7.5.0.

#### Version 7.5.0.0

- Verified compatibility with Vungle SDK 7.5.0.

Built and tested with:

- Google Mobile Ads SDK version 24.2.0.
- Vungle SDK version 7.5.0.

#### Version 7.4.3.1

- Updated the minimum required Android API level to 23.
- Updated the minimum required Google Mobile Ads SDK version to 24.0.0.

Built and tested with:

- Google Mobile Ads SDK version 24.0.0.
- Vungle SDK version 7.4.3.

#### Version 7.4.3.0

- Verified compatibility with Vungle SDK 7.4.3.

Built and tested with:

- Google Mobile Ads SDK version 23.6.0.
- Vungle SDK version 7.4.3.

#### Version 7.4.2.0

- Verified compatibility with Vungle SDK 7.4.2.

Built and tested with:

- Google Mobile Ads SDK version 23.5.0.
- Vungle SDK version 7.4.2.

#### Version 7.4.1.0

- Verified compatibility with Vungle SDK 7.4.1.

Built and tested with:

- Google Mobile Ads SDK version 23.3.0.
- Vungle SDK version 7.4.1.

#### Version 7.4.0.1

- Added custom ad size support for bidding and waterfall banner ads.

Built and tested with:

- Google Mobile Ads SDK version 23.2.0.
- Vungle SDK version 7.4.0.

#### Version 7.4.0.0

- Extended the `VungleInterstitialAdapter` class from `VungleMediationAdapter` to add waterfall support for the app open ad format on Google Ad Manager.
- Verified compatibility with Vungle SDK 7.4.0.

Built and tested with:

- Google Mobile Ads SDK version 23.2.0.
- Vungle SDK version 7.4.0.

#### Version 7.3.2.0

- Verified compatibility with Vungle SDK 7.3.2.

Built and tested with:

- Google Mobile Ads SDK version 23.0.0.
- Vungle SDK version 7.3.2.

#### Version 7.3.1.0

- Verified compatibility with Vungle SDK 7.3.1.

Built and tested with:

- Google Mobile Ads SDK version 23.0.0.
- Vungle SDK version 7.3.1.

#### Version 7.3.0.0

- Updated the minimum required Google Mobile Ads SDK version to 23.0.0.
- Verified compatibility with Vungle SDK 7.3.0.
- Added waterfall and bidding support for app open ad format.

Built and tested with:

- Google Mobile Ads SDK version 23.0.0.
- Vungle SDK version 7.3.0.

#### Version 7.1.0.0

- Verified compatibility with Vungle SDK 7.1.0.

Built and tested with:

- Google Mobile Ads SDK version 22.3.0.
- Vungle SDK version 7.1.0.

#### Version 7.0.0.1

- Fixed an issue where Google Mobile Ads SDK was not recording impressions for bidding native ads.
- Reverted the adapter to depend on Google Mobile Ads SDK version 22.3.0.

Built and tested with:

- Google Mobile Ads SDK version 22.3.0.
- Vungle SDK version 7.0.0.

#### Version 7.0.0.0

- Added support to load multiple ads with the same placement ID for all waterfall ad formats.
- Rebranded adapter name from Vungle to Liftoff Monetize.
- Verified compatibility with Vungle SDK 7.0.0.

Built and tested with:

- Google Mobile Ads SDK version 22.4.0.
- Vungle SDK version 7.0.0.

#### Version 6.12.1.1

- Updated adapter to use new `VersionInfo` class.
- Updated the minimum required Google Mobile Ads SDK version to 22.0.0.

Built and tested with:

- Google Mobile Ads SDK version 22.0.0.
- Vungle SDK version 6.12.1.

#### Version 6.12.1.0

- Verified compatibility with Vungle SDK 6.12.1.

Built and tested with:

- Google Mobile Ads SDK version 21.4.0.
- Vungle SDK version 6.12.1.

#### Version 6.12.0.1

- Added bidding support for banner ad format.
- Verified compatibility with Vungle SDK 6.12.0.
- Updated the minimum required Google Mobile Ads SDK version to 21.4.0.

Built and tested with:

- Google Mobile Ads SDK version 21.4.0.
- Vungle SDK version 6.12.0.

#### Version 6.12.0.0

- Added waterfall mediation and bidding support for rewarded interstitial ad format.
- Added bidding support for native ad format.

Built and tested with:

- Google Mobile Ads SDK version 21.1.0.
- Vungle SDK version 6.12.0.

#### Version 6.11.0.3

- Added waterfall mediation support for native ad format.
- Updated the minimum required Google Mobile Ads SDK version to 21.1.0.

Built and tested with:

- Google Mobile Ads SDK version 21.1.0.
- Vungle SDK version 6.11.0.

#### Version 6.11.0.2

- Added support for loading multiple ads for the same placement ID in rewarded bidding ads.

Built and tested with:

- Google Mobile Ads SDK version 21.0.0.
- Vungle SDK version 6.11.0.

#### Version 6.11.0.1

- Updated `compileSdkVersion` and `targetSdkVersion` to API 31.
- Updated the minimum required Google Mobile Ads SDK version to 21.0.0.
- Updated the minimum required Android API level to 19.

Built and tested with:

- Google Mobile Ads SDK version 21.0.0.
- Vungle SDK version 6.11.0.

#### Version 6.11.0.0

- Verified compatibility with Vungle SDK 6.11.0.

Built and tested with:

- Google Mobile Ads SDK version 20.6.0.
- Vungle SDK version 6.11.0.

#### Version 6.10.5.0

- Verified compatibility with Vungle SDK 6.10.5.
- Updated the minimum required Google Mobile Ads SDK version to 20.6.0.

Built and tested with:

- Google Mobile Ads SDK version 20.6.0.
- Vungle SDK version 6.10.5.

#### Version 6.10.4.0

- Verified compatibility with Vungle SDK 6.10.4.

Built and tested with:

- Google Mobile Ads SDK version 20.5.0.
- Vungle SDK version 6.10.4.

#### Version 6.10.3.0

- Verified compatibility with Vungle SDK 6.10.3.

Built and tested with:

- Google Mobile Ads SDK version 20.5.0.
- Vungle SDK version 6.10.3.

#### Version 6.10.2.1

- Verified compatibility with Vungle SDK 6.10.2.
- Added bidding support for interstitial and rewarded ad formats.
- Updated the minimum required Google Mobile Ads SDK version to 20.5.0.

Built and tested with:

- Google Mobile Ads SDK version 20.5.0.
- Vungle SDK version 6.10.2.

#### Version 6.10.2.0

- Verified compatibility with Vungle SDK 6.10.2.
- Fixed an adapter issue by replacing parameter `serverParameters`, with `mediationExtras` to obtain Vungle network-specific parameters, when requesting Banner and Interstitial ads.

Built and tested with:

- Google Mobile Ads SDK version 20.3.0.
- Vungle SDK version 6.10.2.

#### Version 6.10.1.0

- Verified compatibility with Vungle SDK 6.10.1.
- Updated the minimum required Google Mobile Ads SDK version to 20.3.0.
- MREC Ads are now supported with Vungle's banner API.
- Updated standardized error codes and messages.

Built and tested with:

- Google Mobile Ads SDK version 20.3.0.
- Vungle SDK version 6.10.1.

#### Version 6.9.1.1

- Updated the minimum required Google Mobile Ads SDK version to 20.0.0.

Built and tested with:

- Google Mobile Ads SDK version 20.0.0.
- Vungle SDK version 6.9.1.

#### Version 6.9.1.0

- Verified compatibility with Vungle SDK 6.9.1.
- Added support for OMSDK.
- Various bug fixes.
- Rewarded Ad Support for Vungle onAdViewed callback.
- Updated the minimum required Google Mobile Ads SDK version to 19.7.0.

Built and tested with:

- Google Mobile Ads SDK version 19.7.0.
- Vungle SDK version 6.9.1.

#### Version 6.8.1.1

- Updated the minimum required Google Mobile Ads SDK version to 19.6.0.

Built and tested with:

- Google Mobile Ads SDK version 19.6.0.
- Vungle SDK version 6.8.1.

#### Version 6.8.1.0

- Verified compatibility with Vungle SDK 6.8.1.
- Updated the minimum required Google Mobile Ads SDK version to 19.5.0.

Built and tested with:

- Google Mobile Ads SDK version 19.5.0.
- Vungle SDK version 6.8.1.

#### Version 6.8.0.0

- Verified compatibility with Vungle SDK 6.8.0.
- Updated the adapter to not forward `onAdClosed()` when banner ads are refreshed or destroyed.
- Remove `FlexFeed` and `FlexView` (deprecated in Vungle 6.8.0).
- Updated the minimum required Google Mobile Ads SDK version to 19.4.0.

Built and tested with:

- Google Mobile Ads SDK version 19.4.0.
- Vungle SDK version 6.8.0.

#### Version 6.7.1.0

- Verified compatibility with Vungle SDK 6.7.1.
- Fixed a bug where ads wouldn't load if an ad was loaded using an application context.
- Updated `targetSdkVersion` to API 29.
- Updated the minimum required Google Mobile Ads SDK version to 19.3.0.

Built and tested with:

- Google Mobile Ads SDK version 19.3.0.
- Vungle SDK version 6.7.1.

#### Version 6.7.0.0

- Verified compatibility with Vungle SDK 6.7.0.
- Updated the adapter to support inline adaptive banner requests.
- Interstitial and rewarded ads are now unmuted by default.
- Interstitial ads now forward the `onAdLeftApplication()` callback when clicked.
- Updated the minimum required Google Mobile Ads SDK version to 19.2.0.

Built and tested with:

- Google Mobile Ads SDK version 19.2.0.
- Vungle SDK version 6.7.0.

#### Version 6.5.3.0

- Verified compatibility with Vungle SDK 6.5.3.
- Add support for the newly-introduced Vungle's Banner format.
- Updated the minimum required Google Mobile Ads SDK version to 19.0.1.

Built and tested with:

- Google Mobile Ads SDK version 19.0.1.
- Vungle SDK version 6.5.3.

#### Version 6.4.11.1

- Fixed an issue where banner ads failed to refresh.

#### Version 6.4.11.0

- Verified compatibility with Vungle SDK 6.4.11.
- Added support for banner ads.
- Migrated the adapter to AndroidX.
- Updated the minimum required Google Mobile Ads SDK version to 18.2.0.

#### Version 6.3.24.1

- Updated adapter to support new open-beta Rewarded API.
- Updated the minimum required Google Mobile Ads SDK version to 17.2.0.

#### Version 6.3.24.0

- Verified compatibility with Vungle SDK 6.3.24.

#### Version 6.3.17.0

- Verified compatibility with Vungle SDK 6.3.17.

#### Version 6.3.12.0

- Verified compatibility with Vungle SDK 6.3.12.

#### Version 6.2.5.1

- Updated the adapter to invoke the `onRewardedVideoComplete()` ad event.

#### Version 6.2.5.0

- Verified compatibility with Vungle SDK 6.2.5.

#### Version 5.3.2.1

- Updated adapter to correctly report clicks to the Google Mobile Ads SDK.

#### Version 5.3.2.0

- Verified compatibility with Vungle SDK 5.3.2.
- Updated the Adpater project for Android Studio 3.0.
- Added the following methods to Bundle builder class.
  - `setOrdinalViewCount` : This field is used to pass the mediation ordinal, whenever Publisher receives the ordinal data reports from Vungle.
  - `setFlexViewCloseTimeInSec` : This option is used to make flex view ads dismiss on their own after the specified number of seconds.

#### Version 5.3.0.0

- Verified compatibility with Vungle SDK 5.3.0.

#### Version 5.1.0.0

- Updated the adapter to make it compatible with Vungle SDK 5.1.0.
- Changed the version naming system to \[Vungle SDK version\].\[adapter patch version\].

#### Earlier versions

- Added support for interstitial and rewarded video ad formats.