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
-
siteId
property. -
baseURL
property. -
manualBaseURL
property. -
customIdentifier
property.
Updated APIs
-
allowAutomaticLocationDetection
property 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
-
pageName
property. -
master
property. -
mediationExtraParameters
property. -
contentURL
property.
Updated APIs
-
supplyChainObjectString
property 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. -
expandsFromTop
property. -
refreshInterval
property. -
parallaxInfos
property. -
webViewRendering
property. -
ratio
property (you can use the newSASAdInfo
class instead).
Updated APIs
-
load(with:)
was renamed toloadAd(with:)
. - The
parallaxInfos
property ofSASBannerView
which was used to setup the parallax creative margins has been replaced by theparallaxMargins
property (starting from the Equativ Display SDK 8.1.0), which is an instance of the newSASParallaxMargins
class.
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 aSASAdInfo
instance 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 thedelegate
property). -
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
SASBiddingManager
delegate cannot be provided directly to the initializer, it must be provided as a property. - The
currency
is 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. Please have a look to our roadmap for more information about the upcoming features.
Rewarded video format related APIs
-
SASRewardedVideoManager
class and its delegateSASRewardedVideoManagerDelegate
. -
SASReward
model class.
3rd party in-app bidding related APIs
-
SASBidderAdapter
class. -
SASBidderAdapterProtocol
protocol and all its public implementations:-
SASBannerBidderAdapter
class and its delegateSASBannerBidderAdapterDelegate
. -
SASInterstitialBidderAdapter
class and its delegateSASInterstitialBidderAdapterDelegate
.
-
-
SASBidderAdapterCompetitionType
andSASBidderAdapterCreativeRenderingType
enums.