Google モバイル広告メディエーション テストスイートを使用すると、メディエーション経由で第三者ネットワークから配信された広告を表示できるよう、アプリと広告ユニットが正しく設定されているかをテストできます。このガイドでは、アプリにiOS を統合し、アプリで Google モバイル広告メディエーション テストスイートを使用する方法について説明します。
Prerequisites
- Xcode 13.2.1 以降を使用します。
- iOS 10.0 以降をターゲットとします。
- AdMob アカウントを作成して、アプリを登録します。
Info.plist
にアプリ ID を正しく入力したことを確認します。
インストール
CocoaPods を使用する(推奨)
プロジェクトの Podfile に次の行を追加します。
pod 'GoogleMobileAdsMediationTestSuite'
コマンドラインから実行します。
pod install --repo-update
手動による統合
- メディエーション テストスイートをダウンロードして解凍します。
- プロジェクトに
GoogleMobileAdsMediationTestSuite.xcframework
を追加します。 - ターゲットの [Build Phases] で、[Copy Bundle Resources] に
GoogleMobileAdsMediationTestSuite.bundle
を追加します。 - iOS 用のマテリアル コンポーネントの最新リリースをダウンロードして、プロジェクトに追加します。メディエーション テストスイートには、
Cards
、Dialogs
、Tabs
のコンポーネントが必要です。
メディエーション テストスイートを起動する
ツールを表示するには、まずフレームワークをインポートします。
Swift
import GoogleMobileAdsMediationTestSuite
Objective-C
@import GoogleMobileAdsMediationTestSuite;
次に、ビューが表示されたら、次のようにテストスイートを表示します。
Swift
GoogleMobileAdsMediationTestSuite.present(on:self, delegate:nil)
Objective-C
[GoogleMobileAdsMediationTestSuite presentOnViewController:self delegate:nil];
このオプションのデリゲートは、メディエーション テストスイートが終了したことを通知します。デリゲート コールバックを実装するには、GMTSMediationTestSuiteDelegate
プロトコルに従って mediationTestSuiteWasDismissed
メソッドを実装します。
テストスイートの操作
ツールを開くと、次の免責条項が表示されます。
チェックボックスをオンにして、[同意する] をクリックして続行します。
その後、アカウントの広告ユニットのリストが [不合格の広告ユニット] と [動作中の広告ユニット] の 2 つのタブに分かれて表示されます。
テストデバイスの登録
デバイスが AdMob 管理画面にテストデバイスとして登録されていない場合、そのデバイスをテストデバイスとして登録するかどうかを尋ねるメッセージが表示されます。
デバイスをテストデバイスとして登録すると、メディエーション テストスイートで次の動作が変更されます。
- テストスイート UI で、広告ユニット ID ではなく広告ユニット名を表示できます。
- 広告ユニットの詳細画面で、広告ユニット ID に加えて広告ユニット名でも検索できます。
- デバイスが AdMob からテスト広告を受信できるようになります。
[Register Device] をクリックすると、AdMob 管理画面の [テストデバイスの登録] ページが開き、メディエーション テストスイートから事前に選択されたデバイス プラットフォームとデバイス ID を確認できます。テストデバイスの名前を追加して [保存] をクリックすると、デバイスが登録されます。詳しくは、テストデバイスをセットアップするをご覧ください。
メディエーション テストスイートでは、デバイス登録は通常 15 分以内に有効になりますが、最長で 24 時間ほどかかることもあります。変更を確認するには、メディエーション テストスイートを閉じてからもう一度開きます。
テストデバイスの登録ページにアクセスするには、AdMob アカウントにログインする必要があります。アカウントへのアクセス権がないが、この方法でデバイスを追加する場合は、リンクをクリックして、表示されたブラウザで、URL をアカウント所有者と共有します。保護者はリンクをクリックして、あなたの代わりにデバイスを登録できます。
現時点でテストデバイスとして登録しない場合は、[閉じる] を押します。
失敗した広告ユニット
[失敗した広告ユニット] のリストは、[欠落しているコンポーネント] と [設定エラー] に分類されます。
広告ユニットのネットワークがすべて正常にテストされると、広告ユニットは [不合格] タブから [動作中] タブに移動します。広告ユニットのリストが表示されない場合は、ネットワーク呼び出しが失敗するか、広告ユニットが見つかりませんでした。
広告ユニットのリストを検索するには、上部の検索アイコンをクリックし、広告ユニット ID の文字列を入力します。ネットワーク名や広告フォーマットで検索することもできます。
この画面では、広告ユニットごとに次の場合に警告が表示されます。
- 広告ソースの SDK がインストールされていません
広告ソースのアダプターがインストールされていません
テストが可能であれば、すべての広告ソースの全体的なテスト結果のステータスも表示されます。
[広告ユニットの詳細] 画面に移動する広告ユニットを選択します。
広告ユニットの詳細
この画面には、 ad unit ID、広告フォーマット、 ad unit向けに設定されたメディエーション ウォーターフォールなど、 ad unitの詳細が表示されます。
この画面では、次の点に注意してください。
- 広告ソースの概要
各広告ソースには、SDK とアダプタがインストールされているかどうか、、このセッションで行ったこの構成の最終テストの結果を示すインジケーターがあります。
カスタム イベントの場合は、カスタム イベント: custom event ラベルが使用されます。カスタム イベント用に指定したクラスが見つかった場合、カスタム イベント用のアダプタ ステータス インジケーターが正の値になります。カスタム イベントの広告は、他のネットワークと同じように読み込んで表示できます。
- 検索
検索アイコンを押すと検索画面が表示され、名前で広告ソースを検索できます。
- バッチテスト
広告ソースの名前の左側にあるチェックボックスをオンにすると、各広告ソースを一括してテストするよう選択できます。ナビゲーション バーに新しいオプションが表示されます。
右上の [Load Ads] ボタンを押して、選択した広告ソースの広告の順序を読み込んでください。テスト中は進行状況インジケーターが表示されます。左上の戻るアイコンを押すと、選択がクリアされます。
広告の読み込みと表示
広告ソースのエントリをタップすると、広告ソースの詳細画面が表示されます。
画面には、特定の広告ソースについて次の情報が表示されます。
- SDK がインストールされており、利用可能であれば SDK のバージョン。
- アダプタがインストールされている場合は、アダプタのバージョン(利用可能な場合)。
- アダプタの初期化ステータス(利用可能な場合)。
- AdMob コンソールで入力された構成のパラメータ。
必要なコンポーネントをすべてインストールしたら、広告の読み込みのテストに進みます。[広告の読み込み] をタップして、広告ソースの SDK に広告リクエストを送信します。広告リクエストが完了すると、リクエストが成功したかどうかの更新が表示されます。
リクエストが失敗した場合は、テスト対象の SDK からのメッセージをコンソールログで確認します。
リクエストが成功した場合:
- バナー広告の場合はインラインで表示されます。
- インタースティシャル広告またはリワード広告の場合は、[広告の表示] をタップして広告を表示できます。
ネイティブ広告の場合は、返されるアセットがインラインで表示されます。
次のような新しい画面で広告が開きます。
[詳細] 画面に戻ると、 ad unitのリスト画面で最後に広告をテストしたときの結果が表示されます。読み込みに成功した広告ソースはリストの一番下に移動し、追加のテストが必要な広告ソースが表示されます。
入札パートナー
入札のテストについて詳しくは、 入札設定ガイドを確認する をご覧ください。
本番環境でのテストの有効化
デフォルトでは、メディエーション テストスイートは開発、アドホック、エンタープライズの ビルドでのみ起動します。これは、エンドユーザーが誤ってテストスイートを起動することを防ぐためです。
アプリを本番環境に移行した後で、メディエーション テストスイートをデバイスで実行する必要がある場合は、SDK を使用してデバイスをテストデバイスとして登録します。
本番環境アプリにメディエーション テストスイートを含める場合は、テストスイートを起動する非公開の方法(シークレットのジェスチャーやデバッグ メニューなど)を用意する必要があります。これにより、ビルドの許可リストに登録されている任意のデバイスでテストスイートを起動できるようになります。
ネットワークの追加パラメータを使用した広告リクエストの設定(省略可)
Liftoff Monetize など、一部のメディエーション対象ネットワークでは、カスタム ネットワーク エクストラオブジェクト を提供して、ネットワークへのリクエストに追加情報を提供することができます。
メディエーション リクエストでネットワークの追加パラメータを指定する必要がある場合は、
[GoogleAdsMediationTestSuite setAdRequest:]
クラス メソッドを使用して、テストスイートで使用する広告リクエストを設定します。
Swift
let request = GADRequest() ... // Set your network extras for your chosen networks here. // I.e., for each network extras object, call // 'request.register(\)' ... GoogleAdsMediationTestSuite.setAdRequest(request);
Objective-C
GADRequest request = [GADRequest request]; ... // Set your network extras for your chosen networks here. // I.e., for each network extras object, call // '[request registerAdNetworkExtras:\];' ... [GoogleAdsMediationTestSuite setAdRequest:request];
これは、メディエーション テストスイートを起動する前に行うようにしてください。
これにより、必要なエクストラで広告リクエストをインスタンス化して設定し、テストスイートがメディエーション対象ネットワークへのリクエストで使用できます。
CocoaPods の詳細構成(省略可、デバッグのみ)
アプリのデバッグ バージョンにのみ Pod を含める場合は、Debug
ビルド構成のみの Pod として Podfile で指定できます。また、#ifdef DEBUG
ステートメントなどを使用してツールを呼び出すコードも保護する必要があります。
デバッグ構成にのみ Pod を含めるには、次の行を使用します。
pod 'GoogleMobileAdsMediationTestSuite', :configurations => ['Debug'], :path => '/path/to/GoogleMobileAdsMediationTestSuite/'
フレームワークとそのクラスへの参照をすべて #ifdef DEBUG
でラップします。
Swift
import UIKit #if DEBUG import GoogleMobileAdsMediationTestSuite #endif import GoogleMobileAds let APP_ID = "ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy" class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func presentMediationController(_ sender: AnyObject) { #if DEBUG GoogleMobileAdsMediationTestSuite.present(withAppId:APP_ID, on:self, delegate:nil) #endif }
Objective-C
#import "ViewController.h" #ifdef DEBUG @import GoogleMobileAdsMediationTestSuite; #endif #import <GoogleMobileAds/GoogleMobileAds.h> static NSString *APP_ID = @"ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"; @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } - (IBAction)presentMediationController:(id)sender { #ifdef DEBUG [GoogleMobileAdsMediationTestSuite presentWithAppId:APP_ID onViewController:self delegate:nil]; } #endif }
変更履歴
3.0.0
リリース日: 2022 年 5 月 2 日
- Google Mobile Ads SDK 9.0.0 以降のサポートを追加しました。
- Snap 入札と Pangle 入札をテストする機能を追加しました。
- サポートされている最小の Xcode バージョンを 13.2.1 に更新しました。
2.0.0
リリース日: 2021 年 7 月 27 日
- Google Mobile Ads SDK 8.0.0 以降のサポートを追加しました。
- AdColony バナー入札、マイオ入札、i-mobile ウォーターフォール設定をテストする機能を追加しました。
- MaterialComponents の依存関係バージョンを 124.0 に更新しました。
- ディストリビューションを xcframework に更新しました。arm64 シミュレータ アーキテクチャを追加し、i386 を削除しました。
- ビルドには Xcode 12 が必要です。
1.4.0
リリース日: 2020 年 12 月 1 日
GoogleMobileAdsMediationTestSuite presentForAdManagerOnViewController:delegate
API を使用してアド マネージャーのサポートを追加しました。- AdMob の管理画面で AdMob のテストデバイスを登録する機能を追加しました。
- MaterialComponents の依存関係バージョンを 119.0 に更新しました。
1.3.0
リリース日: 2020 年 7 月 31 日
- デザインのマイナー アップデート。
- MaterialComponents の依存関係バージョンを 111.0 に更新しました。
1.2.1
リリース日: 2020 年 5 月 20 日
- Fyber Marketplace のサポートを追加しました。
- MaterialComponents の依存関係バージョンを 109.0 に更新しました。
1.2.0
リリース日: 2020 年 2 月 28 日
- Open Bidding 広告を読み込む機能を追加しました。
- MaterialComponents の依存関係バージョンを 103.0 に更新しました。
1.1.1
リリース日: 2019-11-12
- 新しいバージョンのアダプタでリワード広告を読み込む際の問題を修正しました。
- iOS 13 での表示に関する問題を修正しました。
- MaterialComponents の依存関係バージョンを 94.0 に更新しました。
- 現在は、iOS 9.0 以降が必要です。
1.1.0
リリース日: 2019 年 9 月 18 日
- Open Bidding の初期サポートを追加しました(設定の確認、広告の読み込みはできません)。
- Du Ad Platform と Verizon Media ネットワーク、MoPub リワード広告のサポートを追加しました。
- アプリ ID を必要としない
GoogleMobileAdsMediationTestSuite presentOnViewController:delegate:
API を追加しました。Info.plist の AdMob アプリ ID を使用します。 GoogleMobileAdsMediationTestSuite presentWithAppID:onViewController:delegate:
API を非推奨にしました。
1.0.0
リリース日: 2019 年 4 月 22 日
- ベータ版の一般リリース
0.9.3
リリース日: 2019 年 2 月 22 日
- カスタム イベントによって広告が読み込まれないバグを修正しました。
0.9.2
リリース日: 2019 年 2 月 7 日
- メディエーション テストスイートでネットワークをテストする際に他のネットワークから広告を読み込む問題を修正しました。
- ネイティブ広告の読み込み用のネイティブ アセットビューを追加します。
- 従来の「バナー」、「インタースティシャル」広告ユニットのサポートを追加しました。
- 本番環境でのテストスイートの起動に対する安全保護対策を追加します。AdMob デバイス ID がテストデバイスに明示的に追加されているデバイス以外では、App Store ビルドでメディエーション テストスイートが起動しなくなります。
- JA、KO、VI、ZH-CN のテストスイートのローカライズを追加しました。
- マテリアル コンポーネントの依存関係を 76.0 にアップデートしました。
0.9.1
リリース日: 2018-09-27
- マテリアル コンポーネントの依存関係を 63.0 にアップデートしました。
0.9.0
リリース日: 2018-08-07
- 初期バージョン。