अपने कोड में कुछ बदलाव करके, विज्ञापन दिखाने के अनुरोधों में नेटिव और बैनर विज्ञापनों को एक साथ शामिल किया जा सकता है.
ज़रूरी शर्तें
- Google Mobile Ads SDK का वर्शन 7.20.0 या उससे नया वर्शन.
- सेट अप करना Google Mobile Ads SDK.
विज्ञापन लोड करना
कस्टम तरीके से रेंडर किए गए नेटिव विज्ञापन,
GADAdLoader
ऑब्जेक्ट के ज़रिए लोड किए जाते हैं. GADAdLoader ऑब्जेक्ट को, विज्ञापन दिखाने का अनुरोध करने के लिए भी कॉन्फ़िगर किया जा सकता है जिनसे बैनर या नेटिव विज्ञापन मिल सकता है.
GADAdLoaderAdTypeGAMBanner को adTypes कलेक्शन पैरामीटर में, नेटिव विज्ञापन के टाइप जैसे कि GADAdLoaderAdTypeNativeGADAdLoader के साथ जोड़ने से यह तय होता है कि अनुरोध को पूरा करने के लिए, बैनर विज्ञापनों को नेटिव विज्ञापनों के साथ कंपीट करना चाहिए.
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))) ]; }
डिवाइस की स्क्रीन के साइज़ से छोटा या उसके बराबर विज्ञापन साइज़ सेट करें.
iOS 26 और उसके बाद के वर्शन पर, स्क्रीन का ज़्यादा से ज़्यादा साइज़ तय करने के लिए,
UIWindowScene.effectiveGeometry.coordinateSpace
प्रॉपर्टी का इस्तेमाल करें. iOS 18 और उससे पहले के वर्शन पर, UIWindowScene.coordinateSpace
प्रॉपर्टी का इस्तेमाल करें.
साइज़ की पाबंदियों के बारे में ज़्यादा जानने के लिए,
Ad Manager में, विज्ञापन न दिखाने पर मिलने वाले इंप्रेशन की समस्या हल करना लेख पढ़ें.
इंप्रेशन की गिनती मैन्युअल तरीके से करना
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];