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

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

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

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

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

Swift

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

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    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 को शुरू करते समय enableManualImpressions को YES पर सेट करके GAMBannerViewOptions सेट करें.

Swift

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

Objective-C

GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init];
bannerViewOptions.enableManualImpressions = YES;
self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/21775744923/example/native-and-banner"
    rootViewController:self
               adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ]
               options:@[ bannerViewOptions ]];

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

Swift

bannerView.recordImpression()

Objective-C

[self.bannerView recordImpression];