Retrieve information about the ad response

Select platform: Android iOS Unity Flutter

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
getAdapterResponses
Returns the list of AdapterResponseInfo containing metadata for each adapter 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 Adapter response info for more information.

getLoadedAdapterResponseInfo
Returns the AdapterResponseInfo corresponding to the adapter that loaded the ad.
getMediationAdapterClassName
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 
  
 mediationAdapterClassName 
  
 = 
  
 responseInfo 
 . 
 mediationAdapterClassName 
  
 val 
  
 adapterResponses 
  
 = 
  
 responseInfo 
 . 
 adapterResponses 
  
 val 
  
 loadedAdapterResponseInfo 
  
 = 
  
 responseInfo 
 . 
 loadedAdapterResponseInfo 
  
 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 
  
 mediationAdapterClassName 
  
 = 
  
 responseInfo 
 . 
 getMediationAdapterClassName 
 (); 
  
 List<AdapterResponseInfo> 
  
 adapterResponses 
  
 = 
  
 responseInfo 
 . 
 getAdapterResponses 
 (); 
  
 AdapterResponseInfo 
  
 loadedAdapterResponseInfo 
  
 = 
  
 responseInfo 
 . 
 getLoadedAdapterResponseInfo 
 (); 
  
 Bundle 
  
 extras 
  
 = 
  
 responseInfo 
 . 
 getResponseExtras 
 (); 
  
 String 
  
 creativeId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "creative_id" 
 ); 
  
 String 
  
 lineItemId 
  
 = 
  
 extras 
 . 
 getString 
 ( 
 "line_item_id" 
 ); 
 } 
 

Adapter response info

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

The following sample AdapterResponseInfo 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, AdapterResponseInfo 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.
getAdSourceId Gets the ad source ID associated with this adapter response.
getAdSourceInstanceId Gets the ad source instance ID associated with this adapter response.
getAdSourceInstanceName Gets the ad source instance name associated with this adapter response.
getAdSourceName 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 
  
 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 
 (); 
 } 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: