Jeśli planujesz korzystać z otwartego pomiaru w przypadku niestandardowych formatów reklam natywnych, które nie zawierają komponentu wideo, musisz samodzielnie wywoływać interfejsy Open Measurement API. Otwarte pomiary w przypadku niestandardowych natywnych formatów reklam displayowych są obsługiwane tylko w wersji 7.43.0 i nowszych. Jeśli używasz niestandardowych formatów reklam natywnych z komponentem wideo, nie musisz się stosować do tego przewodnika – pakiet SDK do reklam mobilnych Google śledzi widoczność komponentu wideo w Twoim imieniu.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 7.44.0 lub nowszej.
- Przeczytaj artykuł Open Measurement z pakietem SDK do reklam mobilnych.
- Integruj niestandardowe formaty 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 przebiega tak samo niezależnie od tego, czy korzystasz z pomiaru otwartego. W tym przypadku użyjemy prostego ViewController
, aby zademonstrować wczytywanie elementu 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
Rejestrowanie widoku i rozpoczynanie pomiarów
Jeśli wyświetlasz GADNativeCustomFormatAd
, musisz zarejestrować niestandardowy widok reklamy w usługach GADNativeTemplateAd
za pomocą usługi displayAdMeasurement.view
.
Musisz też wyraźnie wskazać pakietowi SDK, aby rozpoczął pomiar reklamy. Aby to zrobić, wywołaj metodę startWithError:
we właściwości displayAdMeasurement
na koncie GADNativeCustomFormatAd
. Funkcja startWithError:
musi być wywoływana z wątku głównego, a kolejne wywołania nie mają żadnego wpływu.
@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
To wszystko. Po wydaniu aplikacji zaczniesz otrzymywać dane pomiarowe, ale nie zostaną one certyfikowane, dopóki nie przejdziesz procesu certyfikacji IAB.