---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ads.yandex.com/helpcenter/en/dev/ios7/release/6-0-0-migration.md
  - https://ads.yandex.com/helpcenter/ru/dev/ios7/release/6-0-0-migration.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/ru/llms.txt

<!--
Используется в Boost: boost/ru/ad-monetization/dev/ios
-->

# Руководство по миграции на версию 6

{% note warning %}

Обязательно обновите версии используемых адаптеров на актуальные ([Медиация Яндекса](https://ads.yandex.com/helpcenter/ru/dev/ios7/list-network.md) и [адаптеры для сторонних медиационных сетей](https://ads.yandex.com/helpcenter/ru/dev/ios7/third-party-mediation.md)). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.

{% endnote %}

## Баннеры

Класс `YMAAdSize` переименован в `YMABannerAdSize`. Удалены методы `flexibleSizeWithCGSize:(CGSize)size` и `fixedSizeWithCGSize:(CGSize)size`, ранее отмеченные как **deprecated**.

Используйте методы в зависимости от типа рекламного объявления:

Для создания адаптивного sticky-баннера — метод `stickySizeWithContainerWidth:(CGFloat)width`.

> Адаптивный sticky-баннер — небольшое, автоматически обновляемое рекламное объявление, которое располагается внизу или вверху экрана приложения.
>
> Баннер не перекрывает основной контент приложения и часто используется в приложениях-играх.
>
> Высота sticky-баннера определяется автоматически, адаптируясь под размер экрана устройства и не превышает 15% высоты экрана.

{% note warning %}

  В адаптивном sticky-баннере с версии 6.0.0 появилось автообновление.

  Если у вас ранее было реализовано автообновление для sticky-баннера, его следует отключить.

{% endnote %}

Для создания адаптивного inline-баннера — метод `inlineSizeWithWidth:(CGFloat)width maxHeight:(CGFloat)height`.

> Адаптивный inline-баннер — гибкий формат баннерной рекламы, обеспечивающий максимальную эффективность за счет оптимизации размера рекламы для каждого устройства.
>
> Высота баннера подбирается автоматически и может достигать высоты экрана устройства.
>
> Как правило, такой формат используется в приложениях-лентах или там, где допустимо обеспечить основной фокус на рекламе.

Для обратной совместимости вместо `fixedSizeWithCGSize:(CGSize)size` был добавлен метод `fixedSizeWithWidth:(CGFloat)width height:(CGFloat)height`, однако его использование не рекомендуется. Используйте `stickySizeWithContainerWidth:(CGFloat)width`. В SDK 6.0.0 высота баннера рассчитывается автоматически и известна до отправки запроса рекламы. Эту высоту можно использовать для верстки экрана.

#|
||
Удаление deprecated метода `flexibleSizeWithCGSize:(CGSize)size`
| **SDK 5**
```swift
let adSize = YMAAdSize.flexibleSize(withCGSize: CGSize(width: screenWidth, height: bannerHeight))
```
**SDK 6**
```swift
let adSize = YMABannerAdSize.inlineSize(withWidth: screenWidth, maxHeight: bannerHeight)
```
||
||
Удаление deprecated метода `fixedSizeWithCGSize:(CGSize)size`
| **SDK 5**
```swift
let adSize = YMAAdSize.fixedSize(with: CGSize(width: screenWidth, height: bannerHeight))
```
**SDK 6**

Используйте метод `inlineSizeWithWidth:(CGFloat)width maxHeight:(CGFloat)height` если вам нужно встроить баннер в контент.
```swift
let adSize = YMABannerAdSize.inlineSize(withWidth: screenWidth, maxHeight: bannerHeight)
```

Или метод `stickySizeWithContainerWidth:(CGFloat)width`, если вы хотите расположить баннер сверху или снизу на экране приложения.
```swift
let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)
```
||
||
Переименование класса `YMAAdSize` в `YMABannerAdSize`
| **SDK 5**
```swift
let adSize = YMAAdSize.fixedSizeWithWidth(width: screenWidth, height: bannerHeight)
```
**SDK 6**
```swift
let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)
```
||
||
Переименование класса `YMAAdSize` в `YMABannerAdSize`
| **SDK 5**
```swift
let adSize = YMAAdSize.fixedSizeWithWidth(width: screenWidth, height: bannerHeight)
```
**SDK 6**
```swift
let adSize = YMABannerAdSize.stickySize(withContainerWidth: screenWidth)
```
||
|#

## Реклама с вознаграждением

Был изменен подход к созданию и загрузке рекламы. Теперь есть объект-загрузчик `YMARewardedAdLoader`, который занимается загрузкой рекламных объявлений и объект рекламы `YMARewardedAd`, получаемый с помощью методов делегата загрузчика. Внутренняя логика по загрузке и отображению осталась прежней. Подробнее ознакомиться с новым апи можно в [справочнике SDK](https://doc-static.yandex.net/src/support/RSYA-RMP/mobile-ads/ru/jazzy/Classes/RewardedAd.html).

**SDK 5**

```swift
final class RewardedAdViewController: UIViewController {
   private lazy var rewardedAd: YMARewardedAd = {
        let rewardedAd = YMARewardedAd(adUnitID: "R-M-XXXXX-YY")
        rewardedAd.delegate = self
        return rewardedAd
    }()

    func loadAd() {
      rewardedAd.load()
    }

    func showAd() {
      rewardedAd.present(from: self)
    }

}

```

**SDK 6**

```swift
final class RewardedAdViewController: UIViewController {
   private var rewardedAd: YMARewardedAd?
   private lazy var rewardedAdLoader: YMARewardedAdLoader = {
        let loader = YMARewardedAdLoader()
        loader.delegate = self
        return loader
    }()

    func loadAd() {
      let configuration = YMAAdRequestConfiguration(adUnitID: "R-M-XXXXX-YY")
      rewardedAdLoader.loadAd(with: configuration)
    }

    func showAd() {
      rewardedAd?.show(from: self)
    }

}

extension RewardedAdViewController: YMARewardedAdLoaderDelegate {
   func rewardedAdLoader(_ adLoader: YMARewardedAdLoader, didLoad rewardedAd: YMARewardedAd) {
        self.rewardedAd = rewardedAd
    }
}

```

## Межстраничная реклама

Был изменен подход к созданию и загрузке межстраничной рекламы. Теперь есть объект-загрузчик `YMAInterstitialAdLoader`, который занимается загрузкой рекламных объявлений и объект рекламы `YMAInterstitialAd`, получаемый с помощью методов делегата загрузчика. Внутренняя логика по загрузке и отображению осталась прежней. Подробнее ознакомиться с новым апи можно в [справочнике SDK](https://doc-static.yandex.net/src/support/RSYA-RMP/mobile-ads/ru/jazzy/Classes/InterstitialAd.html).

**SDK 5**

```swift
final class InterstitialAdViewController: UIViewController {
   private lazy var interstitialAd: YMAInterstitialAd = {
        let interstitialAd = YMAInterstitialAd(adUnitID: "R-M-XXXXX-YY")
        interstitialAd.delegate = self
        return interstitialAd
    }()

    func loadAd() {
      interstitialAd.load()
    }

    func showAd() {
      interstitialAd.present(from: self)
    }

}
```

**SDK 6**

```swift
final class InterstitialAdViewController: UIViewController {
   private var interstitialAd: YMAInterstitialAd?
   private lazy var interstitialAdLoader: YMInterstitialAdLoader = {
        let loader = YMInterstitialAdLoader()
        loader.delegate = self
        return loader
    }()

    func loadAd() {
      let configuration = YMAAdRequestConfiguration(adUnitID: "R-M-XXXXX-YY")
      interstitialAdLoader.loadAd(with: configuration)
    }

    func showAd() {
      interstitialAd?.show(from: self)
    }

}

extension InterstitialAdViewController: YMAInterstitialAdLoaderDelegate {
   func interstitialAdLoader(_ adLoader: YMAInterstitialAdLoader, didLoad interstitialAd: YMAInterstitialAd) {
        self.interstitialAd = interstitialAd
    }
}
```

Полные примеры интеграции можно посмотреть здесь:

* <!-- source: ru/dev/_includes7/github-pubdev-links.md -->
  Ссылка на [github](https://github.com/yandexmobile/yandex-ads-sdk-ios/blob/master/Examples/YandexMobileAdsExample/YandexMobileAdsExample/Yandex/Interstitial/InterstitialAdViewController.swift).
  <!-- endsource: ru/dev/_includes7/github-pubdev-links.md -->

* <!-- source: ru/dev/_includes7/github-pubdev-links.md -->
  Ссылка на [github](https://github.com/yandexmobile/yandex-ads-sdk-ios/blob/master/Examples/YandexMobileAdsExample/YandexMobileAdsExample/Yandex/Rewarded/RewardedAdViewController.swift).
  <!-- endsource: ru/dev/_includes7/github-pubdev-links.md -->

## App Open Ad

Был добавлен новый формат рекламных объявлений — App Open Ad. Подробнее о нем можно узнать в разделе [Реклама при открытии приложения](https://ads.yandex.com/helpcenter/ru/dev/ios7/app-open-ad.md).

## Минимальная версия iOS

Для работы с Yandex Mobile Ads 6.0 требуется iOS 13 и выше. Если у вас более ранняя версия ОС, то необходимо обновить ее до iOS 13.

## Медиация Яндекса

{% note warning %}

Обязательно обновите версии используемых адаптеров на актуальные ([Медиация Яндекса](https://ads.yandex.com/helpcenter/ru/dev/ios7/list-network.md) и [адаптеры для сторонних медиационных сетей](https://ads.yandex.com/helpcenter/ru/dev/ios7/third-party-mediation.md)). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.

{% endnote %}

### Новые версии адаптеров

**Актуальные версии адаптеров для Медиации Яндекса (на момент выхода версии SDK 6.0.0):**

* Digital Turbine (ex. AdColony): 4.9.0.5.
* AppLovin: 11.11.2.0.
* Chartboost: 9.4.0.0.
* Google: 10.9.0.0.
* InMobi: 10.5.5.1.
* IronSource: 7.4.0.0.
* Mintegral: 7.4.0.2.
* VK Реклама (ex. myTarget): 5.18.0.1.
* Start.io: 4.10.0.0.
* Unity Ads: 4.8.0.1.

**Актуальные версии адаптеров для сторонних медиационных платформ (на момент выхода версии SDK 6.0.0):**

* Google AdMob (ex. AdMob): 10.9.0.
* Unity LevelPlay (IronSource): 7.4.0.

### Переименование адаптера Google AdMob (ex. AdMob)

Адаптеры `AdMobYandexMobileAdsAdapters` были переименованы в `GoogleYandexMobileAdsAdapters`. Если вы используете единую сборку медиации, ничего делать не нужно. В случае ручного подключения адаптеров необходимо внести правки в Podfile вашего проекта.

#|
|| **SDK 5**
```bash
pod 'AdMobYandexMobileAdsAdapters'
```
| **SDK 6**
```bash
pod 'GoogleYandexMobileAdsAdapters'
```
||
|#
