Recuperar información sobre la respuesta del anuncio

Para depurar y registrar, 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 los anuncios no se cargan y solo hay un error disponible, 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

Este es un ejemplo del resultado que muestra ResponseInfo.toString(), que muestra los datos de depuración que se devuelven 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"
  }
}

Entre los métodos del objeto ResponseInfo, se incluyen los siguientes:

Método Descripción
getAdapterResponses Muestra 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 la respuesta del adaptador para obtener más información.

getLoadedAdapterResponseInfo Muestra el AdapterResponseInfo correspondiente al adaptador que cargó el anuncio.
getMediationAdapterClassName Muestra el nombre de la clase del adaptador de mediación de la fuente del anuncio 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

Muestra información adicional sobre la respuesta del anuncio. Los extras pueden mostrar las siguientes claves:

  • mediation_group_name: Es el nombre del grupo de mediación.
  • mediation_ab_test_name: Es el nombre de la prueba A/B de mediación, si corresponde.
  • mediation_ab_test_variant: Es la variante que se usa 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 la respuesta del adaptador

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

En el siguiente resultado de ejemplo 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 con la solicitud a la fuente de anuncios. Devuelve null si la fuente de anuncios cargó correctamente un anuncio o si no se intentó usar 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 muestra 6060308706800320801 para un tipo de objetivo de campaña de anuncios mediados, y se muestra 7068401028668408324 para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para ver la lista de IDs de fuentes de anuncios posibles cuando una fuente de anuncios publica el anuncio.
getAdSourceInstanceId Obtiene el ID de la instancia de la fuente de anuncios asociado 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 asociado con esta respuesta del adaptador. En el caso de las campañas, se muestra Mediated House Ads para un tipo de objetivo de campaña de anuncios mediados, y se muestra Reservation Campaign para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para ver la lista de nombres posibles de fuentes de anuncios cuando una fuente de anuncios publica el anuncio.
getAdapterClassName Obtiene el nombre de clase del adaptador de 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 de anuncios dedicó a cargar un anuncio. Muestra 0 si no se intentó la fuente de anuncios.

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();
}