Jeśli planujesz stosować pomiar otwarty z niestandardowymi formatami reklam natywnych, które nie zawierają zasobu wideo, musisz samodzielnie wywoływać interfejsy Open Measurement API. Pomiar otwarty dla niestandardowych formatów reklam natywnych typu displayowego jest obsługiwany tylko w wersji 7.43.0 i nowszych. Jeśli używasz niestandardowych formatów reklam natywnych z komponentem wideo, nie musisz korzystać z tego przewodnika – pakiet SDK do reklam mobilnych Google śledzi w Twoim imieniu widoczność komponentu wideo.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 7.44.0 lub nowszej.
- Przeczytaj artykuł Open Measurement w pakiecie SDK do reklam mobilnych.
- Korzystaj z niestandardowych formatów reklam natywnych.
- Skonfiguruj dostawcę usług pomiaru widoczności i przypisz go do elementu zamówienia.
- Wpisz nazwę partnera podczas tworzenia formatu niestandardowego w interfejsie Ad Managera.
Wczytywanie reklamy
Wczytywanie reklamy wygląda tak samo niezależnie od tego, czy korzystasz z pomiaru otwartego, czy nie. W tym przypadku użyjemy prostego elementu ViewController
, aby zademonstrować wczytywanie elementu GADNativeCustomTemplateAd
:
@interface OpenMeasurementNativeCustomTemplateAdViewController ()
<GADNativeCustomTemplateAdLoaderDelegate> {
IBOutlet UIView *_parentView;
GADAdLoader *_adLoader;
GADNativeCustomTemplateAd *_customTemplateAd;
MySimpleNativeAdView *_simpleNativeAdView;
}
@end
@implementation OpenMeasurementNativeCustomTemplateAdViewController
- (void) viewDidLoad {
[super viewDidLoad];
_adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"your ad unit ID"
rootViewController:self
adTypes:@[ kGADAdLoaderAdTypeNativeCustomTemplate ]
options:nil];
_adLoader.delegate = self;
[self loadAd];
}
- (void) loadAd {
GAMRequest *request = [GAMRequest request];
[_adLoader loadRequest:request];
}
...
@end
Zarejestruj widok i rozpocznij pomiary
Jeśli wyświetlasz GADNativeCustomTemplateAd
, musisz zarejestrować niestandardowy widok reklamy za pomocą GADNativeTemplateAd
, używając właściwości displayAdMeasurement.view
.
Musisz też wyraźnie wskazać pakietowi SDK rozpoczęcie pomiaru skuteczności reklamy. Aby to zrobić, wywołaj metodę startWithError:
we właściwości displayAdMeasurement
GADNativeCustomTemplateAd
. startWithError:
musi zostać wywołana z wątku głównego i kolejne wywołania nie będą miały żadnego efektu.
@implementation OpenMeasurementNativeCustomTemplateAdViewController
...
#pragma mark - GADNativeCustomTemplateAdLoaderDelegate
- (void) adLoader:(GADAdLoader *) adLoader
didReceiveNativeCustomTemplateAd:(GADNativeCustomTemplateAd *)nativeCustomTemplateAd {
NSLog(@"Received custom native ad: %@", nativeCustomTemplateAd);
_customTemplateAd = nativeCustomTemplateAd;
// 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 GADNativeCustomTemplateAd 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
To wszystko. Po opublikowaniu aplikacji zaczniesz otrzymywać dane pomiarowe, jednak certyfikaty będą dostępne dopiero po przejściu procesu certyfikacji IAB.