अपने कोड में कुछ बदलाव करके, विज्ञापन अनुरोधों में नेटिव और बैनर विज्ञापनों को एक साथ इस्तेमाल किया जा सकता है.
ज़रूरी शर्तें
- Google Mobile Ads SDK का 7.20.0 या उसके बाद का वर्शन
- शुरुआती निर्देश वाली गाइड पढ़ें
विज्ञापन लोड हो रहा है
कस्टम रेंडर किए गए नेटिव विज्ञापन, 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];