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

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

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

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

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

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 को शुरू करते समय, GAMBannerViewOptions को enableManualImpressions के साथ YES पर सेट करें.

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];