डिसप्ले-टाइप कस्टम नेटिव विज्ञापन फ़ॉर्मैट और ओपन मेज़रमेंट

अगर आपको कस्टम नेटिव विज्ञापन फ़ॉर्मैट के साथ ओपन मेज़रमेंट का इस्तेमाल करना है, जिनमें वीडियो ऐसेट शामिल नहीं है, तो आपको खुद Open Measurement API को कॉल करना होगा. डिसप्ले टाइप के कस्टम नेटिव विज्ञापन फ़ॉर्मैट के लिए, ओपन मेज़रमेंट की सुविधा सिर्फ़ 7.43.0 और इसके बाद के वर्शन पर काम करती है. अगर वीडियो ऐसेट के साथ कस्टम नेटिव विज्ञापन फ़ॉर्मैट का इस्तेमाल किया जा रहा है, तो आपको इस गाइड का पालन करने की ज़रूरत नहीं है. Google Mobile Ads SDK टूल, आपकी ओर से वीडियो ऐसेट के दिखने की जानकारी ट्रैक करता है.

ज़रूरी शर्तें

विज्ञापन लोड करना

ओपन मेज़रमेंट का इस्तेमाल किए बिना भी विज्ञापन लोड करने का तरीका वही है. इस मामले में, हम GADNativeCustomFormatAd को लोड करने के उदाहरण के लिए, एक सामान्य ViewController का इस्तेमाल करेंगे:

@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 दिखाने पर आपको displayAdMeasurement.view प्रॉपर्टी का इस्तेमाल करके, अपने कस्टम विज्ञापन व्यू को GADNativeTemplateAd के साथ रजिस्टर करना होगा.

आपको SDK टूल को साफ़ तौर पर यह भी बताना होगा कि आपके विज्ञापन को मेज़र करना शुरू करें. ऐसा करने के लिए, अपनी GADNativeCustomFormatAd की displayAdMeasurement प्रॉपर्टी पर startWithError: मेथड को कॉल करें. 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 सर्टिफ़िकेशन की प्रोसेस पूरी नहीं कर ली, तब तक आपके डेटा को सर्टिफ़िकेट नहीं दिया जाएगा.