कस्टम-रेंडर किए गए नेटिव विज्ञापन और बैनर विज्ञापन अनुरोधों को मिलाना

अपने कोड में कुछ बदलावों के साथ, नेटिव और बैनर विज्ञापनों को अपने विज्ञापन अनुरोधों में जोड़ा जा सकता है.

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

  • Google Mobile Ads SDK का 7.20.0 या इसके बाद का वर्शन
  • शुरू करें गाइड को पूरा करें

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

कस्टम रूप से रेंडर किए गए नेटिव विज्ञापन, GADAdLoader ऑब्जेक्ट से लोड होते हैं. GADAdLoader ऑब्जेक्ट को ऐसे विज्ञापन अनुरोध करने के लिए भी कॉन्फ़िगर किया जा सकता है जो बैनर या नेटिव विज्ञापन में बदल सकते हैं. adTypes के कलेक्शन पैरामीटर में GADAdLoaderAdTypeGAMBanner और GADAdLoader ऑब्जेक्ट बनाते समय, GADAdLoaderAdTypeNative जैसे नेटिव विज्ञापन के टाइप जोड़ने से यह पता चलता है कि अनुरोध पूरा करने के लिए, बैनर विज्ञापनों को नेटिव विज्ञापनों से मुकाबला करना चाहिए.

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/nativeandbanner",
    rootViewController: self,
    adTypes: [.native, .gamBanner],
    options: [... ad loader options objects ...])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

GAMBannerAdLoaderDelegate

GADAdLoader से बैनर विज्ञापनों का अनुरोध करते समय, विज्ञापन लोड करने वाले प्रतिनिधि को GAMBannerAdLoaderDelegate प्रोटोकॉल का पालन करना होगा. इस प्रोटोकॉल में एक मैसेज शामिल है, जो बैनर विज्ञापन लोड होने पर भेजा जाता है:

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didReceive GAMBannerView: GAMBannerView)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;

विज्ञापन लोड करने वाले प्रतिनिधि को यह भी बताना होगा कि कौनसे बैनर विज्ञापन साइज़ का अनुरोध किया जाना चाहिए. इसके लिए, जैसा कि नीचे दिखाया गया है, validBannerSizesForAdLoader मैसेज का जवाब दें.

Swift

public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] {
  return [NSValueFromGADAdSize(GADAdSizeBanner),
    NSValueFromGADAdSize(GADAdSizeMediumRectangle),
    NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))]
}

Objective-C

- (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader {
  return @[
    @(GADAdSizeBanner),
    @(GADAdSizeMediumRectangle),
    @(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
  ];
}

मैन्युअल इंप्रेशन गणना

GADAdLoader की मदद से लोड किए गए बैनर विज्ञापनों पर मैन्युअल इंप्रेशन की गिनती करने की सुविधा चालू करने के लिए, GADAdLoader शुरू करते समय GAMBannerViewOptions enableManualImpressions को YES पर सेट करें.

Swift

let bannerViewOptions = GAMBannerViewOptions()
bannerViewOptions.enableManualImpressions = true
adLoader = GADAdLoader(
  adUnitID: "/6499/example/nativeandbanner", rootViewController: self,
  adTypes: [.native, .gamBanner], options: [bannerViewOptions])

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/nativeandbanner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

अगर कोई बैनर विज्ञापन लोड होता है, तो recordManualImpression को कॉल करके पता लगाया जा सकता है कि विज्ञापन दिखाया जा चुका है और वह स्क्रीन पर दिख रहा है, ताकि मैन्युअल तरीके से इंप्रेशन ट्रिगर हो सके:

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];