Benutzerdefinierte native Anzeigenformate für Displayanzeigen und Open Measurement

Wenn Sie Open Measurement mit benutzerdefinierten nativen Anzeigenformaten verwenden möchten, kein Video-Asset enthält, müssen Sie die Methode APIs zur Messung selbst hinzufügen. Open Measurement für benutzerdefinierte native Display-Anzeigen Formate werden erst ab Version 7.43.0 unterstützt. Wenn Sie benutzerdefinierte native Anzeigenformate mit einem Video-Asset verwenden, müssen Sie Google Mobile Ads SDK die Sichtbarkeit des Video-Assets auf in Ihrem Namen.

Vorbereitung

Anzeige laden

Unabhängig davon, ob Sie Open Measurement verwenden oder nicht, funktioniert das Laden der Anzeige immer gleich. In dieser zeigen wir mit einem einfachen ViewController, 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

Registrieren Sie Ihre Ansicht und beginnen Sie mit der Messung

Wenn Sie eine GADNativeCustomFormatAd einblenden, müssen Sie Ihre benutzerdefinierte Anzeige registrieren Ansicht mit der GADNativeTemplateAd unter Verwendung der displayAdMeasurement.view Property.

Außerdem müssen Sie das SDK ausdrücklich anweisen, mit der Messung Ihrer Anzeige zu beginnen. Gehen Sie dazu wie folgt vor: Rufen Sie die Methode startWithError: für das Attribut displayAdMeasurement Ihrer GADNativeCustomFormatAd startWithError: muss über die Haupt-App aufgerufen werden und nachfolgende Aufrufe haben keine Auswirkungen.

@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

Das war schon alles. Sobald du deine App veröffentlichst, erhältst du Messdaten. Ihre Daten sind jedoch erst zertifiziert, wenn Sie die IAB-Zertifizierung