Recuperar información sobre la respuesta del anuncio

Para fines de registro y depuración, los anuncios cargados correctamente proporcionan un objeto ResponseInfo. Este objeto contiene información sobre el anuncio que se cargó, además de información sobre la cascada de mediación que se usó para cargarlo.

En los casos en que un anuncio se carga correctamente, el objeto del anuncio tiene un método getResponseInfo(). Por ejemplo, InterstitialAd.getResponseInfo() obtiene la información de respuesta de un anuncio intersticial cargado.

En los casos en que no se cargan los anuncios y solo hay disponible un error, la información de la respuesta está disponible a través de 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());
}

Información de la respuesta

A continuación, se muestra un ejemplo del resultado que devuelve ResponseInfo.toString(), en el que se muestran los datos de depuración que se devolvieron para un anuncio cargado:

{
  "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"
  }
}

Los métodos del objeto ResponseInfo incluyen los siguientes:

Método Descripción
getAdapterResponses Devuelve la lista de AdapterResponseInfo que contiene metadatos para cada adaptador incluido en la respuesta del anuncio. Se puede usar para depurar la mediación en cascada y la ejecución de ofertas. El orden de la lista coincide con el orden de la cascada de mediación para esta solicitud de anuncio.

Consulta Información de respuesta del adaptador para obtener más información.

getLoadedAdapterResponseInfo Devuelve el AdapterResponseInfo correspondiente al adaptador que cargó el anuncio.
getMediationAdapterClassName Devuelve el nombre de la clase del adaptador de mediación de la fuente de anuncios que cargó el anuncio.
getResponseId El identificador de respuesta es un identificador único para la respuesta del anuncio. Este identificador se puede usar para identificar y bloquear el anuncio en el Centro de revisión de anuncios (ARC).
getResponseExtras Devuelve información adicional sobre la respuesta del anuncio. Los extras pueden devolver las siguientes claves:
  • mediation_group_name: Es el nombre del grupo de mediación.
  • mediation_ab_test_name: Nombre de la prueba A/B de mediación, si corresponde
  • mediation_ab_test_variant: Es la variante que se usó en la prueba A/B de mediación, si corresponde.

Kotlin

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

  val responseId = responseInfo.responseId
  val mediationAdapterClassName = responseInfo.mediationAdapterClassName
  val adapterResponses = responseInfo.adapterResponses
  val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
  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 mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
  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");
}

Información de respuesta del adaptador

AdapterResponseInfo contiene información de respuesta para una fuente de anuncio individual en una respuesta de anuncio.

En el siguiente ejemplo de resultado de AdapterResponseInfo, se muestran los metadatos de un anuncio cargado:

{
  "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"
}

Para cada fuente de anuncios, AdapterResponseInfo proporciona los siguientes métodos:

Método Descripción
getAdError Obtiene el error asociado a la solicitud a la fuente de anuncios. Devuelve null si la fuente de anuncios cargó correctamente un anuncio o si no se intentó cargar la fuente de anuncios.
getAdSourceId Obtiene el ID de la fuente de anuncios asociado con esta respuesta del adaptador. En el caso de las campañas, se devuelve 6060308706800320801 para un tipo de objetivo de la campaña de anuncios mediados y 7068401028668408324 para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para ver la lista de posibles IDs de fuentes de anuncios cuando una fuente de anuncios publica el anuncio.
getAdSourceInstanceId Obtiene el ID de instancia de la fuente de anuncios asociada con esta respuesta del adaptador.
getAdSourceInstanceName Obtiene el nombre de la instancia de la fuente del anuncio asociada con esta respuesta del adaptador.
getAdSourceName Obtiene el nombre de la fuente de anuncios asociada con esta respuesta del adaptador. En el caso de las campañas, se devuelve Mediated House Ads para un tipo de objetivo de la campaña de anuncios mediados y Reservation Campaign para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para ver la lista de posibles nombres de fuentes de anuncios cuando una fuente de anuncios publica el anuncio.
getAdapterClassName Obtiene el nombre de la clase del adaptador de la fuente de anuncios que cargó el anuncio.
getCredentials Obtiene las credenciales del adaptador de la fuente de anuncios especificadas en la IU de AdMob.
getLatencyMillis Obtiene la cantidad de tiempo que el adaptador de la fuente del anuncio dedicó a cargar un anuncio. Devuelve 0 si no se intentó acceder a la fuente del anuncio.

Kotlin

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

  val adError = loadedAdapterResponseInfo.adError
  val adSourceId = loadedAdapterResponseInfo.adSourceId
  val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
  val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
  val adSourceName = loadedAdapterResponseInfo.adSourceName
  val adapterClassName = loadedAdapterResponseInfo.adapterClassName
  val credentials = loadedAdapterResponseInfo.credentials
  val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}

Java

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdapterResponseInfo loadedAdapterResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.getAdError();
  String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
  String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
  String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdapterResponseInfo.getCredentials();
  long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}