Định dạng quảng cáo gốc tuỳ chỉnh loại Mạng Hiển thị và tiêu chí Đo lường mở

Nếu dự định sử dụng tính năng đo lường mở với các định dạng quảng cáo gốc tuỳ chỉnh không chứa thành phần video, bạn sẽ có trách nhiệm tự gọi API Đo lường mở. Tính năng đo lường mở cho các định dạng quảng cáo gốc tuỳ chỉnh loại hiển thị chỉ được hỗ trợ trên phiên bản 7.43.0 trở lên. Nếu đang sử dụng định dạng quảng cáo gốc tuỳ chỉnh với thành phần video, bạn không cần làm theo hướng dẫn này. SDK quảng cáo trên thiết bị di động của Google sẽ thay mặt bạn theo dõi khả năng xem của thành phần video.

Điều kiện tiên quyết

Tải quảng cáo

Bất kể bạn có sử dụng tính năng đo lường mở hay không, việc tải quảng cáo là như nhau. Trong trường hợp này, chúng tôi sẽ sử dụng một ViewController đơn giản để minh hoạ việc tải một 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

Đăng ký chế độ xem của bạn và bắt đầu đo lường

Khi hiển thị GADNativeCustomTemplateAd, bạn cần đăng ký chế độ xem quảng cáo tuỳ chỉnh với GADNativeTemplateAd bằng cách sử dụng thuộc tính displayAdMeasurement.view.

Bạn cũng cần thông báo rõ ràng cho SDK biết để bắt đầu đo lường quảng cáo của mình. Để thực hiện việc này, hãy gọi phương thức startWithError: trên thuộc tính displayAdMeasurement của GADNativeCustomTemplateAd. startWithError: phải được gọi từ luồng chính và các lệnh gọi tiếp theo không có hiệu lực.

@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

Vậy là xong. Sau khi phát hành ứng dụng, bạn sẽ bắt đầu nhận được dữ liệu đo lường. Tuy nhiên, dữ liệu của bạn sẽ không được chứng nhận cho đến khi bạn trải qua quy trình chứng nhận của IAB.