This guide shows you how to use GMA Next-Gen SDK to load and display ads from maio using AdMob Mediation, 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 Android 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 | |
| Formats | |
| Banner | |
| Interstitial | |
| Rewarded | |
| Native | |
Requirements
- Android API level 24 or higher
- maio SDK 1.0.7 or higher
Latest GMA Next-Gen SDK.
Complete the mediation Get started guide.
Step 1: Set up configurations in maio UI
First, sign up or log in to your maio account. Click the Application management button on the left sidebar and click on New app.

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.

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.

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

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


Step 2: Set up maio demand in AdMob UI
Configure mediation settings for your ad unit
You need to add maio to the mediation configuration for your ad unit.
First, sign in to your AdMob account. Next, navigate to the Mediation tab. If you have an existing mediation group you'd like to modify, click the name of that mediation group to edit it, and skip ahead to Add maio as an ad source.
To create a new mediation group, select Create Mediation Group.

Enter your ad format and platform, then click Continue.

Give your mediation group a name, and select locations to target. Next, set the mediation group status to Enabled, and then click Add Ad Units.

Associate this mediation group with one or more of your existing AdMob ad units. Then click Done.

You should now see the ad units card populated with the ad units you selected:

Add maio as an ad source
Under the Waterfall card in the Ad Sources section, select Add Ad Source.
Select maio and enable the Optimize switch. Enter the API ID and API KEY obtained in the previous section to set up ad source optimization for maio. Then enter an eCPM value for maio and click Continue.

If you already have a mapping for maio, you can select it. Otherwise, click Add mapping.

Next, enter the Media ID and Zone ID obtained in the previous section. Then click Done.

Step 3: Import the maio SDK and adapter
Android Studio integration (recommended)
In your project-level settings.gradle.kts file, add the following
repositories:
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://imobile-maio.github.io/maven")
}
}
}
In your app-level gradle file, add the following implementation dependencies and configurations:
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02") implementation("com.google.ads.mediation:maio:2.0.8.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
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.24.0-beta02' implementation 'com.google.ads.mediation:maio:2.0.8.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 version of maio Android SDK and add it to your project.
- Navigate to the maio adapter artifacts on Google's Maven Repository. Select the latest version, download the maio adapter's `.aar' file, and add it to your project.
Step 4: Add required code
No additional code is required for maio Android integration.
Step 5: Test your implementation
Enable test ads
Make sure you register your test device for AdMob.
Publishers using version 11.6.0 or higher of GMA Next-Gen SDK will automatically receive test ads from maio on phones and tablets registered as test devices when making requests.
Verify test ads
To verify that you are receiving test ads from maio, enable 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
ResponseInfo.getAdSourceResponses()
under the following classes:
| Format | Class name |
|---|---|
| Interstitial | jp.maio.sdk.android.mediation.admob.adapter.Interstitial |
| Rewarded | jp.maio.sdk.android.mediation.admob.adapter.Rewarded |
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 code and maio's documentation for more details. |
| 101 | Maio does not have an ad available. |
| 102 | Invalid server parameters (e.g. missing Placement ID). |
| 103 | Context used to load an ad was not an `Activity` instance. |