Si planeas usar la medición abierta con formatos de anuncios nativos personalizados que no contienen un recurso de video, deberás llamar a las APIs de Open Measurement tú mismo. La medición abierta para los formatos de anuncios nativos personalizados de tipo de visualización solo es compatible con la versión 7.43.0 y posteriores. Si utilizas formatos de anuncios nativos personalizados con un recurso de video, no es necesario que sigas esta guía, ya que el SDK de anuncios de Google para dispositivos móviles hace un seguimiento de la visibilidad del recurso de video por ti.
Requisitos previos
- SDK de anuncios de Google para dispositivos móviles versión 7.44.0 o posterior.
- Lee Open Measurement con el SDK de anuncios para dispositivos móviles.
- Integrar formatos de anuncios nativos personalizados
- Configura un proveedor de visibilidad y asígnalo a tu línea de pedido.
- Ingresa tu nombre de socio cuando crees un formato personalizado en la IU de Ad Manager.
Carga un anuncio
La carga de un anuncio es la misma, independientemente de si utilizas la medición abierta o no. En este caso, usaremos un ViewController
simple para demostrar la carga de un 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
Registra tu vista y comienza a medir
Cuando muestras una GADNativeCustomTemplateAd
, debes registrar la vista de anuncio personalizado con el GADNativeTemplateAd
usando la propiedad displayAdMeasurement.view
.
También debes indicarle explícitamente al SDK que comience a medir tu anuncio. Para ello, llama al método startWithError:
en la propiedad displayAdMeasurement
de tu GADNativeCustomTemplateAd
. Se debe llamar a startWithError:
desde el subproceso principal; las llamadas posteriores no tendrán efecto.
@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
¡Eso es todo! Una vez que lances la app, comenzarás a recibir datos de medición. Sin embargo, estos no se certificarán hasta que completes el proceso de certificación de la IAB.