Если вы планируете использовать открытое измерение с собственными форматами нативной рекламы, не содержащими видеоресурсов, вам придется самостоятельно вызывать API открытого измерения. Открытое отслеживание персонализированных форматов нативных объявлений медийного типа поддерживается только в версии 7.43.0 и более поздних версиях. Если вы используете собственные форматы нативных объявлений с видеообъектом, вам не нужно следовать этому руководству: Google Mobile Ads SDK отслеживает видимость видеообъекта от вашего имени.
Предварительные условия
- Google Mobile Ads SDK версии 7.44.0 или выше.
- Прочтите «Открытое измерение с помощью Mobile Ads SDK» .
- Интегрируйте собственные форматы нативной рекламы .
- Настройте поставщика видимости и назначьте его своей позиции.
- Введите имя своего партнера при создании специального формата в интерфейсе Менеджера рекламы.
Загрузить объявление
Загрузка объявления одинакова независимо от того, используете ли вы открытое измерение или нет. В этом случае мы будем использовать простой ViewController
, чтобы продемонстрировать загрузку GADNativeCustomFormatAd
:
@interface OpenMeasurementNativeCustomFormatAdViewController ()
<GADNativeCustomFormatAdLoaderDelegate> {
IBOutlet UIView *_parentView;
GADAdLoader *_adLoader;
GADNativeCustomFormatAd *_customTemplateAd;
MySimpleNativeAdView *_simpleNativeAdView;
}
@end
@implementation OpenMeasurementNativeCustomFormatAdViewController
- (void) viewDidLoad {
[super viewDidLoad];
_adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"your ad unit ID"
rootViewController:self
adTypes:@[ kGADAdLoaderAdTypeNativeCustomFormat ]
options:nil];
_adLoader.delegate = self;
[self loadAd];
}
- (void) loadAd {
GAMRequest *request = [GAMRequest request];
[_adLoader loadRequest:request];
}
...
@end
Зарегистрируйте свой вид и начните измерения
При показе GADNativeCustomFormatAd
вам необходимо зарегистрировать собственное представление объявления в GADNativeTemplateAd
используя свойство displayAdMeasurement.view
.
Вам также необходимо явно указать SDK, чтобы он начал анализировать вашу рекламу. Для этого вызовите метод startWithError:
свойства displayAdMeasurement
вашего GADNativeCustomFormatAd
. startWithError:
должен вызываться из основного потока, последующие вызовы не имеют никакого эффекта.
@implementation OpenMeasurementNativeCustomFormatAdViewController
...
#pragma mark - GADNativeCustomFormatAdLoaderDelegate
- (void) adLoader:(GADAdLoader *) adLoader
didReceiveNativeCustomFormatAd:(GADNativeCustomFormatAd *)nativeCustomFormatAd {
NSLog(@"Received custom native ad: %@", nativeCustomFormatAd);
_customTemplateAd = nativeCustomFormatAd;
// Put the custom native ad on screen.
_simpleNativeAdView =
[[NSBundle mainBundle] loadNibNamed:@"SimpleCustomNativeAdView"
owner:nil
options:nil]
.firstObject;
[_parentView addSubview:_simpleNativeAdView];
[_simpleNativeAdView populateWithCustomNativeAd:_customTemplateAd];
// Set the top-level native ad view on the GADNativeCustomFormatAd so the
// Google Mobile Ads SDK can track viewability for that view.
_customTemplateAd.displayAdMeasurement.view = _simpleNativeAdView;
// Begin measuring your impressions and clicks.
NSError *error = nil;
[_customTemplateAd.displayAdMeasurement startWithError:&error];
if (error) {
NSLog(@"Failed to start the display measurement.");
}
}
...
@end
Вот и все. После выпуска приложения вы начнете получать данные измерений, однако ваши данные не будут сертифицированы, пока вы не пройдете процесс сертификации IAB .