# iOS > Migration guide

Source: https://help-display-sdk.equativ.com/ios/migration.html

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.

---

##### Renamede API

* `customIdentifier` property. Renamed `publisherIdentifier`.

## Migration from version 7.x to 8.4.0

### Integration changes

All the integration related information can be found [here](https://help-display-sdk.equativ.com/ios/gettingstarted.html.md).

##### 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`](https://help-display-sdk.equativ.com/ios/API/Classes/SASConfiguration.html) singleton class remains available, but some features were removed or updated.

The main change is that the [`configure()`](https://help-display-sdk.equativ.com/ios/API/Classes/SASConfiguration.html#/c:objc(cs)SASConfiguration(im)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 to [`automaticLocationDetectionAllowed`](https://help-display-sdk.equativ.com/ios/API/Classes/SASConfiguration.html#/c:objc(cs)SASConfiguration(py)automaticLocationDetectionAllowed).

### 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`](https://help-display-sdk.equativ.com/ios/API/Classes/SASAdPlacement.html) properties.

##### Removed APIs

* `pageName` property.
* `master` property.
* `mediationExtraParameters` property.
* `contentURL` property.

##### Updated APIs

* [`supplyChainObjectString`](https://help-display-sdk.equativ.com/ios/API/Classes/SASAdPlacement.html#/c:objc(cs)SASAdPlacement(py)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 new [`SASAdInfo`](https://help-display-sdk.equativ.com/ios/API/Classes/SASAdInfo.html) class instead).

##### Updated APIs

* `load(with:)` was renamed to `loadAd(with:)`.
* The `parallaxInfos` property of `SASBannerView` which was used to setup the parallax creative margins has been replaced by the [`parallaxMargins`](https://help-display-sdk.equativ.com/ios/API/Classes/SASBannerView.html#/c:objc(cs)SASBannerView(py)parallaxMargins) property (starting from the **Equativ Display SDK** 8.1.0), which is an instance of the new [`SASParallaxMargins`](https://help-display-sdk.equativ.com/ios/API/Classes/SASParallaxMargins.html) class.

For more detail, please refer to the [banner integration guide](https://help-display-sdk.equativ.com/ios/integration/banner.html#parallax).

##### Delegate

The [`SASBannerViewDelegate`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASBannerViewDelegate.html) protocol was completely redefined in the SDK 8.

Some methods were updated:

* `bannerViewDidLoad(_:)` was renamed to [`bannerView(_:didLoadWith:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASBannerViewDelegate.html#/c:objc(pl)SASBannerViewDelegate(im)bannerView:didLoadWithInfo:) and now provides a [`SASAdInfo`](https://help-display-sdk.equativ.com/ios/API/Classes/SASAdInfo.html) instance to retrieve more information about the creative currently being rendered by the SDK, including its _ratio_.
* `bannerView(_:didFailToLoadWithError:)` was renamed to [`bannerView(_:didFailToLoad:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASBannerViewDelegate.html#/c:objc(pl)SASBannerViewDelegate(im)bannerView:didFailToLoadWithError:)

* `bannerView(_:didClickWith:)` was renamed to [`bannerViewClicked(_:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASBannerViewDelegate.html#/c:objc(pl)SASBannerViewDelegate(im)bannerViewClicked:) 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 (use `init(placement:)` instead and set the delegate using the `delegate` property).
* `sendMessageToWebView(_:)` method.
* `load(bidderAdapter:)` method.

##### Updated APIs

* `load()` was renamed to `loadAd()`.

##### Delegate

The [`SASInterstitialManagerDelegate`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html) protocol was completely redefined in the SDK 8.

Some methods were updated:

* `interstitialManager(_:didLoad:)` was renamed to [`interstitialManager(_:didLoadWith:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManager:didLoadWithInfo:).
* `interstitialManager(_:didFailToLoadWithError:)` was renamed to [`interstitialManager(_:didFailToLoad:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManager:didFailToLoadWithError:).
* `interstitialManager(_:didAppearFrom:)` hwas renamed to [`interstitialManagerDidShow(_:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManagerDidShow:).
* `interstitialManager(_:didFailToShowWithError:)` was renamed to [`interstitialManager(_:didFailToShow:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManager:didFailToShowWithError:).
* `interstitialManager(_:didDisappearFrom:)` was renamed to [`interstitialManagerDidClose(_:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManagerDidClose:).
* `interstitialManager(_:didClickWith:)` was renamed to [`interstitialManagerClicked(_:)`](https://help-display-sdk.equativ.com/ios/API/Protocols/SASInterstitialManagerDelegate.html#/c:objc(pl)SASInterstitialManagerDelegate(im)interstitialManagerClicked:) 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](https://help-display-sdk.equativ.com/ios/integration/native-ad.html.md).

### 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](https://help-display-sdk.equativ.com/mediation/primarysdk.html.md), and more particularly the [implement a custom mediation adapter article](https://help-display-sdk.equativ.com/ios/custommediationadapters.html.md) 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](https://help-display-sdk.equativ.com/ios/inappbidding.html.md).

### 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

* `SASRewardedVideoManager` class and its delegate `SASRewardedVideoManagerDelegate`.
* `SASReward` model class.

##### 3rd party in-app bidding related APIs

* `SASBidderAdapter` class.
* `SASBidderAdapterProtocol` protocol and all its public implementations:
    * `SASBannerBidderAdapter` class and its delegate `SASBannerBidderAdapterDelegate`.
    * `SASInterstitialBidderAdapter` class and its delegate `SASInterstitialBidderAdapterDelegate`.
* `SASBidderAdapterCompetitionType` and `SASBidderAdapterCreativeRenderingType` enums.
