MREC
MREC – это баннер с размером 300x250. Данный тип рекламы может быть полезен в приложениях, где есть достаточно места для его размещения в пользовательском интерфейсе.
Вы можете использовать наше демо приложение в качестве примера по интеграции.
Демо приложение
Ручное Кеширование
MREC не поддерживает режим автоматического кеширования.
Для загрузки MREC используйте метод:
- Swift
- Objective-C
// MREC view
mrec.loadAd()
// MREC view
[mrec loadAd];
Более подробную информацию о ручном кешировании вы можете найти в нашем FAQ.
Проверка Загрузки
- Swift
- Objective-C
// MREC view
mrec.isReady
// MREC view
mrec.isReady;
Отображение
Класс AppodealMRECView
– это сабкласс AppodealBannerView
.
AppodealMRECView
- это баннер с размером 300x250.
MREC обновляется каждые 15 секунд в автоматическом режиме. Для отображения MREC вам необходимо использовать следующий код:
- Swift
- Objective-C
import UIKit
import Appodeal
class YourViewController: UIViewController, AppodealBannerViewDelegate {
override func viewDidLoad () {
super.viewDidLoad()
// required: init ad banner
let mrecView: AppodealMRECView = AppodealMRECView()
mrecView.usesSmartSizing = false
mrecView.rootViewController = self
// optional: set delegate
mrecView.delegate = self
// required: add banner to superview and call -loadAd to start banner loading
self.view.addSubview(mrecView)
mrecView.loadAd()
}
// optional: implement any of AppodealBannerViewDelegate methods
func bannerViewDidLoadAd(_ bannerView: APDBannerView, isPrecache precache: Bool) {
NSLog("bannerView was loaded")
}
func bannerView(_ bannerView: APDBannerView, didFailToLoadAdWithError error: Error) {
NSLog("bannerView failed to load");
}
func bannerViewDidInteract(_ bannerView: APDBannerView) {
NSLog("bannerView was clicked")
}
func bannerViewDidShow(_ bannerView: APDBannerView) {
NSLog("bannerView was shown")
}
func bannerViewExpired(_ bannerView: APDBannerView) {
NSLog("bannerView did expire and could not be shown")
}
}
#import "YourViewController.h"
#import <Appodeal/Appodeal.h>
interface YourViewController () <AppodealBannerViewDelegate>
@end
@implementation YourViewController
- (void)viewDidLoad {
[super viewDidLoad];
// required: init ad banner
AppodealMRECView *mrecView= [[AppodealMRECView alloc] initWithRootViewController:self];
// optional: set delegate
mrecView.delegate = self;
// required: add banner to superview and call loadAd to start banner loading
[self.view addSubview:mrecView];
[mrecView loadAd];
}
// optional: implement any of AppodealBannerViewDelegate methods
- (void)bannerViewDidLoadAd:(APDBannerView *)bannerView {
NSLog(@"Banner %@ did load!", bannerView);
}
- (void)bannerViewDidInteract:(APDBannerView *)bannerView {
NSLog(@"Banner %@ did interact", bannerView);
}
- (void)bannerView:(APDBannerView *)bannerView didFailToLoadAdWithError:(NSError *)error {
NSLog(@"Banner %@ did fail with error: %@", bannerView, error);
}
- (void)bannerViewDidRefresh:(APDBannerView *)bannerView {
NSLog(@"Banner %@ did refresh ", bannerView);
}
@end
Методы Обратного Вызова
Методы обратного вызова позволяют отслеживать различные события в жизненном цикле рекламного блока, например, момент, когда пользователь нажал на рекламу или закрыл ее. Для их вызова установите следующее значение делегата:
- Swift
- Objective-C
//set delegate
Appodeal.setBannerDelegate(self)
//set delegate
[Appodeal setBannerDelegate:self];
Обычно класс, который работает с MREC-баннерами, одновременно является и
классом делегата, поэтому в качестве свойства делегата можно
указать self
.
Теперь вы можете использовать следующие методы обратного вызова:
- Swift
- Objective-C
// banner was loaded (precache flag shows if the loaded ad is precache)
func bannerDidLoadAdIsPrecache(_ precache: Bool) {}
// banner was shown
func bannerDidShow() {}
// banner failed to load
func bannerDidFailToLoadAd() {}
// banner was clicked
func bannerDidClick() {}
// banner did expire and could not be shown
func bannerDidExpired() {}
- (void)bannerDidLoadAdIsPrecache:(BOOL)precache {
// banner was loaded (precache flag shows if the loaded ad is precache)
}
- (void)bannerDidShow {
// banner was shown
}
- (void)bannerDidFailToLoadAd {
// banner failed to load
}
- (void)bannerDidClick {
// banner was clicked
}
- (void)bannerDidExpired {
// banner did expire and could not be shown
}
Все функции обратного вызова вызываются в главном потоке.
Плейсменты
Appodeal SDK позволяет вам отмечать показы различными тегами с помощью плейсментов. Для использования данной функции вам необходимо создать плейсмент в настройках вашего приложения. Больше информации о плейсментах в нашем руководстве about placements.
- Swift
- Objective-C
Appodeal.showAd(.MREC, forPlacement: placement, rootViewController: self)
[Appodeal showAd:AppodealShowStyleMREC forPlacement:placement rootViewController:self];
Если загруженный креатив не может быть показан для настроек выбранного плейсмента, показа не будет. Если включен автоматический режим загрузки рекламных креативов, SDK начнет грузить новый рекламный креатив, что может повлиять на display rate вашего приложения. В подобных случаях мы рекомендуем проверять возможность показа с помощью метода canShow:
- Swift
- Objective-C
Appodeal.canShow(.MREC, forPlacement: placement)
[Appodeal canShow:AppodealAdTypeMREC forPlacement:placement];
Вы можете настраивать логику показа для каждого плейсмента.
Если в приложении нет настроенных плейсментов, или вы пробуете показать рекламу для плейсмента, который не существует в настройках вашего приложения, каждый показ будет записан в плейсмент с именем 'default' и будут применены его настройки.
Настройки плейсментов влияют только на показ рекламы и не влияют на ее загрузку.
Получение Прогнозируемого eCPM
Этот метод возвращает ожидаемый eCPM для загруженного креатива. Цена высчитывается из исторических данных для конкретного рекламного блока.
- Swift
- Objective-C
Appodeal.predictedEcpm(for: .MREC)
[Appodeal predictedEcpmForAdType: AppodealAdTypeMREC];
Проверка Инициализации
- Swift
- Objective-C
Appodeal.isInitialized(for: .MREC)
[Appodeal isInitalizedForAdType: AppodealAdTypeMREC];
Возвращает true
, если MREC реклама была проинициализирована.
Проверка Типа Кеширования
MREC не поддерживает автоматическое кеширование.
Скрытие
MREC - это наследник UIView, для скрытия которого достаточно удалить его с superview.
- Swift
- Objective-C
// MREC view
mrec.removeFromSuperview()
// MREC view
[mrec removeFromSuperview];
Отслеживание Показа
Вы всегда можете проверить в логах, был ли отслежен показ и видна ли ваша реклама.
В случае успешного показа вы увидите следующий лог:
[Appodeal *.*.*] [debug] [impression] Impression <APDImpression: 0x600002953b10> succesfully tracked