AdMob API を使用すると、さまざまな構成をテストして広告のパフォーマンスを最大化するためのメディエーション A/B テストを作成できます。A/B テストでは、2 つのパターンのメディエーション グループを評価し、結果を並べて比較して、推奨される構成を選択できます。
設定できるテストの例を以下に示します。
- 広告ソースを追加または削除して、メディエーション グループへの影響を確認する
- 広告ソースの手動 eCPM 値を変更して、別のウォーターフォール順序を使用する
- ウォーターフォールの広告ソースの最適化を有効または無効にする
- 広告のソースの呼び出し回数を変更する
例
既存のメディエーション グループから始め、そのバリエーションを作成して、パターン A とパターン B のどちらのパフォーマンスが高いかを確認します。このテストでは、指定した割合(1%、10%、50%)に基づいて、既存のメディエーション グループとそのパターンとでアプリユーザーを分割します。
curl(コマンドライン)
curl を使用したリクエスト
クライアント シークレット ファイルを読み込み、認証情報を生成します。
この手順を初めて実行するときは、ブラウザで承認プロンプトを受け入れるように求められます。承諾する前に、AdMob API にアクセスできる Google アカウントでログインしていることを確認してください。アプリは、現在ログインしているアカウントに代わってデータにアクセスする権限が付与されます。
認証と認可には、Google OAuth 2.0 を操作するためのシンプルなコマンドライン ツールである oauth2l を使用することをおすすめします。oauth2l をインストールし、次のコマンドを実行します。path_to_credentials_json は、クラウドアプリの登録時にダウンロードした
credentials.jsonファイルのパスに置き換えます。初回実行時には、OAuth 2.0 認証フローが案内されます。以降の実行では、トークンが自動的に更新されます。oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
メディエーションの A/B テストを作成します。
pub-XXXXXXXXXXXXXXXXはパブリッシャー ID に、ZZZZZZZZZZはメディエーション グループ ID に置き換えます。メディエーション グループ ID は、AdMob 管理画面で確認するか、accounts.mediationGroups:listメソッドを使用して確認できます。treatmentMediationLinesとtreatmentTrafficPercentageを指定する必要がありますが、controlMediationLinesは親メディエーション グループから継承されるため、指定する必要はありません。次のリクエストでは、
LIVEモードを使用して AdMob ネットワークの単一のメディエーション行を含む、パターン B とも呼ばれるトリートメント パターンを含むメディエーション A/B テストを作成します。curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \ --data @- << EOF { "displayName":"Mediation A/B Experiment Test Name", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [{ "mediationGroupLine": { "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpm_mode": "LIVE" } }] } EOF次のレスポンス例をご覧ください。
SSSSSSSSSSSSSSSSSSSSSSは作成されたメディエーション A/B テストの ID を表し、YYYYYYYYYYは広告ユニット ID の最後の 10 桁を表します。形式はca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYYに準拠しています。{ "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS", "displayName": "Mediation A/B Experiment Test Name", "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [ { "mediationGroupLine": { "id": "11111111111111111", "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "controlMediationLines": [ { "mediationGroupLine": { "id": "22222222222222222", "displayName": "AdMob Network (control)", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "state": "RUNNING" }メディエーションの A/B テストが実行されていることを確認します。
accounts.mediationGroups:listを呼び出して、そのメディエーション グループのメディエーション A/B テストのステータスを取得します。詳しくは、メディエーション グループのガイドをご覧ください。mediationAbExperimentStateは、有効なメディエーションの A/B テストの場合はRUNNINGに設定され、メディエーション グループでテストが実行されていない場合はNOT_RUNNINGに設定されます。リクエストの例:
curl --http1.0 \ -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
メディエーションの A/B テストを停止し、パターンを選択します。
pub-XXXXXXXXXXXXXXXXはパブリッシャー ID に、ZZZZZZZZZZはメディエーション グループ ID に置き換えます。メディエーション グループ ID は、AdMob 管理画面で確認するか、accounts.mediationGroups:listメソッドを使用して確認できます。テストを完了するには、リクエストで最良のバリアントを指定します。
VARIANT_CHOICE_A: バリエーション A のメディエーション行を使用して、テストを完了します。パターン A には、テスト作成前の元のサービング ラインが含まれています。VARIANT_CHOICE_B: バリエーション B のメディエーション行を使用して、テストを完了します。バリエーション B には、新たに追加されたサービング行が含まれています。
リクエストの例:
curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json
path_to_credentials_json--scope admob.monetization)" \ --data @- << EOF { "variantChoice": "VARIANT_CHOICE_A" }レスポンスの例:
{ "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "state": "EXPIRED", }