Ad response info class for iOS

This article explains about the ad response info class in iOS Mobile SDK.

The ANAdResponseInfo class is a read-only public convenience class created to hold Universal Tag response properties that are relevant to publishers. When an AdUnit is returned from the loadAd method without an error, either as a fully defined adObject or as a no bid response, an ANAdResponseInfo is instantiated as a adResponseInfo property of the returned Ad Unit.

To retrieve the adResponseInfo object from the ad response, use the following properties:

@property (nonatomic, readwrite, strong, nullable) ANAdResponseInfo *adResponseInfo;

Properties

Property Type Description
contentSource String An Xandr contentSource. A contentSource can be RTB, CSM, or SSM.
creativeId String A unique identifier for the creative associated with the response.
memberID Integer A unique identifier for the member associated with the response.
networkName String The name of the network associated with the response.
placementId String A unique identifier for the placement tag associated with the response.
auctionId String A unique identifier generated for the current bid.
cpm NSNumber The bid price of the current auction expressed as Cost per mille, or thousand (mille = thousand in Latin). A pricing model in which advertisers pay for every 1000 impressions of their advertisement served. This is the standard basic pricing model for online advertising.
cpmPublisherCurrency NSNumber The cpm expressed in publishers' currency.
publisherCurrencyCode NSString The currency code of the publishers' currency. For example, USD

Code samples (Objective C)

- (void)requestBannerAd
{
  // Make a banner ad view.
  self.banner = [ANBannerAdView adViewWithFrame:CGRectMake(0, 0, 300, 250) placementId:@“1” adSize:CGSizeMake(300,250)];
  self.banner.delegate = self;
  //... Add required configurations
  [self.banner loadAd];
}
// On Ad Loaded
- (void)adDidReceiveAd:(id)ad {
  NSLog(@“Ad did receive ad”);
  NSString* bannerCreativeId = self.banner.adResponseInfo.creativeId;
  NSString* bannerPlacementId = self.banner.adResponseInfo.placementId;
  NSString* bannerAuctionId = self.banner.adResponseInfo.auctionId;
  NSNumber* bannerCPM = self.banner.adResponseInfo.cpm;
  NSNumber* bannerCPMPublisherCurrency = self.banner.adResponseInfo.cpmPublisherCurrency;
  NSString* bannerPublisherCurrencyCode = self.banner.adResponseInfo.publisherCurrencyCode;
}

Code samples (Swift)

func requestBannerAd() {
       // Make a banner ad view.
       self.banner = ANBannerAdView(frame: CGRect(origin: CGPoint(x: 0,y :0), size: CGSize(width: 300, height: 250)), placementId: “1”, adSize: CGSize(width: 300, height: 250))
       self.banner!.rootViewController = self
       self.banner!.delegate = self
       //... Add required configurations
       self.banner!.loadAd()
   }
  // On Ad Loaded
   func adDidReceiveAd(_ ad: Any) {
       print(“Ad did receive ad”)
       let bannerCreativeId : String = (self.banner?.adResponseInfo?.creativeId)!
       let bannerPlacementId : String = (self.banner?.adResponseInfo?.placementId)!
       let bannerAuctionId : String = (self.banner?.adResponseInfo?.auctionId)!
       let bannerCPM = (self.banner?.adResponseInfo?.cpm)!
       let bannerCPMPublisherCurrency = (self.banner?.adResponseInfo?.cpmPublisherCurrency)!
       let bannerPublisherCurrencyCode = (self.banner?.adResponseInfo?.publisherCurrencyCode)!
}

Note

AdResponseInfo can be retrieved using VideoAd instance, Interstitial Ad View instance and Native Ad Response also apart from Banner Ad View.

Code sample (Objective C)

// For interstitialAd once adDidReceiveAd is callback
  NSString* interstitialAdCreativeId = self.interstitialAd.adResponseInfo.creativeId; // same will be followed to get other adResponseInfo from interstitialAd
 // For videoAd once adDidReceiveAd is callback
  NSString* videoAdCreativeId = self.videoAd.adResponseInfo.creativeId; // same will be followed to get other adResponseInfo from videoAd
 // For nativeAd once didReceiveResponse is callback
  ANAdResponseInfo nativeAdResponseInfo = nativeAdResponse;
   NSString* nativeAdCreativeId = nativeAdResponseInfo.creativeId; // same will be followed to get other adResponseInfo from videoAd

Code sample (Swift)

// For interstitialAd once adDidReceiveAd is callback
  let interstitialAdCreativeId : String = (self.interstitialAd.?.adResponseInfo?.creativeId)! // same will be followed to get other adResponseInfo from interstitialAd
 // For videoAd once adDidReceiveAd is callback
  let videoAdCreativeId : String = (self.videoAd.?.adResponseInfo?.creativeId)!  // same will be followed to get other adResponseInfo from videoAd
 // For nativeAd once didReceiveResponse is callback
  let nativeAdCreativeId : String = (self.nativeAdResponse.?.adResponseInfo?.creativeId)!  // same will be followed to get other adResponseInfo from nativeAd