Migrating iOS SDK v7 to 8.0
Publishers with SDK v8.0, are required to initialize Xandr SDK before making an ad request. When using Xandr Mobile Ads SDK for iOS SDK v8, the init()
method must be called prior to any other SDK operations. Without this initialization no Ad request would go through and the SDK would throw an exception. For more information, see iOS - SDK Initialization (v8.0).
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
// ideally initialize Xandr SDK inside AppDelegate before calling any other SDK methods
[[XandrAd sharedInstance] initWithMemberID:1234 preCacheRequestObjects:YES completionHandler:^(BOOL success) {
if(success){
NSLog(@"XandrAd init Complete");
}
}];
return YES;
}
Removed APIs and their alternatives
Some of the APIs listed below has been removed in the Xandr SDK v8.0. If the below listed APIs are being used, we request the APIs to be migrated to their equivalent or alternative APIs.
Class | Removed Property(s) and Method(s) | Alternative Property(s) and Method(s) |
---|---|---|
ANBannerAdView |
Property: externalUid |
ANSDKSettings.publisherUserId |
ANBannerAdView |
Property: adType |
ANAdResponseInfo.adType |
ANBannerAdView |
Property: creativeId |
ANAdResponseInfo.creativeId |
ANBannerAdView |
Property: countImpressionOnAdReceived |
N/A |
ANBannerAdView |
Method: - (void)setAllowNativeDemand:(BOOL)nativeDemand withRendererId:(NSInteger)rendererId; |
ANBannerAdView.shouldAllowNativeDemand<br>ANBannerAdView.nativeAdRendererId |
ANInterstitialAd |
Property: externalUid |
ANSDKSettings.publisherUserId |
ANInterstitialAd |
Property: adType |
ANAdResponseInfo.adType |
ANInterstitialAd |
Property: creativeId |
ANAdResponseInfo.creativeId |
ANInstreamVideoAd |
Property: externalUid |
ANSDKSettings.publisherUserId |
ANInstreamVideoAd |
Property: adType |
ANAdResponseInfo.adType |
ANInstreamVideoAd |
Property: creativeId |
ANAdResponseInfo.creativeId |
ANMultiAdRequest |
Property: externalUid |
ANSDKSettings.publisherUserId |
ANMultiAdRequest |
Property: adType |
ANAdResponseInfo.adType |
ANMultiAdRequest |
Property: creativeId |
ANAdResponseInfo.creativeId |
ANExternalUserId |
Property: source |
ANUserId.source |
ANExternalUserId |
Property: userId |
ANUserId.userId |
ANExternalUserId |
Method: - (nullable instancetype)initWithSource:(ANExternalUserIdSource)source userId:(nonnull NSString *)userId; |
ANUserId.initWithANUserIdSource:(ANUserIdSource)source userId:(nonnull NSString *)userId; |
ANNativeAdRequest |
Property: adType |
ANAdResponseInfo.adType |
ANNativeAdRequest |
Property: externalUid |
ANSDKSettings.publisherUserId |
ANNativeAdResponse |
Property: creativeId |
ANAdResponseInfo.creativeId |
ANSDKSettings |
Property: HTTPSEnabled |
N/A |
ANSDKSettings |
Property: externalUserIdArray |
ANSDKSettings.userIdArray |
ANSDKSettings |
Property: useAdnxsSimpleDomain |
N/A |
ANSDKSettings |
Property: countImpressionOn1PxRendering |
N/A |
ANTargetingParameters |
Property: externalUid |
N/A |