Межстраничная реклама
Межстраничная реклама (Interstitial) — полноэкранный формат рекламы, встраиваемый в контент приложения во время естественных пауз, таких как переход между уровнями игры или окончание выполнения целевого действия.
Примечание
Пример работы всех типов форматов есть в демопроекте.
|
Сущность |
Описание |
|
|
При получении ошибки в |
|
|
Не сохраняйте ссылки на ранее отображенные объявления. Вызовите |
|
|
Используйте:
|
Пример создания межстраничной рекламы с готовым xml
import UIKit
import YandexMobileAds
class InterstitialViewController: UIViewController {
private let adUnitID = "ad-unit-ID" // Use R-M-XXXXXX-Y or "demo-interstitial-yandex" (look for the description below)
private var interstitialAd: InterstitialAd?
private lazy var interstitialAdLoader: InterstitialAdLoader = {
let loader = InterstitialAdLoader()
loader.delegate = self
return loader
}()
override func viewDidLoad() {
super.viewDidLoad()
loadAd()
}
private func loadAd() {
print("[Interstitial] Loading ad...")
let configuration = AdRequestConfiguration(adUnitID: adUnitID)
interstitialAdLoader.loadAd(with: configuration)
}
private func showAd() {
guard let ad = interstitialAd else { return }
ad.show(from: self)
}
}
// MARK: - InterstitialAdLoaderDelegate
extension InterstitialViewController: InterstitialAdLoaderDelegate {
func interstitialAdLoader(_ adLoader: InterstitialAdLoader, didLoad interstitialAd: InterstitialAd) {
print("[Interstitial] didLoad")
self.interstitialAd = interstitialAd
self.interstitialAd?.delegate = self
showAd()
}
func interstitialAdLoader(_ adLoader: InterstitialAdLoader, didFailToLoadWithError error: AdRequestError) {
print("[Interstitial] didFailToLoad: \(error.error)")
}
}
// MARK: -InterstitialAdDelegate
extension InterstitialViewController: InterstitialAdDelegate {
func interstitialAdDidShow(_ interstitialAd: InterstitialAd) {
print("[Interstitial] didShow")
}
func interstitialAdDidDismiss(_ interstitialAd: InterstitialAd) {
print("[Interstitial] didDismiss")
}
func interstitialAdDidClick(_ interstitialAd: InterstitialAd) {
print("[Interstitial] didClick")
}
func interstitialAd(_ interstitialAd: InterstitialAd, didFailToShowWithError error: Error) {
print("[Interstitial] didFailToShow: \(error)")
}
func interstitialAd(_ interstitialAd: InterstitialAd, didTrackImpressionWith impressionData: ImpressionData?) {
print("[Interstitial] didTrackImpression: \(impressionData?.rawData ?? "nil")")
}
}