नेटिव विज्ञापन, विज्ञापन ऐसेट होते हैं जो उपयोगकर्ताओं को ऐसे यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट का इस्तेमाल करके दिखाए जाते हैं जो प्लैटफ़ॉर्म के लिए नेटिव होते हैं. इन्हें उन क्लास का इस्तेमाल करके दिखाया जाता है जिनका इस्तेमाल, आपने स्टोरीबोर्ड में पहले से किया है. साथ ही, इन्हें अपने ऐप्लिकेशन के विज़ुअल डिज़ाइन के हिसाब से फ़ॉर्मैट किया जा सकता है.
नेटिव विज्ञापन लोड होने पर, आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है. इसमें उसकी ऐसेट शामिल होती हैं, और उन्हें दिखाने की ज़िम्मेदारी Google Mobile Ads SDK के बजाय, ऐप्लिकेशन की होती है.
नेटिव विज्ञापनों को सफलतापूर्वक लागू करने के लिए, आम तौर पर दो काम करने होते हैं: SDK का इस्तेमाल करके विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना.
इस पेज पर, SDK का इस्तेमाल करके नेटिव विज्ञापन लोड करने का तरीका बताया गया है.
ज़रूरी शर्तें
आगे बढ़ने से पहले, सेट अप करें Google Mobile Ads SDK.
हमेशा टेस्ट विज्ञापनों का इस्तेमाल करके टेस्ट करना
अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें.
iOS पर नेटिव विज्ञापनों के लिए, टेस्ट विज्ञापन लोड करने का सबसे आसान तरीका, हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
/21775744923/example/native
इसे खास तौर पर इस तरह कॉन्फ़िगर किया गया है कि हर अनुरोध के लिए टेस्ट विज्ञापन दिखाए जा सकें. कोडिंग, टेस्टिंग, और डीबग करने के दौरान, इसका इस्तेमाल अपने ऐप्लिकेशन में किया जा सकता है. हालांकि, ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट आईडी से बदल लें.
Google Mobile Ads SDK टेस्ट विज्ञापनों के बारे में ज़्यादा जानकारी के लिए, टेस्ट विज्ञापन चालू करना लेख पढ़ें.
विज्ञापन लोड करना
नेटिव विज्ञापन,
GADAdLoader
क्लास की मदद से लोड किए जाते हैं. यह क्लास,
GADAdLoaderDelegate
प्रोटोकॉल के मुताबिक, अपने प्रतिनिधियों को मैसेज भेजती है.
सिस्टम की ओर से तय किए गए नेटिव फ़ॉर्मैट के अलावा, अपने पसंद के मुताबिक नेटिव विज्ञापन फ़ॉर्मैट भी बनाए जा सकते हैं. इनका इस्तेमाल, सीधे बिक्री किए गए नेटिव विज्ञापनों के लिए किया जा सकता है. पसंद के मुताबिक नेटिव विज्ञापन फ़ॉर्मैट की मदद से, अपने ऐप्लिकेशन को स्ट्रक्चर्ड डेटा भेजा जा सकता है. इन विज्ञापनों को GADCustomNativeAd क्लास से दिखाया जाता है.
विज्ञापन लोडर को शुरू करना
विज्ञापन लोड करने से पहले, आपको विज्ञापन लोडर को शुरू करना होगा.
यहां दिए गए कोड से पता चलता है कि 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.
}
GADCustomNativeAdLoaderDelegate प्रोटोकॉल में एक मैसेज शामिल होता है. यह मैसेज, पसंद के मुताबिक टेंप्लेट वाला विज्ञापन लोड होने पर प्रतिनिधि को भेजा जाता है.
Swift
func adLoader(_ adLoader: AdLoader, didReceive customNativeAd: CustomNativeAd) {
// To be notified of events related to the custom native ad interactions, set the delegate
// property of the native ad
customNativeAd.delegate = self
// TODO: Display the custom native ad.
}
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *)customNativeAd {
// To be notified of events related to the custom native ad interactions, set the delegate
// property of the native ad
customNativeAd.delegate = self;
// TODO: Display the custom native ad.
}
विज्ञापन जोड़ने का अनुरोध करना
GADAdLoader के शुरू होने के बाद, विज्ञापन का अनुरोध करने के लिए, इसके loadRequest: तरीके को कॉल करें:
Swift
adLoader.load(AdManagerRequest())
Objective-C
[self.adLoader loadRequest:[GAMRequest request]];
The
loadRequest:
तरीका, बैनर और इंटरस्टीशियल के लिए इस्तेमाल किए जाने वाले
GADAdLoader
में मौजूद
GAMRequest
ऑब्जेक्ट को स्वीकार करता है. अनुरोध ऑब्जेक्ट का इस्तेमाल करके, टारगेटिंग की जानकारी जोड़ी
जा सकती है. ठीक उसी तरह जैसे अन्य विज्ञापन टाइप के साथ किया जाता है.
एक से ज़्यादा विज्ञापन लोड करना (ज़रूरी नहीं)
एक ही अनुरोध में एक से ज़्यादा विज्ञापन लोड करने के लिए, GADMultipleAdsAdLoaderOptions
ऑब्जेक्ट सेट करें जब GADAdLoader को शुरू किया जा रहा हो.
Swift
Objective-C
हर अनुरोध के लिए, ज़्यादा से ज़्यादा पांच विज्ञापन लोड किए जा सकते हैं. हालांकि, इसकी कोई गारंटी नहीं है कि SDK, अनुरोध किए गए विज्ञापनों की सटीक संख्या लौटाएगा.
Google के दिखाए गए सभी विज्ञापन एक-दूसरे से अलग होंगे. हालांकि, रिज़र्व इन्वेंट्री या तीसरे पक्ष के खरीदारों के विज्ञापनों के यूनीक होने की कोई गारंटी नहीं है.
अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो GADMultipleAdsAdLoaderOptions क्लास का इस्तेमाल न करें. ऐसा इसलिए, क्योंकि मीडिएशन के लिए कॉन्फ़िगर किए गए विज्ञापन यूनिट आईडी के लिए, एक से ज़्यादा नेटिव विज्ञापनों के अनुरोध काम नहीं करते.
यह तय करना कि लोड होने की प्रोसेस कब पूरी हुई
किसी ऐप्लिकेशन के loadRequest: को कॉल करने के बाद, वह इन कॉल का इस्तेमाल करके अनुरोध के नतीजे पा सकता है:
adLoader:didFailToReceiveAdWithError:मेंGADAdLoaderDelegateadLoader:didReceiveNativeAd:मेंGADNativeAdLoaderDelegate
एक विज्ञापन के लिए किए गए अनुरोध से, इनमें से किसी एक तरीके के लिए एक कॉल जनरेट होगा.
एक से ज़्यादा विज्ञापनों के लिए किए गए अनुरोध से, ऊपर दिए गए तरीकों के लिए कम से कम एक कॉल बैक जनरेट होगा. हालांकि, अनुरोध किए गए विज्ञापनों की ज़्यादा से ज़्यादा संख्या से ज़्यादा कॉल बैक जनरेट नहीं होंगे.
इसके अलावा, 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.
}
सबसे सही तरीके
विज्ञापन लोड करते समय, इन नियमों का पालन करें.
सूची में नेटिव विज्ञापनों का इस्तेमाल करने वाले ऐप्लिकेशन को, विज्ञापनों की सूची को पहले से कैश मेमोरी में सेव करना चाहिए.
विज्ञापनों को पहले से कैश मेमोरी में सेव करते समय, एक घंटे बाद अपनी कैश मेमोरी मिटाएं और फिर से लोड करें.
GADAdLoaderपरloadRequest:को तब तक दोबारा कॉल न करें, जब तक पिछला अनुरोध लोड न हो जाए. इसकी जानकारी,adLoaderDidFinishLoading:से मिलती है.नेटिव विज्ञापन की कैशिंग को सिर्फ़ ज़रूरत के हिसाब से सीमित करें. उदाहरण के लिए, पहले से कैश मेमोरी में सेव करते समय, सिर्फ़ उन विज्ञापनों को कैश मेमोरी में सेव करें जो स्क्रीन पर तुरंत दिखते हैं. नेटिव विज्ञापनों के लिए ज़्यादा मेमोरी की ज़रूरत होती है. साथ ही, नेटिव विज्ञापनों को मिटाए बिना कैश मेमोरी में सेव करने से, ज़्यादा मेमोरी का इस्तेमाल होता है.
नेटिव विज्ञापनों का इस्तेमाल न होने पर, उन्हें मिटा दें.
अपना विज्ञापन दिखाना
विज्ञापन लोड करने के बाद, आपको सिर्फ़ उसे अपने उपयोगकर्ताओं को दिखाना होता है. इसे दिखाने का तरीका जानने के लिए, हमारे नेटिव ऐडवांस गाइड पर जाएं.