नेटिव विज्ञापन, विज्ञापन ऐसेट होती हैं. इन्हें उपयोगकर्ताओं को, प्लैटफ़ॉर्म के नेटिव यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ज़रिए दिखाया जाता है. इन्हें उन क्लास का इस्तेमाल करके दिखाया जाता है जिनका इस्तेमाल आपने पहले से ही अपने स्टोरीबोर्ड में किया है. साथ ही, इन्हें आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन से मैच करने के लिए फ़ॉर्मैट किया जा सकता है.
जब कोई नेटिव विज्ञापन लोड होता है, तो आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है. इसमें उसकी एसेट होती हैं. इसके बाद, उन्हें दिखाने की ज़िम्मेदारी Google Mobile Ads SDK टूल के बजाय, ऐप्लिकेशन की होती है.
नेटिव विज्ञापनों को सही तरीके से लागू करने के लिए, दो काम करने होते हैं: SDK टूल का इस्तेमाल करके विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन कॉन्टेंट दिखाना.
इस पेज पर, नेटिव विज्ञापन लोड करने के लिए SDK टूल का इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
- शुरुआती निर्देशों की गाइड को पूरा करें.
हमेशा टेस्ट विज्ञापनों की मदद से जांच करना
अपने ऐप्लिकेशन बनाते और टेस्ट करते समय, लाइव और प्रोडक्शन विज्ञापनों के बजाय, टेस्ट विज्ञापनों का इस्तेमाल करें.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका, iOS पर नेटिव विज्ञापनों के लिए, हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
/21775744923/example/native
इसे खास तौर पर, हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, कोडिंग, टेस्टिंग, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल किया जा सकता है. बस पक्का करें कि ऐप्लिकेशन पब्लिश करने से पहले, आपने इसे अपने विज्ञापन यूनिट आईडी से बदल दिया हो.
Google Mobile Ads SDK के टेस्ट विज्ञापनों के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापन लेख पढ़ें.
विज्ञापन लोड करना
नेटिव विज्ञापन, GADAdLoader
क्लास के साथ लोड होते हैं. यह क्लास, GADAdLoaderDelegate
प्रोटोकॉल के हिसाब से अपने प्रतिनिधियों को मैसेज भेजती है.
सिस्टम के तय किए गए नेटिव फ़ॉर्मैट के अलावा, आपके पास अपने कस्टम नेटिव विज्ञापन फ़ॉर्मैट बनाने का विकल्प भी होता है. इनका इस्तेमाल, सीधे तौर पर बेचे जाने वाले नेटिव विज्ञापनों के लिए किया जा सकता है. कस्टम नेटिव विज्ञापन फ़ॉर्मैट की मदद से, अपने ऐप्लिकेशन में मनमुताबिक स्ट्रक्चर्ड डेटा पास किया जा सकता है. इन विज्ञापनों को GADCustomNativeAd
क्लास से दिखाया जाता है.
विज्ञापन लोडर को शुरू करना
विज्ञापन लोड करने से पहले, आपको विज्ञापन लोडर को शुरू करना होगा.
नीचे दिए गए कोड में, GADAdLoader
को शुरू करने का तरीका बताया गया है:
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"/21775744923/example/native"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;
आपको एक विज्ञापन यूनिट आईडी (टेस्ट आईडी का इस्तेमाल किया जा सकता है) और adTypes
कलेक्शन में पास करने के लिए कॉन्स्टेंट की ज़रूरत होगी. इससे यह तय किया जा सकेगा कि आपको किन नेटिव फ़ॉर्मैट का अनुरोध करना है. साथ ही, options
पैरामीटर में आपको जो भी विकल्प सेट करने हैं उन्हें भी तय किया जा सकेगा. options
पैरामीटर के लिए संभावित वैल्यू की सूची, नेटिव विज्ञापन के विकल्पों को सेट करने वाले पेज पर देखी जा सकती है.
adTypes
कलेक्शन में, इनमें से एक या उससे ज़्यादा कॉन्स्टेंट होने चाहिए
:
विज्ञापन लोडर डेलिगेट लागू करना
विज्ञापन लोडर को आपके विज्ञापन टाइप के हिसाब से प्रोटोकॉल लागू करने होंगे.
नेटिव विज्ञापनों के लिए, GADNativeAdLoaderDelegate
प्रोटोकॉल में एक मैसेज शामिल होता है. यह मैसेज, नेटिव विज्ञापन लोड होने पर, प्रतिनिधि को भेजा जाता है.
public func adLoader(_ adLoader: GADAdLoader,
didReceive nativeAd: GADNativeAd)
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveNativeAd:(GADNativeAd *)nativeAd;
GADCustomNativeAdLoaderDelegate
प्रोटोकॉल में एक मैसेज शामिल होता है. यह मैसेज, कस्टम टेंप्लेट विज्ञापन लोड होने पर, प्रतिनिधि को भेजा जाता है.
func adLoader(_ adLoader: GADAdLoader,
Receive customNativeAd: GADCustomNativeAd)
- (void)adLoader:(GADAdLoader *)adLoader
didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;
विज्ञापन जोड़ने का अनुरोध करें
GADAdLoader
को शुरू करने के बाद, विज्ञापन का अनुरोध करने के लिए, उसके loadRequest:
तरीके को कॉल करें:
adLoader.load(GAMRequest())
[self.adLoader loadRequest:[GAMRequest request]];
GADAdLoader
में मौजूद loadRequest:
तरीका, बैनर और इंटरस्टीशियल के तौर पर एक जैसे GAMRequest
ऑब्जेक्ट स्वीकार करता है. अनुरोध ऑब्जेक्ट का इस्तेमाल करके, टारगेटिंग की जानकारी जोड़ी जा सकती है. ठीक उसी तरह जैसे अन्य तरह के विज्ञापनों के लिए किया जाता है.
यह पता लगाना कि लोडिंग कब खत्म हुई
जब कोई ऐप्लिकेशन loadRequest:
को कॉल करता है, तो वह इन कॉल का इस्तेमाल करके अनुरोध के नतीजे पा सकता है:
GADAdLoaderDelegate
मेंadLoader:didFailToReceiveAdWithError:
GADNativeAdLoaderDelegate
मेंadLoader:didReceiveNativeAd:
किसी एक विज्ञापन के लिए अनुरोध करने पर, इनमें से किसी एक तरीके को एक बार कॉल किया जाएगा.
पूरा न हो पाने वाले अनुरोधों को मैनेज करना
ऊपर दिए गए प्रोटोकॉल, GADAdLoaderDelegate
प्रोटोकॉल को बढ़ाते हैं. इससे, विज्ञापन लोड न होने पर भेजे गए मैसेज के बारे में पता चलता है.
public func adLoader(_ adLoader: GADAdLoader,
didFailToReceiveAdWithError error: NSError)
- (void)adLoader:(GADAdLoader *)adLoader
didFailToReceiveAdWithError:(NSError *)error;
नेटिव विज्ञापन इवेंट की सूचना पाना
नेटिव विज्ञापन इंटरैक्शन से जुड़े इवेंट की सूचना पाने के लिए, नेटिव विज्ञापन की delegate प्रॉपर्टी सेट करें:
nativeAd.delegate = self
nativeAd.delegate = self;
इसके बाद, नीचे दिए गए कॉल पाने के लिए,
GADNativeAdDelegate
को लागू करें:
func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
- (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:
से मिलती है.नेटिव विज्ञापन को सिर्फ़ ज़रूरत के हिसाब से कैश मेमोरी में सेव करें. उदाहरण के लिए, पहले से कैश मेमोरी में सेव करने के दौरान, सिर्फ़ उन विज्ञापनों को कैश मेमोरी में सेव करें जो स्क्रीन पर तुरंत दिखते हैं. नेटिव विज्ञापनों के लिए ज़्यादा मेमोरी का इस्तेमाल होता है. साथ ही, नेटिव विज्ञापनों को मिटाए बिना उन्हें कैश मेमोरी में सेव करने पर, ज़्यादा मेमोरी का इस्तेमाल होता है.
इस्तेमाल में न होने पर नेटिव विज्ञापनों को मिटा दें.
आपका विज्ञापन दिखाना
विज्ञापन लोड करने के बाद, उसे अपने उपयोगकर्ताओं को दिखाना ही बाकी रह जाता है. इसके बारे में जानने के लिए, नेटिव ऐडवांस गाइड पर जाएं.