Formats d'annonces natives personnalisés de type Display et Open Measurement

Si vous prévoyez d'utiliser Open Measurement avec des formats d'annonces natives personnalisés qui ne contiennent pas d'asset vidéo, vous devrez appeler vous-même les API Open Measurement. Open Measurement pour les formats d'annonces natives personnalisés de type display n'est compatible qu'avec les versions 7.43.0 et ultérieures. Si vous utilisez des formats personnalisés d'annonces natives avec un asset vidéo, vous n'avez pas besoin de suivre ce guide. Le SDK Google Mobile Ads suit en votre nom la visibilité de l'élément vidéo.

Conditions préalables

Charger une annonce

Le chargement d'une annonce est le même, que vous utilisiez Open Measurement ou non. Dans ce cas, nous utiliserons un simple ViewController pour illustrer le chargement d'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

Enregistrez votre vue et commencez à mesurer

Lorsque vous affichez une GADNativeCustomTemplateAd, vous devez enregistrer l'affichage personnalisé de l'annonce avec GADNativeTemplateAd à l'aide de la propriété displayAdMeasurement.view.

Vous devez également indiquer explicitement au SDK de commencer à mesurer votre annonce. Pour ce faire, appelez la méthode startWithError: sur la propriété displayAdMeasurement de votre fichier GADNativeCustomTemplateAd. startWithError: doit être appelé à partir du thread principal, et les appels suivants n'ont aucun effet.

@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

C'est aussi simple que cela. Une fois votre application publiée, vous commencerez à recevoir des données de mesure. Toutefois, vos données ne seront certifiées qu'une fois que vous aurez suivi le processus de certification de l'IAB.