Niestandardowe formaty reklam natywnych typu displayowego oraz Open Measurement

Jeśli planujesz korzystać z pomiaru otwartego w przypadku niestandardowych formatów reklam natywnych, które: jeśli nie zawierają zasobu wideo, to Ty odpowiadasz za wywołanie metody interfejsów API pomiarów. Pomiar otwarty dla niestandardowej reklamy natywnej typu displayowego są obsługiwane tylko w wersji 7.43.0 i nowszych. Jeśli używasz niestandardowego formatów reklam natywnych z komponentem wideo, nie musisz wykonywać tych czynności Google Mobile Ads SDK śledzi widoczność zasobu wideo na w Twoim imieniu.

Wymagania wstępne

Wczytywanie reklamy

Wczytywanie reklamy wygląda tak samo niezależnie od tego, czy korzystasz z pomiaru otwartego. W tym użyjemy prostego ViewController, aby zademonstrować wczytywanie 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

Zarejestruj widok i rozpocznij pomiary

Jeśli wyświetlasz GADNativeCustomFormatAd, musisz zarejestrować reklamę niestandardową wyświetl razem z obiektem GADNativeTemplateAd za pomocą funkcji displayAdMeasurement.view usłudze.

Musisz też wyraźnie wskazać pakiet SDK, aby rozpocząć pomiary reklamy. Aby to zrobić: wywołaj metodę startWithError: we właściwości displayAdMeasurement swojego zbioru GADNativeCustomFormatAd Funkcja startWithError: musi zostać wywołana z głównego adresu i kolejne wywołania nie przyniosą żadnego efektu.

@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

To wszystko. Po opublikowaniu aplikacji zaczniesz otrzymywać danych pomiarowych, jednak Twoje dane nie będą certyfikowane do czasu Certyfikat IAB .