פורמטים מותאמים אישית של מודעות מותאמות מסוג רשת המדיה ומדידה פתוחה

אם אתם מתכננים להשתמש במדידה פתוחה עם פורמטים מותאמים אישית של מודעות מותאמות שלא מכילים נכס וידאו, אתם אחראים לבצע בעצמכם את הקריאה לממשקי ה-API של המדידה הפתוחה. מדידה פתוחה של מודעות מותאמות בהתאמה אישית מסוג מודעות לרשת המדיה נתמכת רק בגרסה 7.43.0 ואילך. אם אתם משתמשים בפורמטים מותאמים אישית של מודעות מודפסות עם נכס וידאו, אין צורך לפעול לפי המדריך הזה – ‏Google Mobile Ads SDK עוקב אחרי ניראות נכס הווידאו בשמכם.

דרישות מוקדמות

טעינת מודעה

טעינת מודעה זהה בין אם אתם משתמשים במדידה פתוחה ובין אם לא. במקרה הזה נשתמש ב-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 באופן מפורש להתחיל למדוד את המודעה. כדי לעשות זאת, צריך לבצע קריאה ל-method‏ startWithError: בנכס displayAdMeasurement של ה-GADNativeCustomFormatAd. צריך להפעיל את startWithError: מה-thread הראשי, ולא תהיה השפעה להפעלות הבאות.

@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.