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

Google モバイル広告メディエーション テストスイートを使用すると、第三者ネットワークからメディエーション経由で配信された広告を表示するよう、アプリや広告ユニットが正しく設定されているかどうかをテストできます。このガイドでは、アプリにツールを統合して、iOS アプリで Google モバイル広告メディエーション テストスイートを使用する方法の概要を説明します。

前提条件

  • Xcode 11 以降を使用していること。
  • iOS 8.0 以降をターゲットとしていること。
  • アド マネージャー アカウントを作成し、アプリを登録していること。
  • にアプリ ID が正しく入力されていること。

インストール

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

pod 'GoogleMobileAdsMediationTestSuite'

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

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

設定

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

Swift

import GoogleMobileAdsMediationTestSuite

Objective-C

@import GoogleMobileAdsMediationTestSuite;

ビューが表示されたら、テストスイートが次のように表示されます。

Swift

GoogleMobileAdsMediationTestSuite.present(on:self, delegate:nil)

Objective-C

[GoogleMobileAdsMediationTestSuite presentOnViewController:self delegate:nil];

メディエーション テストスイートを閉じると、このオプションのデリゲートで通知されます。デリゲートのコールバックを実装するには、GMTSMediationTestSuiteDelegate プロトコルに適合させ、mediationTestSuiteWasDismissed メソッドを実装します。

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

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

アカウントの広告ユニットのリストが、[動作していない広告ユニット] と [動作している広告ユニット] の 2 つのタブに分かれて表示されます。

[動作していない広告ユニット] のリストは、[コンポーネントがありません] と [設定エラー] に分かれています。

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

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

以下のような場合、この画面には広告ユニットごとに警告が表示されます。

  • 広告ソースの SDK がインストールされていない
  • 広告ソースアダプタがインストールされていない

テストが可能な場合は、すべての広告ソースの総合的なテスト結果のステータスも表示されます。

[広告ユニット詳細情報] 画面に移動する広告ユニットを選択します。

広告ユニット詳細情報

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

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

広告ソースの概要

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

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

検索

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

一括テスト

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

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

広告の読み込みと表示

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

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

  • SDK がインストールされているかどうか(取得可能な場合、SDK のバージョン)。
  • アダプタがインストールされているかどうか(取得可能な場合はアダプタのバージョン)。
  • アダプタの初期化ステータス(取得可能な場合)。
  • コンソールに入力された設定のパラメータ。

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

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

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

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

    広告は次のように新しい画面で開きます。

詳細情報の画面に戻ると、のリスト画面で最後に行った広告テストの結果が表示されます。正常に読み込まれた広告ソースはリストの一番下に移動し、さらにテストが必要な広告ソースが上部に表示されます。

Open Bidding パートナー

Open Bidding のテストについて詳しくは、 Open Bidding 設定ガイドを確認する をご覧ください。

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

デフォルトでは、メディエーション テストスイートは、開発、アドホック、エンタープライズのビルドでのみ起動します。これは、エンドユーザーが誤ってテストスイートを起動しないようにするためです。

アプリが本番環境になってから、デバイスでメディエーション テストスイートを実行する必要がある場合は、SDK でデバイスをテストデバイスとして登録します。

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

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

Vungle など、一部のメディエーション向けネットワークでは、カスタムのネットワーク追加オブジェクトで、ネットワークへのリクエストに追加情報を含めることもできます。

メディエーション リクエストにネットワークの追加オブジェクトを含める場合は、次のように、 [GoogleAdsMediationTestSuite setAdRequest:] クラスメソッドを使用するようテストスイートの広告リクエストを設定します。

Swift

let request = ()
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras object, call
// 'request.register(\)'
...
GoogleAdsMediationTestSuite.setAdRequest(request);

Objective-C

 request = [ request];
...
// Set your network extras for your chosen networks here.
// I.e., for each network extras object, call
// '[request registerAdNetworkExtras:\];'
...
[GoogleAdsMediationTestSuite setAdRequest:request];

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

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

CocoaPods 詳細設定(任意、デバッグのみ)

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

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

pod 'GoogleMobileAdsMediationTestSuite', :configurations => ['Debug']

#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
}