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

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

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

โหลดโฆษณา

การโหลดโฆษณาจะเหมือนกันไม่ว่าคุณจะใช้การวัดแบบเปิดหรือไม่ก็ตาม ในกรณีนี้ เราจะใช้ ViewController อย่างง่ายเพื่อแสดงการโหลด GADNativeCustomTemplateAd:

@interface OpenMeasurementNativeCustomTemplateAdViewController ()
    <GADNativeCustomTemplateAdLoaderDelegate> {
  IBOutlet UIView *_parentView;
  GADAdLoader *_adLoader;
  GADNativeCustomTemplateAd *_customTemplateAd;
  MySimpleNativeAdView *_simpleNativeAdView;
}

@end

@implementation OpenMeasurementNativeCustomTemplateAdViewController

- (void) viewDidLoad {
  [super viewDidLoad];

  _adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"your ad unit ID"
                                 rootViewController:self
                                            adTypes:@[ kGADAdLoaderAdTypeNativeCustomTemplate ]
                                            options:nil];
  _adLoader.delegate = self;
  [self loadAd];
}

- (void) loadAd {
  GAMRequest *request = [GAMRequest request];
  [_adLoader loadRequest:request];
}
...
@end

ลงทะเบียนการแสดงผลและเริ่มวัด

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

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

@implementation OpenMeasurementNativeCustomTemplateAdViewController
...
#pragma mark - GADNativeCustomTemplateAdLoaderDelegate

- (void) adLoader:(GADAdLoader *) adLoader
    didReceiveNativeCustomTemplateAd:(GADNativeCustomTemplateAd *)nativeCustomTemplateAd {
  NSLog(@"Received custom native ad: %@", nativeCustomTemplateAd);

  _customTemplateAd = nativeCustomTemplateAd;

  // 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 GADNativeCustomTemplateAd 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