Руководство по интеграции MediaView
Это архивная версия документации. Актуальная документация по всем платформам находится здесь.
Интеграция описана на примере рекламы типа ImageAd
.
Подключите Mobile Ads SDK.
Добавьте вPodfile
проекта зависимость:pod 'YandexMobileAds', '5.9.1' pod 'YandexMobileAdsInstream', '0.18.0'
Загрузите нативную рекламу.
- Создайте объект класса YMANativeAdLoader с конфигурацией YMANativeAdRequestConfiguration.
- Реализуйте протокол YMANativeAdLoaderDelegate и метод -nativeAdLoader:didLoadAd:.
- Установите
delegate
для созданного объектаYMANativeAdLoader
. - Вызовите метод -loadAdWithRequestConfiguration:.
Отобразите нативную рекламу.
Ограничение. Требования к размерам mediaView при отображении видеорекламыМинимальный размер экземпляра класса YMANativeMediaView, в котором поддерживается воспроизведение видео: 300x160 или 160x300.
Для поддержки воспроизведения видео в нативной рекламе рекомендуется выставить ширину для
mediaView
не менее 300. Чтобы вычислить соответствующее значение высотыmediaView
, используйте значение свойства aspectRatio. При отображении рекламы с помощью шаблонов, корректная высота дляmediaView
будет вычислена автоматически, с учетом соотношения ширины и высоты.- Для простого способа отображения рекламы воспользуйтесь шаблонами.
- Создайте объект класса YMANativeBannerView.
- Установите для него объект загруженной рекламы.
override func viewDidLoad() { super.viewDidLoad() adLoader = YMANativeAdLoader() adLoader.delegate = self let requestConfiguration = YMANativeAdRequestConfiguration(adUnitID: “<AdUnitID>”) adLoader.loadAd(with: requestConfiguration) }
- (void)viewDidLoad { [super viewDidLoad]; self.adLoader = [[YMANativeAdLoader alloc] init]; self.adLoader.delegate = self; YMANativeAdRequestConfiguration *requestConfiguration = [[YMANativeAdRequestConfiguration alloc] initWithAdUnitID:@"your_AdUnitID"]; [self.adLoader loadAdWithRequestConfiguration:requestConfiguration]; }done
Подробнее о нативной рекламе читайте в разделе Нативная реклама.
Также вы можете воспользоваться ручным способом отображения нативной рекламы. Такой способ позволяет отображать нативную рекламу максимально адаптивно под ваш основной контент. Вызовите метод -bindWithAdView:error:.
func nativeAdLoader(_ loader: YMANativeAdLoader, didLoad ad: YMANativeAd) { ad.delegate = self do { try ad.bind(with: adView) } catch { print("Error: \(error)") } } func configureView(for ad: YMANativeAd) { let assets = ad.adAssets() if let media = assets.media { //you can use the aspect ratio if you need it to determine the size of media view. print(String(format: "Media aspect ratio: %.2f", media.aspectRatio)) } }
- (void)nativeAdLoader:(YMANativeAdLoader *)loader didLoadAd:(id<YMANativeAd>)ad { ad.delegate = self; NSError *error = nil; BOOL result = [ad bindWithAdView:self.adView error:error]; if (error != nil) { NSLog(@"Error: %@", error); } } - (void)configureViewForAd:(id<YMANativeAd>)ad { YMANativeAdAssets *assets = [ad adAssets]; YMANativeAdMedia *media = assets.media; if (media != nil) { //you can use the aspect ratio if you need it to determine the size of media view. NSLog(@"Media aspect ratio: %.2f", media.aspectRatio); } }
Подробнее о нативной рекламе читайте в разделе Оформление без использования шаблона.