Recupera información sobre la respuesta de solicitud de anuncio

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

Cuando 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 casos en los que no se cargan 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, puedes ver una salida de muestra devuelta por ResponseInfo.toString(), en la que se incluyen los datos de depuración devueltos 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
getAdSourceResponses Devuelve la lista de AdSourceResponseInfo que contiene los metadatos de cada fuente de anuncios incluida en la respuesta de solicitud de anuncio. Se puede usar para depurar la mediación en cascada y la ejecución de la licitación. 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 de la fuente de anuncios para obtener más información.

getLoadedAdSourceResponse Devuelve el AdSourceResponseInfo correspondiente a la fuente de anuncios que cargó el anuncio.
getAdapterClassName Devuelve el nombre de 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 utilizar para identificar y bloquear el anuncio en el Centro de revisión de anuncios (ARC).
getResponseExtras Devuelve información adicional sobre la respuesta de solicitud de anuncio. Los parámetros adicionales pueden devolver las siguientes claves:
  • mediation_group_name: El nombre del grupo de mediación
  • mediation_ab_test_name: El nombre de la prueba A/B de mediación, si corresponde
  • mediation_ab_test_variant: La variante utilizada 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 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");
}

Información de respuesta de la fuente del anuncio

AdSourceResponseInfo contiene información de la respuesta para una fuente de anuncios individual en una respuesta de solicitud de anuncio.

En la siguiente salida de muestra de AdSourceResponseInfo, se incluyen 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, AdSourceResponseInfo 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ó utilizar la fuente de anuncios.
getId Obtiene el ID de la fuente de anuncios asociado a esta respuesta de la fuente de anuncios. En el caso de las campañas, se devuelve 6060308706800320801 para un tipo de objetivo de 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 los IDs de fuentes de anuncios posibles cuando una fuente de anuncios publica el anuncio.
getInstanceId Obtiene el ID de instancia de fuente de anuncios asociado a esta respuesta del adaptador.
getInstanceName Obtiene el nombre de instancia de fuente de anuncios asociado a esta respuesta del adaptador.
getName Obtiene el nombre de la fuente de anuncios asociado a esta respuesta del adaptador. En el caso de las campañas, se devuelve Mediated House Ads para un tipo de objetivo de 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 los nombres de fuentes de anuncios posibles 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 fuente de anuncios que se especifican en la IU de AdMob.
getLatencyMillis Obtiene la cantidad de tiempo que el adaptador de fuente de anuncios dedicó a cargar un anuncio. Devuelve 0 si no se intentó utilizar la fuente de anuncios.

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