<br />

This guide shows you how to use Google Mobile Ads SDK to load and display
ads from maio using [mediation](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/mediation.md.txt),
covering waterfall integrations. It covers how to add maio to an ad unit's
mediation configuration, and how to integrate the maio SDK and adapter into an
iOS app.

The dashboard interface for maio uses Japanese text for its labels, buttons,
and descriptions, and the screenshots in this guide have not been translated.
In this guide's descriptions and instructions however, labels and buttons are
referenced with their English language equivalents. "URL スキーム," for example,
is "URL Scheme".

## Supported integrations and ad formats

The mediation adapter for maio has the following capabilities:

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

## Prerequisites

Before you continue, verify the following:

- iOS deployment target of 15.0 or later.

<!-- -->

- Latest Google Mobile Ads SDK version.

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

## Step 1: Set up configurations in maio UI

First, [sign up](https://docs.google.com/forms/d/e/1FAIpQLScSrlf8JTwTdvJjaLjc3v4z8PfunngKALSBdRf3EfyctdMY3Q/viewform)
or [log in](https://maio.jp/publisher/login) to your maio account. Click the
**Application management** button on the left sidebar and click on **New app**.

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

Select the tab corresponding to your preferred **Ad Type**.

### Interstitial

Enter the **Name** of your app, select the platform and provide your
**App URL** . Select **Video interstitial** as the **Ad Type** , and then
click **Update**.

![](https://developers.google.com/static/admob/images/mediation/maio/interstitial_iOS.png)
**Note:** Interstitial ads from maio are skippable by default.

### Rewarded

Enter the **Name** of your app, select the platform and provide your
**App URL** . Select **Video Rewards** as the **Ad Type** , and then click
**Update**.

![](https://developers.google.com/static/admob/images/mediation/maio/rewarded_iOS.png)
**Note:** Rewarded Video ads from maio are **NOT** skippable by default.

In the **Application Management** page, make a note of the **Media ID**. It's
needed to set up your Ad Manager ad unit in the next
section.

![](https://developers.google.com/static/admob/images/mediation/maio/media_id_iOS.png)

In the **Zone Management** page, make a note of the **Zone ID**. It will also
be needed to set up your Ad Manager ad unit in the next
section.

![](https://developers.google.com/static/admob/images/mediation/maio/zone_id_iOS.png)
(Waterfall only) In addition to **Media ID** and **Zone ID** , you will need **API ID** and **API KEY** to set up your ad unit ID for mediation. In **Reporting API page** , make a note of **API ID** and **API KEY** .

<br />

![](https://developers.google.com/static/admob/images/mediation/maio/api_id_key.png)

> [!NOTE]
> **Note:** (Waterfall only) If this is your first time setting up your maio account, you may need to contact maio's support team in order for your **API ID** and **API KEY** to be issued to you.

## Step 2: Set up maio demand in Ad Manager UI

### Configure mediation settings for your ad unit

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

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

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

Enter a unique **Name** for your yield group, set the **Status** to **Active** ,
select your **Ad Format** , and set the **Inventory type** to **Mobile App** .
Under the **Targeting \> Inventory** section, select the ad unit under
**Inventory** and **Mobile application** to which you want to add mediation.

<br />

Next, click the **Add yield partner** button.

![](https://developers.google.com/static/admob/images/mediation/dfp_yield_partner_add.png)

If you already have a **Yield partner** for
maio, you can select it. Otherwise,
select **Create a new yield partner**.

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

Turn on **Automatic data collection** , and enter the
**API ID** and **API KEY**

obtained in the previous section.


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

Once the **Yield partner** is selected, choose **Mobile SDK Mediation**
as the **Integration type** , **iOS** as the
**Platform** , and **Active** as the **Status** . Enter the

**Media ID** and **Zone ID**

obtained in the previous section. Then, enter a **Default CPM** value.

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

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

Click **Save** at the bottom of the page when done.

> [!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 will be automatically updated on your behalf.

## Step 3: Import the maio SDK and adapter

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

### Recommended: Use Swift Package Manager

Before you continue, you must have the minimum supported adapter version
2.2.0.0.

To [add a package dependency](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app#Add-a-package-dependency)
to your project, follow these steps:

1. In Xcode, navigate to **File \> Add Package Dependencies...**.

2. In the prompt that appears, search the following package URL:

       https://github.com/googleads/googleads-mobile-ios-mediation-maio.git

3. In **Dependency Rule** , select **Branch**.

4. In the text field, enter `main`.

### Manual integration

- Download the latest version of the [maio SDK](https://github.com/imobile-maio/maio-iOS-SDK/releases/).
- Download the latest version of the maio adapter from the download link in the [Changelog](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/mediation/maio.md.txt#maio-ios-mediation-adapter-changelog), and link `maioAdapter.framework` in your project.

### Use CocoaPods


> [!CAUTION]
> **Caution:** Starting December 2, 2026, the [CocoaPods Specs
> repository](https://blog.cocoapods.org/CocoaPods-Specs-Repo/) is in read-only mode. As of this date, Google Mobile Ads SDK no longer publishes updated versions of mediation adapters for iOS to CocoaPods.

<br />

- Add the following line to your project's Podfile:

      pod 'GoogleMobileAdsMediationMaio'

- From the command line run:

  ```bash
  pod install --repo-update
  ```

## Step 4: Add required code

### Implement SKAdNetwork

Follow [maio's documentation](https://github.com/imobile/MaioSDK-v2-iOS?tab=readme-ov-file#skadnetworkid)
to add the SKAdNetwork identifiers to your project's `Info.plist` file.

## Step 5: Test your implementation

### Enable test ads

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

Ad Manager.


Publishers using version 7.26.0 or higher of Google Mobile Ads SDK will
automatically receive test ads from maio on phones and tablets registered as
[test devices](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/test-ads.md.txt#enable_test_devices)
when making requests.

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

### Verify test ads

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

## Error codes

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

[`GADResponseInfo.adNetworkInfoArray`](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/api/reference/Classes/GADResponseInfo.md.txt#adnetworkinfoarray)
under the following classes:

| Format | Class name |
|---|---|
| Interstitial | GADMMaioInterstitialAdapter |
| Rewarded | GADMMaioRewardedAdapter |

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

| Error code | Reason |
|---|---|
| 0-10 | maio returned an SDK-specific error. See maio's [code](https://github.com/imobile-maio/maio-iOS-SDK/blob/master/Maio.framework/Headers/MaioDelegate.h) for more details. |
| 101 | maio does not yet have an ad available. |
| 102 | Invalid server parameters (e.g. missing Placement ID). |
| 103 | The maio adapter does not support the ad format being requested. |
| 104 | An ad is already loaded for this network configuration. |
| 105 | Filter age-restricted requests for maio SDK because it cannot receive age-restricted signals. |

## maio iOS Mediation Adapter Changelog

#### [Version 2.2.3.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.3.0.zip)

- Verified compatibility with maio SDK version 2.2.3.

Built and tested with:

- Google Mobile Ads SDK version 13.9.0.
- Maio SDK version 2.2.3.

#### [Version 2.2.2.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.2.0.zip)

- Verified compatibility with maio SDK version 2.2.2.
- Now requires minimum iOS version `15.0`.
- Updated the minimum iOS version to relax Google Mobile Ads SDK dependency to allow minor versions.

Built and tested with:

- Google Mobile Ads SDK version 13.7.0.
- Maio SDK version 2.2.2.

#### [Version 2.2.1.2](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.1.2.zip)

- Filter age-restricted requests for maio SDK when new `ageRestrictedTreatment` is set to `GADAgeRestrictedTreatmentChild`.

Built and tested with:

- Google Mobile Ads SDK version 13.3.0.
- Maio SDK version 2.2.1.

#### [Version 2.2.1.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.1.1.zip)

- Filter age-restricted requests for maio SDK because it cannot receive age-restricted signals.

Built and tested with:

- Google Mobile Ads SDK version 13.2.0.
- Maio SDK version 2.2.1.

#### [Version 2.2.1.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.1.0.zip)

- Verified compatibility with maio SDK version 2.2.1.

Built and tested with:

- Google Mobile Ads SDK version 13.1.0.
- Maio SDK version 2.2.1.

#### [Version 2.2.0.3](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.0.3.zip)

- Added support for waterfall banner ads.
- Updated the Google Mobile Ads SDK dependency to version 13.0.0.

Built and tested with:

- Google Mobile Ads SDK version 13.0.0.
- Maio SDK version 2.2.0.

#### [Version 2.2.0.2](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.0.2.zip)

- Updated the CocoaPods minimum iOS version to `13.0`.

Built and tested with:

- Google Mobile Ads SDK version 13.0.0.
- Maio SDK version 2.2.0.

#### [Version 2.2.0.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.0.1.zip)

- Removed bidding implementation since Maio no longer supports bidding.
- Update the adapter to use the `GADMediationAdapter` protocol.

Built and tested with:

- Google Mobile Ads SDK version 12.11.0.
- Maio SDK version 2.2.0.

#### [Version 2.2.0.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.2.0.0.zip)

- Verified compatibility with maio SDK version 2.2.0.

Built and tested with:

- Google Mobile Ads SDK version 12.11.0.
- Maio SDK version 2.2.0.

#### [Version 2.1.6.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.6.1.zip)

- Now requires Google Mobile Ads SDK version 12.0.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 12.0.0.
- Maio SDK version 2.1.6.

#### [Version 2.1.6.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.6.0.zip)

- Verified compatibility with maio SDK version 2.1.6.

Built and tested with:

- Google Mobile Ads SDK version 11.13.0.
- Maio SDK version 2.1.6.

#### [Version 2.1.5.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.5.1.zip)

- Updated `CFBundleShortVersionString` to have three components instead of four.

Built and tested with:

- Google Mobile Ads SDK version 11.10.0.
- Maio SDK version 2.1.5.

#### [Version 2.1.5.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.5.0.zip)

- Verified compatibility with maio SDK version 2.1.5.

Built and tested with:

- Google Mobile Ads SDK version 11.6.0.
- Maio SDK version 2.1.5.

#### [Version 2.1.4.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.4.0.zip)

- Verified compatibility with maio SDK version 2.1.4.

Built and tested with:

- Google Mobile Ads SDK version 11.2.0.
- Maio SDK version 2.1.4.

#### [Version 2.1.3.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.3.0.zip)

- Verified compatibility with maio SDK version 2.1.3.

Built and tested with:

- Google Mobile Ads SDK version 11.1.0.
- Maio SDK version 2.1.3.

#### [Version 2.1.2.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.2.1.zip)

- Now requires Google Mobile Ads SDK version 11.0 or higher.
- Included `Info.plist` in the frameworks within `MaioAdapter.xcframework`.

Built and tested with:

- Google Mobile Ads SDK version 11.0.1.
- Maio SDK version 2.1.2.

#### [Version 2.1.2.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.2.0.zip)

- Verified compatibility with maio SDK version 2.1.2.

Built and tested with:

- Google Mobile Ads SDK version 10.14.0.
- Maio SDK version 2.1.2.

#### [Version 2.1.1.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.1.1.0.zip)

- Verified compatibility with maio SDK version 2.1.1.

Built and tested with:

- Google Mobile Ads SDK version 10.12.0.
- Maio SDK version 2.1.1.

#### [Version 2.0.0.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-2.0.0.0.zip)

- Verified compatibility with maio SDK version 2.0.0.
- Removed the dependency on `MaioOB SDK`.
- Removed support of the `armv7` architecture.
- Now requires minimum iOS version 12.0.
- Now requires Google Mobile Ads SDK version 10.4.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 10.10.0.
- Maio SDK version 2.0.0.

#### [Version 1.6.3.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.3.1.zip)

- Now requires Google Mobile Ads SDK version 10.0.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 10.0.0.
- Maio SDK version 1.6.3.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.6.3.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.3.0.zip)

- Updated the adapter to use the `didRewardUser` API.
- Now requires Google Mobile Ads SDK version 9.8.0 or higher.
- Verified compatibility with maio SDK version 1.6.3 and maioOB SDK version 2.0.0-alpha.

Built and tested with:

- Google Mobile Ads SDK version 9.12.0.
- Maio SDK version 1.6.3.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.6.2.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.2.0.zip)

- Verified compatibility with maio SDK version 1.6.2 and maioOB SDK version 2.0.0-alpha.

Built and tested with:

- Google Mobile Ads SDK version 9.5.0.
- Maio SDK version 1.6.2.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.6.1.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.1.0.zip)

- Verified compatibility with maio SDK version 1.6.1 and maioOB SDK version 2.0.0-alpha.

Built and tested with:

- Google Mobile Ads SDK version 9.2.0.
- Maio SDK version 1.6.1.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.6.0.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.0.1.zip)

- Verified compatibility with Google Mobile Ads SDK version 9.0.0.
- Now requires Google Mobile Ads SDK version 9.0.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 9.0.0.
- Maio SDK version 1.6.0.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.6.0.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.6.0.0.zip)

- Verified compatibility with maio SDK version 1.6.0 and maioOB SDK version 2.0.0-alpha.

Built and tested with:

- Google Mobile Ads SDK version 8.13.0.
- Now requires minimum iOS version of 10.0.
- Maio SDK version 1.6.0.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.5.8.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.5.8.0.zip)

- Verified compatibility with maio SDK version 1.5.8 and maioOB SDK version 2.0.0-alpha.
- Added bidding capability to the adapter for interstitial and rewarded ad formats.
- Relaxed dependency to Google Mobile Ads SDK version 8.0.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 8.7.0.
- Maio SDK version 1.5.8.
- MaioOB SDK version 2.0.0-alpha.

#### [Version 1.5.6.1](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.5.6.1.zip)

- Added standardized adapter error codes and messages.
- Updated the adapter to use the `.xcframework` format.
- Fixed a bug where rewarded ad events were sometimes not forwarded.
- Now requires Google Mobile Ads SDK version 8.3.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 8.3.0.
- Maio SDK version 1.5.6.

#### [Version 1.5.6.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.5.6.0.zip)

- Verified compatibility with maio SDK version 1.5.6.
- Now requires Google Mobile Ads SDK version 7.68.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 7.68.0.
- Maio SDK version 1.5.6.

#### [Version 1.5.5.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.5.5.0.zip)

- Verified compatibility with maio SDK version 1.5.5.
- Now requires Google Mobile Ads SDK version 7.64.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 7.64.0.
- Maio SDK version 1.5.5.

#### [Version 1.5.4.0](https://dl.google.com/googleadmobadssdk/mediation/ios/maio/MaioAdapter-1.5.4.0.zip)

- Verified compatibility with maio SDK version 1.5.4.
- Now requires Google Mobile Ads SDK version 7.60.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 7.60.0.
- Maio SDK version 1.5.4.

#### Version 1.5.3.1

- To limit timeouts, ad requests will now immediately fail if maio does not have an ad ready to be shown.
- Removed support for the i386 architecture.

Built and tested with:

- Google Mobile Ads SDK version 7.58.0.
- Maio SDK version 1.5.3.

#### Version 1.5.3.0

- Verified compatibility with maio SDK version 1.5.3.

Built and tested with:

- Google Mobile Ads SDK version 7.55.1.
- Maio SDK version 1.5.3.

#### Version 1.5.2.1

- Fixed an issue where the adapter was not invoking the `-rewardedAdDidPresent:` callback.

Built and tested with:

- Google Mobile Ads SDK version 7.53.1.
- Maio SDK version 1.5.2.

#### Version 1.5.2.0

- Verified compatibility with maio SDK version 1.5.2.

Built and tested with:

- Google Mobile Ads SDK version 7.53.1.
- Maio SDK version 1.5.2.

#### Version 1.5.1.0

- Verified compatibility with maio SDK version 1.5.1.

Built and tested with:

- Google Mobile Ads SDK version 7.52.0.
- Maio SDK version 1.5.1.

#### Version 1.5.0.0

- Verified compatibility with maio SDK version 1.5.0.

Built and tested with

- Google Mobile Ads SDK version 7.51.0.
- Maio Ads SDK version 1.5.0.

#### Version 1.4.8.0

- Verified compatibility with maio SDK version 1.4.8.

#### Version 1.4.6.0

- Verified compatibility with maio SDK version 1.4.6.
- Updated the adapter to use the new rewarded API.
- Now requires Google Mobile Ads SDK version 7.42.2 or higher.

#### Version 1.4.2.0

- Verified compatibility with maio SDK version 1.4.2.

#### Version 1.4.1.0

- Verified compatibility with maio SDK version 1.4.1.
- Fixed an issue where maio adapter might fail if multiple MediaIds are provided from AdMob.

#### Version 1.4.0.0

- Verified compatibility with maio SDK version 1.4.0.

#### Version 1.3.2.0

- Verified compatibility with maio SDK version 1.3.2.

#### Version 1.3.1.1

- Added `adapterDidCompletePlayingRewardBasedVideoAd:` callback to the adapter.

#### Version 1.3.1.0

- Verified compatibility with maio SDK version 1.3.1.

#### Version 1.3.0.0

- Verified compatibility with maio SDK version 1.3.0.

#### Version 1.2.19.0

- Verified compatibility with maio SDK version 1.2.19.

#### Version 1.2.18.0

- First release!
- Added support for interstitials and rewarded videos ads.