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 ne contiennent aucun élément vidéo, vous devrez appeler la fonction Open Source les API de mesure vous-même ; Open Measurement pour une annonce native personnalisée de type display ne sont compatibles qu'avec les versions 7.43.0 et ultérieures. Si vous utilisez des des formats d'annonces natives avec un asset vidéo, vous n'avez pas besoin de suivre le SDK Google Mobile Ads effectue le suivi de la visibilité de l'élément vidéo pour vous.

Prérequis

Charger une annonce

Le chargement d'une annonce est le même, que vous utilisiez Open Measurement ou non. Dans ce Dans ce cas, nous utiliserons un élément 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 une GADNativeCustomFormatAd, vous devez enregistrer votre annonce personnalisée avec l'GADNativeTemplateAd à l'aide de l'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é depuis l'objet main 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 recevrez de mesure. Toutefois, vos données ne seront pas certifiées tant que vous n'aurez pas suivi Certification IAB processus.