Retrieve information about the ad response

For debugging and logging purposes, successfully loaded ads provide a ResponseInfo object. This object contains information about the ad it loaded, in addition to information about the mediation waterfall used to load the ad.

For cases where an ad loads successfully, the ad object has a getResponseInfo() method. For example, InterstitialAd.getResponseInfo() gets the response info for a loaded interstitial ad.

For cases where ads fail to load and only an error is available, the response info is available through 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 
 ()); 
 } 
 

Response Info

Here is sample output returned by ResponseInfo.toString() showing the debugging data returned for a loaded ad:

  { 
  
 "Response ID" 
 : 
  
 "NI3BZZDbGdyQtOUP4o21gAM" 
 , 
  
 "Mediation Adapter Class Name" 
 : 
  
 "com.google.ads.mediation.admob.AdMobAdapter" 
 , 
  
 "Adapter Responses" 
 : 
  
 [ 
  
 { 
  
 "Adapter" 
 : 
  
 "com.google.ads.mediation.admob.AdMobAdapter" 
 , 
  
 "Latency" 
 : 
  
 3585 
 , 
  
 "Ad Source Name" 
 : 
  
 "AdMob Network" 
 , 
  
 "Ad Source ID" 
 : 
  
 "" 
 , 
  
 "Ad Source Instance Name" 
 : 
  
 "AdMob (default)" 
 , 
  
 "Ad Source Instance ID" 
 : 
  
 "" 
 , 
  
 "Credentials" 
 : 
  
 { 
  
 "pubid" 
 : 
  
 "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw" 
  
 }, 
  
 "Ad Error" 
 : 
  
 "null" 
  
 } 
  
 ], 
  
 "Loaded Adapter Response" 
 : 
  
 { 
  
 "Adapter" 
 : 
  
 "com.google.ads.mediation.admob.AdMobAdapter" 
 , 
  
 "Latency" 
 : 
  
 3585 
 , 
  
 "Ad Source Name" 
 : 
  
 "AdMob Network" 
 , 
  
 "Ad Source ID" 
 : 
  
 "" 
 , 
  
 "Ad Source Instance Name" 
 : 
  
 "AdMob (default)" 
 , 
  
 "Ad Source Instance ID" 
 : 
  
 "" 
 , 
  
 "Credentials" 
 : 
  
 { 
  
 "pubid" 
 : 
  
 "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw" 
  
 }, 
  
 "Ad Error" 
 : 
  
 "null" 
  
 }, 
  
 "Response Extras" 
 : 
  
 { 
  
 "creative_id" 
 : 
  
 "138471856178" 
 , 
  
 "line_item_id" 
 : 
  
 "6707237225" 
 , 
  
 } 
 } 
 

Methods on the ResponseInfo object include the following:

Method
Description
getAdSourceResponses
Returns the list of AdSourceResponseInfo containing metadata for each ad source included in the ad response. Can be used to debug the waterfall mediation and bidding execution. The order of the list matches the order of the mediation waterfall for this ad request.

See Ad source response info for more information.

getLoadedAdSourceResponse
Returns the AdSourceResponseInfo corresponding to the ad source that loaded the ad.
getAdapterClassName
Returns the mediation adapter class name of the ad source that loaded the ad.
getResponseId
The response identifier is a unique identifier for the ad response. This identifier can be used to identify and block the ad in the Ad Review Center (ARC) .
getResponseExtras
Returns extra information about the ad response. Extras may return the following keys:
  • creative_id : The creative ID of the selected ad. Returned for reservation ads only.
  • line_item_id : The line item ID of the selected ad. Returned for reservation ads only.

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 
  
 creativeId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "creative_id" 
 ) 
  
 val 
  
 lineItemId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "line_item_id" 
 ) 
 } 
 

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 
  
 creativeId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "creative_id" 
 ); 
  
 String 
  
 lineItemId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "line_item_id" 
 ); 
 } 
 

Ad source response info

AdSourceResponseInfo contains response information for an individual ad source in an ad response.

The following sample AdSourceResponseInfo output shows the metadata for a loaded ad:

  { 
  
 "Adapter" 
 : 
  
 "com.google.ads.mediation.admob.AdMobAdapter" 
 , 
  
 "Latency" 
 : 
  
 3585 
 , 
  
 "Ad Source Name" 
 : 
  
 "AdMob Network" 
 , 
  
 "Ad Source ID" 
 : 
  
 "" 
 , 
  
 "Ad Source Instance Name" 
 : 
  
 "AdMob (default)" 
 , 
  
 "Ad Source Instance ID" 
 : 
  
 "" 
 , 
  
 "Credentials" 
 : 
  
 { 
  
 "pubid" 
 : 
  
 "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw" 
  
 }, 
  
 "Ad Error" 
 : 
  
 "null" 
 } 
 

For each ad source, AdSourceResponseInfo provides the following methods:

Method Description
getAdError Gets the error associated with the request to the ad source. Returns null if the ad source successfully loaded an ad or if the ad source was not attempted.
getId Gets the ad source ID associated with this ad source response.
getInstanceId Gets the ad source instance ID associated with this adapter response.
getInstanceName Gets the ad source instance name associated with this adapter response.
getName Gets the ad source name associated with this adapter response.
getAdapterClassName Gets the class name of the ad source adapter that loaded the ad.
getCredentials Gets the ad source adapter credentials specified in the Ad Manager UI.
getLatencyMillis Gets the amount of time the ad source adapter spent loading an ad. Returns 0 if the ad source was not attempted.

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 
 (); 
 } 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: