รูปแบบโฆษณาเนทีฟที่กำหนดเองของประเภทดิสเพลย์และการวัดแบบเปิด

หากวางแผนที่จะใช้การวัดผลแบบเปิดกับรูปแบบโฆษณาเนทีฟที่กําหนดเองซึ่งไม่มีชิ้นงานวิดีโอ คุณจะต้องรับผิดชอบในการเรียกใช้ Open Measurement API ด้วยตนเอง การวัดผลแบบเปิดสําหรับรูปแบบโฆษณาเนทีฟที่กําหนดเองประเภท Display ใช้ได้กับเวอร์ชัน 7.43.0 ขึ้นไปเท่านั้น หากใช้รูปแบบโฆษณาเนทีฟที่กําหนดเองกับชิ้นงานวิดีโอ คุณไม่จําเป็นต้องทําตามคู่มือนี้ เนื่องจาก Google Mobile Ads SDK จะติดตามการมองเห็นชิ้นงานวิดีโอในนามของคุณ

เพื่อให้ผลการวัดโฆษณาเนทีฟที่กำหนดเองประเภท Display ได้รับการรับรองจาก IAB

ข้อกำหนดเบื้องต้น

โหลดโฆษณา

การโหลดโฆษณาจะทำงานเหมือนกันไม่ว่าคุณกำลังใช้การวัดแบบเปิดหรือไม่ ในกรณีนี้ เราจะใช้ 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

ลงทะเบียนมุมมองและเริ่มวัดผล

เมื่อแสดง GADNativeCustomFormatAd คุณต้องจดทะเบียนมุมมองโฆษณาที่กําหนดเองกับ GADNativeTemplateAd โดยใช้พร็อพเพอร์ตี้ displayAdMeasurement.view

นอกจากนี้ คุณยังต้องบอก SDK ให้เริ่มวัดโฆษณาอย่างชัดเจนด้วย โดยเรียกใช้เมธอด startWithError: ในพร็อพเพอร์ตี้ displayAdMeasurement ของ GADNativeCustomFormatAd startWithError: ต้องเรียกใช้จากเธรดหลัก และการเรียกใช้ต่อๆ ไปจะไม่มีผล

@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

เท่านี้ก็เรียบร้อย เมื่อเผยแพร่แอปแล้ว คุณจะเริ่มได้รับข้อมูลการวัดผล แต่ข้อมูลของคุณจะยังไม่ได้รับการรับรองจนกว่าคุณจะผ่านกระบวนการรับรองของ IAB