Подключение рекламы с вознаграждением

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Реклама с вознаграждением (Rewarded Ad) — настраиваемое объявление, отображаемое на весь экран. За просмотр такой рекламы пользователь получает вознаграждение.

Чтобы подключить рекламу:

  1. Добавьте импорт:

    import YandexMobileAds
  2. Создайте @property, где будет храниться ссылка на рекламное объявление:

    var rewardedAd: YMARewardedAd!
  3. Произведите инициализацию рекламы:
    rewardedAd = YMARewardedAd(adUnitID: “<AdUnitID>”)
    rewardedAd.delegate = self

    AdUnitId — уникальный идентификатор рекламного места, который выдается в Партнерском интерфейсе и имеет вид: R-M-XXXXXX-Y.

    При этом self должен удовлетворять протоколу YMARewardedAdDelegate.

  4. Загрузите рекламу.
    rewardedAd.load()

    Опционально, с помощью класса YMAAdRequest, можно передать данные для таргетирования. Пример использования класса см. в разделе Полноэкранная реклама.

    Производить предзагрузку рекламы необходимо в той же ориентации, в которой она будет показана (иначе реклама не будет показана из-за несоответствия размеров экрана и баннера).
  5. Начните отображение объявления, используя данный метод:

    func rewardedAdDidLoad(_ rewardedAd: YMARewardedAd) {
        rewardedAd.present(from: self)
    }
  6. Если вы используете механизм награждения на стороне клиента («client-side reward»), реализуйте метод делегата -rewardedAd:didReward:. Он вызывается, когда показ засчитан и пользователь может быть награжден за просмотр рекламы. Используйте этот момент, чтобы выдать награду пользователю приложения.

  7. Опционально можно включить логирование с помощью метода +enableLogging. Если показ рекламы не был засчитан, в консоли появится сообщение.

    Чтобы определить причины, по которым реклама работает некорректно, используйте методы

    func rewardedAdDidFail(toLoad rewardedAd: YMARewardedAd, error: Error)
    func rewardedAdDidFail(toPresent rewardedAd: YMARewardedAd, error: Error)

    Описание ошибок доступно в разделе YMAAdErrorCode.

Чтобы посмотреть, как реклама будет отображаться в приложении, используйте демонстрационный AdUnitID:
  • demo-rewarded-yandex