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

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

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

טעינת מודעה

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

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