メディエーション テストスイート

AdMob メディエーション テスト スイートを使用すれば、第三者ネットワークから AdMob メディエーション経由で配信された広告を表示できるよう、アプリや広告ユニットが正しく設定されているかどうかを確認できます。

このガイドでは、iOSアプリで AdMob メディエーション テスト スイートを使用する方法の概要を説明します。最初のステップは、アプリにツールを統合することです。

前提条件

  • Xcode 8.0 以降を使用していること

  • iOS 8.0 以上をターゲットに設定していること

インストール

メディエーション テスト スイートは、CocoaPod を使用してインストールします。これを行うには、Podfile に次の行を追加します。

pod 'GoogleMobileAdsMediationTestSuite'

これにより、テスト スイートと必要な Material Components の依存関係が設定されます。pod install を実行してインストールを完了します。

メディエーション テスト スイートの起動

設定

ツールを表示するには、まずフレームワークをインポートします。

Swift

import GoogleMobileAdsMediationTestSuite

Objective-C

@import GoogleMobileAdsMediationTestSuite;

AdMob アプリ ID をメディエーション テスト スイートに提示します。アプリの App ID は AdMob 管理画面で確認できます。形式は次のとおりです。

ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX

Swift

let appID = "your application ID"
GoogleMobileAdsMediationTestSuite.present(withAppId:appID, on:self, delegate:nil)

Objective-C

NSString appID = @"your application ID";
[GoogleMobileAdsMediationTestSuite presentWithAppId:appID
                                   onViewController:self
                                           delegate:nil];

デリゲートはオプションで、ツールが終了したときに通知を受けたい場合にのみ提供します。デリゲートのコールバックを実装するには、GMTSMediationTestSuiteDelegate プロトコルに適合させ、mediationTestSuiteWasDismissed メソッドを実装します。

ツールを開く

ツールを開くと、次の免責条項が表示されます。

チェックボックスをオンにし、[Agree] を押して続行します。

アカウントの広告ユニットのリストが、[Failing Ad Units] と [Working Ad Units] の 2 つのタブに分かれて表示されます。

[Failing Ad Units] のリストは、[Missing Components] と [Configuration Errors] に分かれています。

広告ユニットのネットワークがすべて正常にテストされると、広告ユニットは [Failing] タブから [Working] タブに移動します。ネットワークの呼び出しに失敗した場合や広告ユニットが見つからなかった場合、広告ユニットのリストは表示されません。

広告ユニットのリストを検索する場合は、上部にある検索アイコンを押し、広告ユニット ID の文字列を入力します。ネットワーク名や広告フォーマットで検索することもできます。

画面には、指定した広告ユニットについて次の情報が表示されます。

  • SDK がインストールされているかどうか
  • アダプタがインストールされているかどうか

[Ad Unit Details] 画面に移動する広告ユニットを選択します。

Ad Unit Details

この画面には、広告ユニットに設定された広告ユニット ID、広告フォーマット、メディエーション ウォーターフォールなど、広告ユニットの詳細が表示されます。

この画面の詳細は次のとおりです。

広告ソースの概要

各広告ソースには、SDK やアダプタがインストールされているかどうかを示すインジケータがあり、このセッションの最新のテスト結果が表示されます。

カスタム イベントの場合は、「Custom Event: Your custom event」ラベルが使用されます。カスタム イベント用に指定したクラスが見つかると、カスタム イベントのアダプタ ステータス インジケータはオンになります。カスタム イベントの広告は、他のネットワークと同じ方法で読み込みと表示が行われます。

検索

検索アイコンを押すと検索画面が表示され、広告ソースを名前で検索できます。

一括テスト

一括でテストする広告ソースを選択するには、各広告ソース名の左側にあるチェックボックスをオンにします。すると、新しいオプションがナビゲーション バーに表示されます。

選択した広告ソースの広告を順番に読み込むには、右上にある [Load Ads] ボタンを押します。テスト中は進行状況インジケータが表示されます。左上の戻るアイコンを押すと選択が解除されます。

広告の読み込みと表示

広告ソースのエントリをタップすると、広告ソースの詳細画面が表示されます。

画面には、指定した広告ソースについて次の情報が表示されます。

  • SDK がインストールされているかどうか
  • アダプタがインストールされているかどうか
  • 設定のパラメータが AdMob コンソールに入力されているかどうか

必要なコンポーネントをすべてインストールしたら、広告の読み込みテストに進むことができます。[Load Ad] をタップすると、広告ソースの SDK に広告リクエストが送信されます。広告リクエストが完了すると、リクエストの成否を示す最新情報が表示されます。

リクエストが失敗した場合は、テスト対象の SDK からのメッセージをコンソールログで確認します。

リクエストが成功した場合:

  • バナー広告の場合、広告はインラインで表示されます。
  • インタースティシャル広告やリワード広告の場合は、[Show Ad] をタップして広告を表示できます。

    広告は新しい画面で開きます。たとえば、次のようになります。

[Ad Unit Details] 画面に戻ると、広告ユニットのリスト画面で最後に広告をテストした結果が表示されます。正常に読み込まれた広告ソースはリストの一番下に移動され、さらにテストが必要な広告ソースが上部に表示されます。これらの結果は、 セッション間で維持されることはありません。

本番環境でテストを有効にする

メディエーション テスト スイートは、デフォルトでは development、adhoc、enterprise ビルドでのみ起動します。これは、エンドユーザーが誤ってテストスイートを起動しないようにするためです。

アプリが本番環境となってからメディエーション テストスイートをデバイスで実行する場合は、ビルドを配布する前に、コンソールログから取得した AdMob テストデバイス ID を使用してデバイスをホワイトリストに登録します。

デバイスをホワイトリストに追加するには、 GADRequest.testDevices にテストデバイス ID を追加してから、メディエーション テストスイートで使用する設定済みの広告リクエストを指定します。

Swift

let request = GADRequest()
request.testDevices = [ "2077ef9a63d2b398840261c8221a0c9b" ] // Sample device ID
GoogleAdsMediationTestSuite.setAdRequest(request);

Objective C

GADRequest *request = [GADRequest request];
request.testDevices = @[ @"2077ef9a63d2b398840261c8221a0c9b" ]; // Sample device ID
[GoogleAdsMediationTestSuite setAdRequest:request];

本番環境のアプリにメディエーション テスト スイートを含める場合は、隠された方法でテストスイートを起動する必要があります(非公開の操作やデバッグ メニューなど)。その後、ビルドでホワイトリストに登録されているデバイスでテストスイートを起動できるようになります。

ネットワークの追加パラメータを使用した広告リクエストの設定(省略可)

Vungle などの一部のメディエーション向けネットワークでは、カスタムのネットワーク追加オブジェクトを提供して、ネットワークへのリクエストに追加情報を含める必要があります(場合によっては省略可)。メディエーション リクエストにネットワークの追加オブジェクト(またはバンドル)を含める場合は、[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(<network extras>)'
...
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:<network extras>];'
...
[GoogleAdsMediationTestSuite setAdRequest:request];

この設定は、メディエーション テスト スイートを起動する前に行うようにしてください。

これにより、必要な追加パラメータを使用して広告リクエストのインスタンス化と設定を行えます。テスト スイートはこれをメディエーション ネットワークへのリクエストに使用できます。

CocoaPods 詳細設定(省略可、デバッグのみ)

アプリのデバッグ バージョンにのみポッドを含める場合は、Debug ビルド設定専用のポッドとして Podfile で指定することができます。また、ツールを呼び出すコードは #ifdef DEBUG ステートメントなどを使用して管理する必要があります。

デバッグ設定にのみポッドを含めるには、次の行を使用します。

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-1234567890123456~1234567890"

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-1234567890123456~1234567890";

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
}

- (IBAction)presentMediationController:(id)sender {
#ifdef DEBUG
    [GoogleMobileAdsMediationTestSuite presentWithAppId:APP_ID
                                       onViewController:self
                                               delegate:nil];
  }
#endif
}

よくある質問

免責条項は毎回表示されますか?
はい。メディエーション広告ソースのテストモードをオンにする必要があることのリマインダーとして、意図的に毎回表示しています。
広告ユニットの詳細ページで AdMob が何回も表示されるのはなぜですか?
複数のメディエーション グループが同じ広告ユニットをターゲットにしている場合は、すべてのグループが結合されます。たとえば、複数の AdMob エントリ、場合によっては複数の他の広告ソースが表示されることがあります。同じメディエーショングループ内であっても、メディエーション パートナーは最大 3 回まで定義できます。
どのネットワークまたは広告ソースがメディエーション テスト スイートでサポートされていますか?
テスト スイートは、オープンソースおよびバージョン対応のすべてのアダプタとカスタム イベント アダプタで機能します。オープンソースの広告ネットワークについては、メディエーションに関するページで一覧をご確認いただけます。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。