広告レスポンスに関する情報を取得する

プラットフォームを選択: Android New-selected Android iOS Unity Flutter

デバッグとロギング用の場合、正常に読み込まれた広告は ResponseInfo オブジェクトを提供します。このオブジェクトには、広告を読み込む際に使用されたメディエーションの順次処理の情報とともに、読み込まれた広告の情報が含まれています。

広告の読み込みが成功した場合、広告オブジェクトは getResponseInfo() メソッドを持ちます。たとえば、 InterstitialAd.getResponseInfo() により、読み込まれたインタースティシャル広告のレスポンス情報を取得可能です。

広告の読み込みが失敗し、エラーだけが返された場合、 レスポンス情報は LoadAdError.getResponseInfo()を通して取得できます。

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

レスポンス情報

以下は ResponseInfo.toString() によって返された出力の例です。読み込まれた広告についてのデバッグ用データが表示されています。

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

ResponseInfo オブジェクトには次のようなメソッドがあります。

メソッド 説明
getAdSourceResponses 広告レスポンスに含まれる各広告のソースのメタデータを含む AdSourceResponseInfo のリストを返します。このメソッドは、ウォーターフォール メディエーションと 入札の実行をデバッグする際に使用できます。リストの順序は、この広告リクエストのメディエーション ウォーターフォールの順序と同じです。

詳しくは広告のソース レスポンス情報をご覧ください。

getLoadedAdSourceResponse 広告を読み込んだ広告のソースに対応する AdSourceResponseInfo を返します。
getAdapterClassName 広告を読み込んだ広告のソースのメディエーション アダプター クラス名を返します。
getResponseId レスポンス ID は、広告レスポンスごとに固有の ID で、広告レビュー センター(ARC)で広告を識別してブロックするために使われます。
getResponseExtras 広告レスポンスについての追加情報を返します。追加情報では 次のキーが返されることがあります:
  • mediation_group_name: メディエーション グループの名前
  • mediation_ab_test_name: メディエーション A/B テストの名前( 該当する場合)
  • mediation_ab_test_variant: メディエーション A/B テストで使用されたパターン(該当する場合)

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAd) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val adapterClassName = responseInfo.adapterClassName
  val adSourceResponses = responseInfo.adSourceResponses
  val loadedAdSourceResponse = responseInfo.loadedAdSourceResponse
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String adapterClassName = responseInfo.getAdapterClassName();
  List<AdSourceResponseInfo> adSourceResponses = responseInfo.getAdSourceResponses();
  AdSourceResponseInfo loadedAdSourceResponse = responseInfo.getLoadedAdSourceResponse();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

広告のソース レスポンス情報

AdSourceResponseInfoには、広告レスポンス内の個別の広告のソースのレスポンス情報が含まれます。

次の AdSourceResponseInfo の出力例は、読み込まれた広告のメタデータを示しています。

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

広告の各ソースについて、AdSourceResponseInfo は次のメソッドを提供します。

メソッド 説明
getAdError 広告のソースへのリクエストに関連付けられているエラーを取得します。広告のソースが広告を正常に読み込んだ場合、または読み込みを試行しなかった場合は、 null を返します。
getId この広告ソース レスポンスに関連付けられている広告ソース ID を取得します。 キャンペーンについて、 6060308706800320801キャンペーンの目標タイプがメディエーション広告なら 、 表示回数やクリック数なら 7068401028668408324 が返されます。広告のソースが広告を配信する際に使用する可能性がある広告のソース ID の一覧は、広告のソース で確認できます。
getInstanceId このアダプター レスポンスに関連付けられている広告のソースのインスタンス ID を取得します。収益グループによって入力されていない場合は、空の文字列を返します。
getInstanceName このアダプタ レスポンスに関連付けられている広告のソースのインスタンス名を取得します。
getName このアダプタ レスポンスに関連付けられている広告のソース名を取得します。キャンペーンについて、 Mediated House Adsはメディエーション広告 キャンペーンの目標タイプ、 およびReservation Campaignは表示回数とクリック数 目標タイプに対して返されます。広告ソースが広告を配信する際に使用する可能性がある広告ソース名の一覧は、広告ソース で確認できます。
getAdapterClassName 広告を読み込んだ広告のソース アダプターのクラス名を取得します。
getCredentials AdMob の管理画面で指定された広告ソース アダプターの認証情報を取得します。
getLatencyMillis 広告ソース アダプターが広告の読み込みに費やした時間を取得します。広告のソースが試行されなかった場合は 0 を返します。

Kotlin

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdSourceResponseInfo = interstitialAd.responseInfo.loadedAdSourceResponse

  val adError = loadedAdSourceResponseInfo.adError
  val adSourceId = loadedAdSourceResponseInfo.id
  val adSourceInstanceId = loadedAdSourceResponseInfo.instanceId
  val adSourceInstanceName = loadedAdSourceResponseInfo.instanceName
  val adSourceName = loadedAdSourceResponseInfo.name
  val adapterClassName = loadedAdSourceResponseInfo.adapterClassName
  val credentials = loadedAdSourceResponseInfo.credentials
  val latencyMillis = loadedAdSourceResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdSourceResponseInfo loadedAdSourceResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdSourceResponse();

  AdError adError = loadedAdSourceResponseInfo.getAdError();
  String adSourceId = loadedAdSourceResponseInfo.getId();
  String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
  String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
  String adSourceName = loadedAdSourceResponseInfo.getName();
  String adapterClassName = loadedAdSourceResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdSourceResponseInfo.getCredentials();
  long latencyMillis = loadedAdSourceResponseInfo.getLatencyMillis();
}