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 aucun élément vidéo, vous devrez appeler vous-même les API Open Measurement. La mesure ouverte pour les formats d'annonces natives personnalisées de type display n'est compatible qu'avec la version 7.43.0 ou ultérieure. Si vous utilisez des formats d'annonces natives personnalisées avec un composant vidéo, vous n'avez pas besoin de suivre ce guide. Le SDK Google Mobile Ads suit la visibilité du composant vidéo en votre nom.

Prérequis

Charger une annonce

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

Enregistrer votre vue et commencer à mesurer

Lorsque vous affichez un GADNativeCustomFormatAd, vous devez enregistrer votre vue d'annonce personnalisée auprès du 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 GADNativeCustomFormatAd. startWithError: doit être appelé à partir du thread principal, et les appels suivants n'ont aucun effet.

@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

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.