<br />

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

The dashboard interface for i-mobile uses Japanese text for its labels,
buttons, and descriptions. The screenshots in this guide have not been
translated. In this guide's descriptions and instructions however, labels and
buttons are translated with their English language equivalents in parentheses.

## Supported integrations and ad formats

The mediation adapter for i-mobile has the following capabilities:

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

## Prerequisites

Before you continue, verify the following:

- iOS deployment target of 13.0 or later.

<!-- -->

- Latest Google Mobile Ads SDK version.

- [Set up AdMob Mediation](https://developers.google.com/admob/ios/mediation.md.txt).

## Step 1: Set up configurations in i-mobile UI

[Sign up](https://www2.i-mobile.co.jp/pre_register_partner.aspx) or [log
in](https://sppartner.i-mobile.co.jp/login.aspx) to your i-mobile account.

Add your app to the i-mobile dashboard by clicking the
**サイト／アプリ管理 (Site/Application Management)** tab and the button for your
app's platform.
![](https://developers.google.com/static/admob/images/mediation/imobile/select_platform_iOS.png)

Fill out the form and click the **新規登録 (Sign up)** button.
![](https://developers.google.com/static/admob/images/mediation/imobile/add_app_name_iOS.png)

> [!NOTE]
> **Note:** i-mobile has to approve your registration. Once you are approved, you can create an **Advertising Spot**.

To create a new Advertising Spot, select your app under the
**サイト／アプリ管理 (Site/Application Management)** tab.
![](https://developers.google.com/static/admob/images/mediation/imobile/app_list_iOS.png)

Navigate to the **広告スポット管理 (Ad Spot Management)** tab and click the
**新規広告スポット (New Ad Spot)** button.

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

Next, fill out the form by providing the **広告スポット名 (Ad Spot name)** ,
**広告スポットサイズ (Ad Spot size)** and other details. Then, click the
**新規登録 (Sign up)** button.

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

Your new **Ad spot** is ready. To view its integration details, click the
**アプリ設定取得 (Get App settings)** button.

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

Take note of the **パブリッシャーID (Publisher ID)** , **メディアID (Media ID)** ,
and **スポットID (Spot ID)**. You'll need these parameters later when configuring
i-mobile for mediation in the AdMob UI.
![](https://developers.google.com/static/admob/images/mediation/imobile/ad_spot_details_iOS.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,

[set up an app-ads.txt file for your app](https://support.google.com/admob/answer/9363762).

To implement `app-ads.txt` for i-mobile, see their
[Frequently Asked Questions](https://www.i-mobile.co.jp/help_partner_sp.html#3-10).

## Step 2: Set up i-mobile demand in AdMob UI

### Configure mediation settings for your ad unit

You need to add i-mobile to the
mediation configuration for your ad unit.

First, sign in to your [AdMob account](https://apps.admob.com/). 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 i-mobile as an ad source](https://developers.google.com/admob/ios/mediation/imobile.md.txt#add-ad-source).

To create a new mediation group, select **Create Mediation Group**.

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

Enter your ad format and platform, then click **Continue**.

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

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

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

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

![](https://developers.google.com/static/admob/images/mediation/admob-ad-units-select-iOS.png)

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

![](https://developers.google.com/static/admob/images/mediation/admob-ad-units-card-iOS.png)

### Add i-mobile as an ad source

<br />

Under the **Waterfall** card in the **Ad Sources** section, select **Add Ad
Source** .  

Select **i-mobile** and enable the **Optimize** switch. Enter the **Login name** and **API Password** obtained in the previous section to set up ad source optimization for i-mobile. Then enter an **eCPM value** for i-mobile and click **Continue** .  

![](https://developers.google.com/static/admob/images/mediation/imobile/admob-add-ad-network.png)  

> [!NOTE]
> **Note**: You only need to set up ad source optimization once per network.

<br />

If you already have a mapping for i-mobile, you can select it. Otherwise, click **Add mapping** .  

![](https://developers.google.com/static/admob/images/mediation/imobile/waterfall-add-mapping-1-iOS.png)  

Next, enter the **Publisher ID** , **Media ID** and **Spot ID** obtained in the previous section. Then click **Done** .  
![](https://developers.google.com/static/admob/images/mediation/imobile/waterfall-add-mapping-2-iOS.png)  

> [!NOTE]
> **Note** : Ad source optimization takes a few days to gather enough data to accurately calculate eCPM for a mediation network. In the meantime, the ad source optimization status is `PENDING`, so you must manually set an eCPM value for the network. Once the eCPM can be calculated, the ad source automatically starts updating the eCPM on your behalf.

## Step 3: Import the i-mobile SDK and Adapter

> [!NOTE]
> **Note:** Failure to integrate the compatible i-mobile 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.3.4.2.

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-imobile.git

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

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

### Manual integration

- Download the latest version of the [i-mobile
  SDK](https://sppartner.i-mobile.co.jp/sdk_download.aspx) and link `ImobileSdkAds.framework` in your project.
- Download the latest version of the i-mobile adapter from the download link in [Changelog](https://developers.google.com/admob/ios/mediation/imobile.md.txt#i-mobile-ios-mediation-adapter-changelog) and link `IMobileAdapter.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 'GoogleMobileAdsMediationIMobile'

- From the command line run:

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

## Step 4: Add required code

### Implement SKAdNetwork

Follow [i-mobile's documentation](https://sppartner.i-mobile.co.jp/webdoc/index.html#objective-c/ios14.html)
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/admob/ios/test-ads.md.txt#enable_test_devices)
for

AdMob.


i-mobile provides test **Spot ID** , **Media ID** ,
and **Publisher ID** for testing, you can find them
[here](https://sppartner.i-mobile.co.jp/webdoc/common/test-id.html).


> [!IMPORTANT]
> **Important:** Disable test mode for AdMob and i-mobile before releasing your app.

### Verify test ads

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

## Optional steps

### Using native ads

#### Ad rendering

The i-mobile adapter populates the following

[Native ads advanced field descriptions](https://support.google.com/admob/answer/6240809)

for a

[`GADNativeAd`](https://developers.google.com/admob/ios/api/reference/Classes/GADNativeAd.md.txt).


| Field | Assets always included by i-mobile adapter |
|---|---|
| Headline | Yes |
| Image | Yes |
| Body | Yes |
| App icon | ^[1](https://developers.google.com/admob/ios/mediation/imobile.md.txt#app-icon-footnote)^ |
| Call to action | Yes |
| Star rating |   |
| Store |   |
| Price |   |

^1^ For native ads, the i-mobile SDK does not provide an app icon asset. Instead,
the i-mobile adapter populates the app icon with a transparent image.

## Error codes

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

[`GADResponseInfo.adNetworkInfoArray`](https://developers.google.com/admob/ios/api/reference/Classes/GADResponseInfo.md.txt#adnetworkinfoarray)
under the following classes:

| Format | Class name |
|---|---|
| Banner | IMobileAdapter |
| Interstitial | IMobileAdapter |
| Native | GADMediationAdapterIMobile |

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

| Error code | Reason |
|---|---|
| 0-10 | i-mobile SDK returned an error. See [code](https://github.com/imobile/adnw-sdk-ios/blob/master/ImobileSdkAds.framework/Headers/ImobileSdkAds.h) for more details. |
| 101 | i-mobile server parameters configured in the AdMob UI are missing/invalid. |
| 102 | The requested ad size does not match an i-mobile supported banner size. |
| 103 | i-mobile failed to present an ad. |
| 104 | i-mobile returned an empty native ad array. |
| 105 | i-mobile failed to download native ad assets. |
| 106 | i-mobile does not support requesting for multiple interstitial ads using the same Spot ID. |
| 107 | Filter age-restricted requests for i-mobile SDK because it cannot receive age-restricted signals. |

## i-mobile iOS Mediation Adapter Changelog

#### [Version 2.3.4.8](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.8.zip)

- 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.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.7](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.7.zip)

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

Built and tested with:

- Google Mobile Ads SDK version 13.4.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.6](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.6.zip)

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

Built and tested with:

- Google Mobile Ads SDK version 13.2.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.5](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.5.zip)

- Updated the Google Mobile Ads SDK dependency to version 13.0.0.

Built and tested with:

- Google Mobile Ads SDK version 13.0.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.4](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.4.zip)

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

Built and tested with:

- Google Mobile Ads SDK version 13.0.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.3](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.3.zip)

- Corrected the framework and umbrella header names in the `IMobileAdapter` modulemap.

Built and tested with:

- Google Mobile Ads SDK version 12.12.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.2](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.2.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.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.1](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.1.zip)

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

Built and tested with:

- Google Mobile Ads SDK version 11.10.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.4.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.4.0.zip)

- Verified compatibility with i-mobile SDK 2.3.4.
- Added support to return the i-mobile SDK version in `adSDKVersion`.

Built and tested with:

- Google Mobile Ads SDK version 11.2.0.
- i-mobile SDK version 2.3.4.

#### [Version 2.3.3.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.3.0.zip)

- Verified compatibility with i-mobile SDK 2.3.3.

Built and tested with:

- Google Mobile Ads SDK version 11.1.0.
- i-mobile SDK version 2.3.3.

#### [Version 2.3.2.1](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.2.1.zip)

- Removed the deprecated `willBackgroundApplication` delegate method from the banner, interstitial, and native ad implementations.
- Now requires minimum iOS version 12.0.
- Now requires Google Mobile Ads SDK version 11.0 or higher.
- Included `Info.plist` in the frameworks within `IMobileAdapter.xcframework`.

Built and tested with:

- Google Mobile Ads SDK version 11.0.1.
- i-mobile SDK version 2.3.2.

#### [Version 2.3.2.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.2.0.zip)

- Verified compatibility with i-mobile SDK 2.3.2.
- Removed support of the `armv7` architecture.
- Now requires minimum iOS version 11.0.
- Now requires Google Mobile Ads SDK version 10.4.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 10.4.0.
- i-mobile SDK version 2.3.2.

#### [Version 2.3.1.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.1.0.zip)

- Verified compatibility with i-mobile SDK 2.3.1.

Built and tested with:

- Google Mobile Ads SDK version 10.3.0.
- i-mobile SDK version 2.3.1.

#### [Version 2.3.0.1](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.0.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.
- i-mobile SDK version 2.3.0.

#### [Version 2.3.0.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.3.0.0.zip)

- Verified compatibility with i-mobile SDK 2.3.0.
- Now requires Google Mobile Ads SDK version 9.8.0 or higher.

Built and tested with:

- Google Mobile Ads SDK version 9.13.0.
- i-mobile SDK version 2.3.0.

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

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

Built and tested with:

- Google Mobile Ads SDK version 9.0.0.
- i-mobile SDK version 2.2.0.

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

- Verified compatibility with i-mobile SDK version 2.2.0.

Built and tested with

- Google Mobile Ads SDK version 8.13.0.
- i-mobile SDK version 2.2.0.

#### [Version 2.1.0.1](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.1.0.1.zip)

- Relaxed dependency to Google Mobile Ads SDK version 8.0.0 or higher.

Built and tested with

- Google Mobile Ads SDK version 8.4.0.
- i-mobile SDK version 2.1.0.

#### [Version 2.1.0.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.1.0.0.zip)

- Verified compatibility with i-mobile SDK version 2.1.0.
- Now requires Google Mobile Ads SDK version 8.1.0 or higher.
- Updated the adapter to use the `.xcframework` format.

Built and tested with

- Google Mobile Ads SDK version 8.1.0.
- i-mobile SDK version 2.1.0.

#### [Version 2.0.33.1](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.0.33.1.zip)

- Added standardized adapter error codes and messages.
- Adapter now limits requesting of multiple interstitial ads using the same i-mobile Spot ID.
- Adapter now forwards the `-nativeAdWillLeaveApplication:` callback when native ads are tapped.
- Now requires Google Mobile Ads SDK version 7.68.0 or higher.

Built and tested with

- Google Mobile Ads SDK version 7.68.0.
- i-mobile SDK version 2.0.33.

#### [Version 2.0.33.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.0.33.0.zip)

- Verified compatibility with i-mobile SDK version 2.0.33.
- Now requires Google Mobile Ads SDK version 7.65.0 or higher.
- Now requires minimum iOS version of 9.0.

Built and tested with

- Google Mobile Ads SDK version 7.65.0.
- i-mobile SDK version 2.0.33.

#### [Version 2.0.32.0](https://dl.google.com/googleadmobadssdk/mediation/ios/imobile/IMobileAdapter-2.0.32.0.zip)

- Verified compatibility with i-mobile SDK version 2.0.32.
- Now requires Google Mobile Ads SDK version 7.60.0 or higher.
- Added support for scaling 320x50 and 320x100 ads to better fit adaptive banner request sizes.
- Removed support for the i386 architecture.

Built and tested with

- Google Mobile Ads SDK version 7.60.0.
- i-mobile SDK version 2.0.32.

#### Version 2.0.31.0

- Verified compatibility with i-mobile SDK version 2.0.31.

Built and tested with

- Google Mobile Ads SDK version 7.53.1.
- i-mobile SDK version 2.0.31.

#### Version 2.0.29.0

- Initial release!
- Added support for banner, interstitial, and native ads.

Built and tested with

- Google Mobile Ads SDK version 7.52.0.
- i-mobile SDK version 2.0.29.