iOS Migration guide
This page will walk you through the migration process from a SDK version to newer one, starting from the version 8.0.0.
We advise you to update your SDK version on regular basis to avoid making the migration process more tedious, and to have access to new features and bug fixes.
Table of contents
Migration from version 7.x to 8.4.0
Integration changes
All the integration related information can be found here.
Pod name
The name of the pod has changed with this version 8.0.0.
You will have to update your Podfile import from pod 'Smart-Display-SDK', '~> 7.0' to pod 'Equativ-Display-SDK', '~> 8.0'.
Minimum iOS version
The minimum supported iOS version has been bumped from iOS 12 to iOS 13. You will have to target at least iOS 13 in order to use the Equativ Display SDK.
APIs related to supported features
SASConfiguration
The SASConfiguration singleton class remains available, but some features were removed or updated.
The main change is that the configure() methods (that must be called before prior to any SDK usage) is now fully automated and does not requires any parameter anymore.
Removed APIs
-
siteIdproperty. -
baseURLproperty. -
manualBaseURLproperty. -
customIdentifierproperty.
Updated APIs
-
allowAutomaticLocationDetectionproperty was renamed toautomaticLocationDetectionAllowed.
SASAdPlacement
Initializer methods
The init methods now only exists for the following parameters:
- the site id
- the page id
- the format id
- an optional string as keyword targeting
All other optional parameters that are still supported can be set using the SASAdPlacement properties.
Removed APIs
-
pageNameproperty. -
masterproperty. -
mediationExtraParametersproperty. -
contentURLproperty.
Updated APIs
-
supplyChainObjectStringproperty is now read/write.
SASBannerView
Removed APIs
-
init(frame:loaderType:)initializer method. -
load(biddingAdResponse:)method. -
load(with:bidderAdapter:)method. -
optimalAdViewHeight(forContainer:)method. -
refresh()method. -
sendMessageToWebView(message:)method. -
expandsFromTopproperty. -
refreshIntervalproperty. -
parallaxInfosproperty. -
webViewRenderingproperty. -
ratioproperty (you can use the newSASAdInfoclass instead).
Updated APIs
-
load(with:)was renamed toloadAd(with:). - The
parallaxInfosproperty ofSASBannerViewwhich was used to setup the parallax creative margins has been replaced by theparallaxMarginsproperty (starting from the Equativ Display SDK 8.1.0), which is an instance of the newSASParallaxMarginsclass.
For more detail, please refer to the banner integration guide.
Delegate
The SASBannerViewDelegate protocol was completely redefined in the SDK 8.
Some methods were updated:
-
bannerViewDidLoad(_:)was renamed tobannerView(_:didLoadWith:)and now provides aSASAdInfoinstance to retrieve more information about the creative currently being rendered by the SDK, including its ratio. bannerView(_:didFailToLoadWithError:)was renamed tobannerView(_:didFailToLoad:)-
bannerView(_:didClickWith:)was renamed tobannerViewClicked(_:)and does not provide the landing URL anymore.
Some methods were removed:
-
bannerView(_:didDownloadAd:)method. - all deprecated methods.
- all methods related to MRAID events.
- all methods related to native audio playback.
- all methods related to sticky creatives.
- all methods related to modal opening & closing
SASInterstitialView
Removed APIs
-
init(biddingAdResponse:delegate:)initializer method. -
init(placement:delegate:)initializer methods (useinit(placement:)instead and set the delegate using thedelegateproperty). -
sendMessageToWebView(_:)method. -
load(bidderAdapter:)method.
Updated APIs
-
load()was renamed toloadAd().
Delegate
The SASInterstitialManagerDelegate protocol was completely redefined in the SDK 8.
Some methods were updated:
-
interstitialManager(_:didLoad:)was renamed tointerstitialManager(_:didLoadWith:). -
interstitialManager(_:didFailToLoadWithError:)was renamed tointerstitialManager(_:didFailToLoad:). -
interstitialManager(_:didAppearFrom:)hwas renamed tointerstitialManagerDidShow(_:). -
interstitialManager(_:didFailToShowWithError:)was renamed tointerstitialManager(_:didFailToShow:). -
interstitialManager(_:didDisappearFrom:)was renamed tointerstitialManagerDidClose(_:). -
interstitialManager(_:didClickWith:)was renamed tointerstitialManagerClicked(_:)and does not provide the landing URL anymore.
Some methods were removed:
-
interstitialManager(_:didSend:)method. - all deprecated methods.
- all methods related to the MRAID send message feature.
- all methods related to native audio playback.
- all methods related to modal opening & closing
Native ad format
The native ad format has been added to the Equativ Display SDK 8.3.0, and its API underwent a complete redesign compared to the native ad integration in the Smart Display SDK v7.x. The native ad rendering is now done by the SDK, via the SASNativeAdView or the SASBannerView classes.
Consequently, all classes and methods related to native ads in the Smart Display SDK v7.x , such as the SASNativeAdManager, SASNativeAd and SASNativeAdMediaView were removed.
For more details, please check the native ad integration article.
Mediation API (for the Equativ Display SDK as primary SDK)
Although similar to its counterpart in Smart Display SDK v7.x, the mediation API for the Equativ Display SDK as primary SDK was redesigned, and only the SASMediationBannerAdapter and SASMediationInterstitialAdapter class names remained the same, their methods and properties being different.
For more details, please check the Mediation as Primary SDK article, and more particularly the implement a custom mediation adapter article if you intend to implement your own iOS mediation adapter for a third-party SDK that is not yet provided by Equativ.
In-App Bidding
The In-app bidding feature has been added to the Equativ Display SDK 8.4.0.
The API is very similar to the Smart Display SDK 7.x, except for two differences:
- The
SASBiddingManagerdelegate cannot be provided directly to the initializer, it must be provided as a property. - The
currencyis now an enum instead of a string.
For more detail, please refer to the in-app integration guide.
APIs related to dropped or yet to come features
The following lists wraps up all the classes, protocols and APIs related to features that are not currently available in the Equativ Display SDK 8.0.0, but were in the previous versions.
Some of those features will be supported in future releases, some others will not be anymore.
Rewarded video format related APIs
-
SASRewardedVideoManagerclass and its delegateSASRewardedVideoManagerDelegate. -
SASRewardmodel class.
3rd party in-app bidding related APIs
-
SASBidderAdapterclass. -
SASBidderAdapterProtocolprotocol and all its public implementations:-
SASBannerBidderAdapterclass and its delegateSASBannerBidderAdapterDelegate. -
SASInterstitialBidderAdapterclass and its delegateSASInterstitialBidderAdapterDelegate.
-
-
SASBidderAdapterCompetitionTypeandSASBidderAdapterCreativeRenderingTypeenums.