नेटिव विज्ञापन, विज्ञापन की ऐसी ऐसेट होती हैं जो उपयोगकर्ताओं को यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ज़रिए दिखाई जाती हैं. ये कॉम्पोनेंट, प्लैटफ़ॉर्म के लिए नेटिव होते हैं. इन्हें उन क्लास का इस्तेमाल करके दिखाया जाता है जिनका इस्तेमाल, आपने स्टोरीबोर्ड में पहले से किया है. साथ ही, इन्हें आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन से मैच करने के लिए फ़ॉर्मैट किया जा सकता है.
जब कोई नेटिव विज्ञापन लोड होता है, तो आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है. इसमें विज्ञापन की ऐसेट शामिल होती हैं. इसके बाद, Google Mobile Ads SDK के बजाय ऐप्लिकेशन की ज़िम्मेदारी होती है कि वह उन्हें दिखाए.
नेटिव विज्ञापनों को सही तरीके से लागू करने के लिए, आम तौर पर दो चीज़ें ज़रूरी होती हैं: SDK टूल का इस्तेमाल करके विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना.
इस पेज पर, नेटिव विज्ञापन लोड करने के लिए, एसडीके टूल का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
आगे बढ़ने से पहले, Google Mobile Ads SDK सेट अप करें.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें.
टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, iOS पर नेटिव विज्ञापनों के लिए हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/3986624511
इसे खास तौर पर इस तरह कॉन्फ़िगर किया गया है कि हर अनुरोध के लिए टेस्ट विज्ञापन दिखाए जा सकें. इसलिए, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, इसका इस्तेमाल अपने ऐप्लिकेशन में किया जा सकता है. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट का आईडी से बदल लें.
Google Mobile Ads SDK टेस्ट विज्ञापनों के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापनों को चालू करना लेख पढ़ें.
विज्ञापन लोड करना
नेटिव विज्ञापन,
GADAdLoader
क्लास के साथ लोड होते हैं. ये विज्ञापन,
GADAdLoaderDelegate
प्रोटोकॉल के मुताबिक अपने डेलिगेट को मैसेज भेजते हैं.
विज्ञापन लोडर को शुरू करें
विज्ञापन लोड करने से पहले, आपको विज्ञापन लोडर को शुरू करना होगा.
यहां दिए गए कोड में, GADAdLoader को शुरू करने का तरीका बताया गया है:
Swift
nativeAdUnitID को अपनी विज्ञापन यूनिट के आईडी से बदलें.
Objective-C
kNativeAdUnitID की जगह अपना विज्ञापन यूनिट का आईडी डालें.
आपको एक विज्ञापन यूनिट आईडी (टेस्ट आईडी का इस्तेमाल किया जा सकता है) की ज़रूरत होगी. साथ ही, आपको adTypes कलेक्शन में पास करने के लिए कॉन्स्टेंट की ज़रूरत होगी, ताकि यह तय किया जा सके कि आपको किन नेटिव फ़ॉर्मैट का अनुरोध करना है. इसके अलावा, आपको options पैरामीटर में सेट किए जाने वाले विकल्पों की ज़रूरत होगी. options पैरामीटर के लिए संभावित वैल्यू की सूची, नेटिव विज्ञापन के विकल्प सेट करने वाले पेज पर देखी जा सकती है.
adTypes अरे में यह कॉन्स्टेंट होना चाहिए :
विज्ञापन लोडर डेलिगेट को लागू करना
विज्ञापन लोडर डेलिगेट को आपके विज्ञापन टाइप के हिसाब से प्रोटोकॉल लागू करने होंगे.
नेटिव विज्ञापनों के लिए, GADNativeAdLoaderDelegate प्रोटोकॉल में एक मैसेज शामिल होता है. यह मैसेज, नेटिव विज्ञापन लोड होने पर डेलिगेट को भेजा जाता है.
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self
// TODO: Display the native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self;
// TODO: Display the native ad.
}
विज्ञापन जोड़ने का अनुरोध करें
GADAdLoader शुरू होने के बाद, विज्ञापन का अनुरोध करने के लिए, इसके loadRequest: तरीके को कॉल करें:
Swift
adLoader.load(Request())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
GADAdLoader में मौजूद loadRequest: वाला तरीका, बैनर और इंटरस्टीशियल की तरह ही GADRequest ऑब्जेक्ट स्वीकार करता है. टारगेटिंग की जानकारी जोड़ने के लिए, अनुरोध ऑब्जेक्ट का इस्तेमाल किया जा सकता है. ठीक वैसे ही जैसे अन्य तरह के विज्ञापनों के लिए किया जाता है.
एक से ज़्यादा विज्ञापन लोड करना (ज़रूरी नहीं)
एक ही अनुरोध में कई विज्ञापन लोड करने के लिए, GADAdLoader को शुरू करते समय GADMultipleAdsAdLoaderOptions ऑब्जेक्ट सेट करें.
Swift
Objective-C
हर अनुरोध के लिए, ज़्यादा से ज़्यादा पांच विज्ञापन दिखाए जा सकते हैं. हालांकि, इस बात की कोई गारंटी नहीं है कि SDK टूल, अनुरोध किए गए विज्ञापनों की सटीक संख्या दिखाएगा.
Google Ads से मिले सभी विज्ञापन एक-दूसरे से अलग होंगे. हालांकि, आरक्षित इन्वेंट्री या तीसरे पक्ष के खरीदारों के विज्ञापन, यूनीक होने की गारंटी नहीं होती.
अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो GADMultipleAdsAdLoaderOptions क्लास का इस्तेमाल न करें. ऐसा इसलिए, क्योंकि मीडिएशन के लिए कॉन्फ़िगर किए गए विज्ञापन यूनिट आईडी के लिए, कई नेटिव विज्ञापनों के अनुरोध काम नहीं करते.
यह तय करना कि लोड होने की प्रोसेस कब पूरी हुई
कोई ऐप्लिकेशन loadRequest: को कॉल करने के बाद, इन कॉल का इस्तेमाल करके अनुरोध के नतीजे पा सकता है:
GADAdLoaderDelegateमेंadLoader:didFailToReceiveAdWithError:GADNativeAdLoaderDelegateमेंadLoader:didReceiveNativeAd:
एक विज्ञापन के अनुरोध के लिए, इनमें से किसी एक तरीके को एक बार कॉल किया जाएगा.
एक से ज़्यादा विज्ञापनों के लिए किए गए अनुरोध के जवाब में, ऊपर दिए गए तरीकों में से कम से कम एक को कॉल किया जाएगा. हालांकि, यह कॉल, अनुरोध किए गए विज्ञापनों की ज़्यादा से ज़्यादा संख्या से ज़्यादा नहीं होगा.
इसके अलावा, GADAdLoaderDelegate adLoaderDidFinishLoading कॉलबैक उपलब्ध कराता है. इस डेलिगेट तरीके से पता चलता है कि विज्ञापन लोड करने वाले टूल ने विज्ञापन लोड कर लिए हैं. साथ ही, अनुरोध के लिए कोई अन्य विज्ञापन या गड़बड़ी की शिकायत नहीं की जाएगी. एक बार में कई नेटिव विज्ञापन लोड करते समय, इसका इस्तेमाल करने का उदाहरण यहां दिया गया है:
Swift
func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
Objective-C
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
अनुरोध पूरे न होने पर कार्रवाई करना
ये प्रोटोकॉल, GADAdLoaderDelegate प्रोटोकॉल को एक्सटेंड करते हैं. यह प्रोटोकॉल, विज्ञापन लोड न होने पर भेजे जाने वाले मैसेज के बारे में बताता है.
Swift
func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
// The adLoader failed to receive an ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
// The adLoader failed to receive an ad.
}
नेटिव विज्ञापन इवेंट की सूचनाएं पाना
नेटिव विज्ञापन इंटरैक्शन से जुड़े इवेंट की सूचना पाने के लिए, नेटिव विज्ञापन की डेलिगेट प्रॉपर्टी सेट करें:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
इसके बाद, ये डेलिगेट कॉल पाने के लिए, GADNativeAdDelegate लागू करें:
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
Objective-C
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
सबसे सही तरीके
विज्ञापन लोड करते समय, इन नियमों का पालन करें.
सूची में नेटिव विज्ञापनों का इस्तेमाल करने वाले ऐप्लिकेशन को, विज्ञापनों की सूची को पहले से कैश मेमोरी में सेव करना चाहिए.
विज्ञापनों को प्रीकैश करते समय, अपनी कैश मेमोरी को मिटाएं और एक घंटे बाद फिर से लोड करें.
adLoaderDidFinishLoading:से पता चलता है कि पिछला अनुरोध लोड हो रहा है. इसलिए, जब तक यह लोड होना पूरा न हो जाए, तब तकGADAdLoaderपरloadRequest:को फिर से कॉल न करें.नेटिव विज्ञापन की कैश मेमोरी को सिर्फ़ ज़रूरत के मुताबिक सीमित करें. उदाहरण के लिए, प्रीकैश करते समय सिर्फ़ उन विज्ञापनों को कैश मेमोरी में सेव करें जो स्क्रीन पर तुरंत दिखते हैं. नेटिव विज्ञापनों के लिए ज़्यादा मेमोरी की ज़रूरत होती है. साथ ही, नेटिव विज्ञापनों को खत्म किए बिना उन्हें कैश मेमोरी में सेव करने से, मेमोरी का ज़्यादा इस्तेमाल होता है.
जब नेटिव विज्ञापनों का इस्तेमाल न किया जा रहा हो, तो उन्हें मिटा दें.
अपना विज्ञापन दिखाना
विज्ञापन लोड होने के बाद, आपको बस उसे अपने उपयोगकर्ताओं को दिखाना होगा. ज़्यादा जानकारी के लिए, नेटिव ऐडवांस मोबाइल विज्ञापन फ़ॉर्मैट या फ़ुल-स्क्रीन नेटिव विज्ञापन देखें.