नेटिव विज्ञापन ऐसी विज्ञापन एसेट होती हैं जो उपयोगकर्ताओं को यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ज़रिए दिखती हैं. ये कॉम्पोनेंट नेटिव प्लैटफ़ॉर्म के लिए होते हैं. उन्हें उन कक्षाओं का इस्तेमाल करके दिखाया जाता है जिनका इस्तेमाल आप पहले से अपने स्टोरीबोर्ड में करते हैं. साथ ही, उन्हें आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन से मेल खाने के लिए फ़ॉर्मैट किया जा सकता है. जब कोई नेटिव विज्ञापन लोड होता है, तो आपके ऐप्लिकेशन को एक विज्ञापन ऑब्जेक्ट मिलता है, जिसमें उसके एसेट होते हैं. साथ ही, ऐप्लिकेशन (SDK टूल के बजाय) उन्हें दिखाने के लिए ज़िम्मेदार होता है. यह दूसरे विज्ञापन फ़ॉर्मैट से अलग है, जो विज्ञापन के दिखने के तरीके को पसंद के मुताबिक बनाने की अनुमति नहीं देता.
इस गाइड में iOS ऐप्लिकेशन में नेटिव विज्ञापन लागू करने के साथ-साथ, कुछ अहम चीज़ों के बारे में बताया गया है.
मोटे तौर पर, नेटिव विज्ञापनों को लागू करने के दो हिस्से होते हैं: SDK टूल से कोई विज्ञापन लोड करना और अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना. इस पेज में, SDK टूल का इस्तेमाल करके विज्ञापन लोड करने के बारे में बताया गया है.
अगर आप पहले से ही नेटिव विज्ञापनों को लोड कर रहे हैं और आपको उन्हें दिखाने का तरीका जानना है, तो बेझिझक हमारे नेटिव टेंप्लेट या नेटिव ऐडवांस्ड गाइड पर जाएं.
ज़रूरी शर्तें
- शुरुआती निर्देश पूरी करें.
हमेशा टेस्ट विज्ञापनों की मदद से टेस्ट करें
शुरू करने से पहले, याद रखें कि अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय, आपको यह पक्का कर लेना चाहिए कि आप लाइव प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल कर रहे हैं. प्रोडक्शन विज्ञापनों के साथ टेस्ट करने पर आपका खाता निलंबित हो सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि आप iOS पर सभी नेटिव बेहतर विज्ञापनों के लिए, हमारे टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करें:
ca-app-pub-3940256099942544/3986624511
इसे हर अनुरोध के लिए, टेस्ट विज्ञापनों को लौटाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. साथ ही, आप कोडिंग, टेस्टिंग, और डीबग करने के दौरान अपने ऐप्लिकेशन में इसका इस्तेमाल कर सकते हैं. अपना ऐप्लिकेशन प्रकाशित करने से पहले आपको इसे अपने विज्ञापन यूनिट आईडी से बदलना होगा.
मोबाइल विज्ञापन SDK टूल के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए टेस्ट विज्ञापन देखें.
विज्ञापन लोड हो रहे हैं
नेटिव विज्ञापन GADAdLoader
ऑब्जेक्ट से लोड किए जाते हैं, जो GADAdLoaderDelegate
प्रोटोकॉल के मुताबिक, अपने डेलिगेट को मैसेज भेजते हैं.
विज्ञापन लोड करने की प्रक्रिया शुरू करना
किसी विज्ञापन को लोड करने से पहले, आपको विज्ञापन लोड करने की प्रक्रिया शुरू करनी होगी.
इस कोड में GADAdLoader
को शुरू करने का तरीका बताया गया है:
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511", rootViewController: self, adTypes: [ .native ], options: [ ... ad loader options objects ... ]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
आपको एक विज्ञापन यूनिट आईडी की ज़रूरत होगी (आप टेस्ट आईडी का इस्तेमाल करके), कॉन्सटेंट को adTypes
श्रेणी में पास कर सकते हैं. इससे आप यह जान सकते हैं कि आप किस नेटिव फ़ॉर्मैट का अनुरोध करना चाहते हैं. साथ ही, options
पैरामीटर में कोई भी विकल्प सेट कर सकते हैं. options
पैरामीटर के लिए संभावित वैल्यू की सूची, नेटिव विज्ञापन के विकल्प की सेटिंग वाले पेज पर देखी जा सकती है.
adTypes
श्रेणी में
यह कॉन्सटेंटहोना चाहिए:
विज्ञापन लोड करने से जुड़े ऐक्सेस देने की सुविधा लागू करना
विज्ञापन लोड करने वाले व्यक्ति को, खास तौर पर आपके विज्ञापन के टाइप के लिए प्रोटोकॉल लागू करने होंगे. नेटिव विज्ञापनों के लिए:
-
GADNativeAdLoaderDelegate
इस प्रोटोकॉल में एक मैसेज है जो किसी नेटिव विज्ञापन के लोड होने पर डेलिगेट को भेजा जाता है:Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd;
विज्ञापन का अनुरोध करें
जब आपका GADAdLoader
शुरू हो जाए, तब विज्ञापन के अनुरोध के लिए, उसके loadRequest:
तरीके पर कॉल करें:
Swift
adLoader.load(GADRequest())
Objective-C
[self.adLoader loadRequest:[GADRequest request]];
GADAdLoader
में loadRequest:
मेथड, बैनर और पेज पर अचानक दिखने वाले एलिमेंट के तौर पर वही GADRequest
ऑब्जेक्ट स्वीकार करता है. दूसरे ऑब्जेक्ट टाइप की तरह ही टारगेटिंग की जानकारी जोड़ने के लिए, अनुरोध ऑब्जेक्ट का इस्तेमाल किया जा सकता है.
विज्ञापनों का अनुरोध कब करें
नेटिव विज्ञापन दिखाने वाले ऐप्लिकेशन, मुफ़्त में दिखाने का अनुरोध पहले ही कर सकते हैं. कई मामलों में, यह सुझाया गया तरीका है. उदाहरण के लिए, अगर कोई ऐप्लिकेशन, नेटिव विज्ञापनों के साथ मिले आइटम की सूची दिखाता है, तो वह पूरी सूची के लिए नेटिव विज्ञापन लोड कर सकता है. यह जानते हुए कि कुछ व्यू सिर्फ़ उपयोगकर्ता के स्क्रोल करने के बाद दिखेंगे और कुछ बिल्कुल नहीं दिखेंगे.
हालांकि, प्रीफ़ेच विज्ञापन एक शानदार तकनीक है, लेकिन पुराने विज्ञापनों को दिखाए बिना ही उन्हें हमेशा के लिए नहीं रखना चाहिए. किसी भी ऐसे नेटिव विज्ञापन ऑब्जेक्ट को खारिज कर देना चाहिए जिसे एक घंटे से ज़्यादा समय तक नहीं दिखाया गया हो. साथ ही, उसे नए विज्ञापन अनुरोध के ज़रिए नए विज्ञापन से बदल देना चाहिए.
यह पता लगाया जा रहा है कि कॉन्टेंट लोड हो रहा है या नहीं
जब कोई ऐप्लिकेशन loadRequest:
पर कॉल करता है, तो उसे अनुरोध के नतीजे, कॉल के ज़रिए मिल सकते हैं:
GADAdLoaderDelegate
मेंadLoader:didFailToReceiveAdWithError:
GADNativeAdLoaderDelegate
मेंadLoader:didReceiveNativeAd:
किसी एक विज्ञापन के लिए अनुरोध करने पर, आपको उनमें से किसी एक तरीके से कॉल करना होगा.
एक से ज़्यादा विज्ञापनों को अनुरोध करने पर, ऊपर दिए गए तरीकों में से कम से कम एक कॉलबैक मिलेगा. हालांकि, अनुरोध किए गए विज्ञापनों की संख्या, तय सीमा से ज़्यादा नहीं होगी.
इसके अलावा, GADAdLoaderDelegate
, adLoaderDidFinishLoading
कॉलबैक की सुविधा भी देता है. इस डेलिगेट के तरीके से पता चलता है कि किसी विज्ञापन लोड करने वाले विज्ञापन ने,
विज्ञापन लोड होने की प्रक्रिया पूरी कर ली है. साथ ही, इस अनुरोध के लिए किसी भी दूसरे विज्ञापन या गड़बड़ी की रिपोर्ट नहीं की जाएगी. यहां एक उदाहरण दिया गया है
कि एक बार में कई नेटिव विज्ञापनों को लोड करते समय इसका इस्तेमाल कैसे करें:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate { var adLoader: GADAdLoader! override func viewDidLoad() { super.viewDidLoad() let multipleAdsOptions = GADMultipleAdsAdLoaderOptions() multipleAdsOptions.numberOfAds = 5 adLoader = GADAdLoader(adUnitID: YOUR_AD_UNIT_ID, rootViewController: self, adTypes: [.native], options: [multipleAdsOptions]) adLoader.delegate = self adLoader.load(GADRequest()) } func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd) { // A native ad has loaded, and can be displayed. } func adLoaderDidFinishLoading(_ adLoader: GADAdLoader) { // The adLoader has finished loading ads, and a new request can be sent. } }
Objective-C
@interface ViewController () <GADNativeAdLoaderDelegate, GADVideoControllerDelegate> @property(nonatomic, strong) GADAdLoader *adLoader; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADMultipleAdsAdLoaderOptions *multipleAdsOptions = [[GADMultipleAdsAdLoaderOptions alloc] init]; multipleAdsOptions.numberOfAds = 5; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:YOUR_AD_UNIT_ID rootViewController:self adTypes:@[GADAdLoaderAdTypeNative] options:@[multipleAdsOptions]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GADRequest request]]; } - (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd { // A native ad has loaded, and can be displayed. } - (void)adLoaderDidFinishLoading:(GADAdLoader *) adLoader { // The adLoader has finished loading ads, and a new request can be sent. } @end
ऐसे अनुरोध जो हैंडल नहीं हो पाए उन्हें मैनेज करना
ऊपर दिए गए प्रोटोकॉल, GADAdLoaderDelegate
प्रोटोकॉल को बढ़ाते हैं, जो विज्ञापनों के लोड न हो पाने पर भेजे जाने वाले
मैसेज के बारे में बताता है.
Swift
public func adLoader(_ adLoader: GADAdLoader, didFailToReceiveAdWithError error: NSError)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error;
नेटिव विज्ञापन के इवेंट की सूचना पाएं
नेटिव विज्ञापन इंटरैक्शन से जुड़े इवेंट के बारे में सूचना पाने के लिए, नेटिव विज्ञापन की डेलिगेट प्रॉपर्टी सेट करें:
Swift
nativeAd.delegate = self
Objective-C
nativeAd.delegate = self;
फिर, नीचे दिए गए प्रतिनिधि कॉल पाने के लिए
GADNativeAdDelegate
लागू करें:
Swift
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 application to become inactive and // open a new application. }
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 application to become inactive and // open a new application. }
अपना विज्ञापन दिखाएं
विज्ञापन लोड करने के बाद, सिर्फ़ इतना ही होता है कि आप उसे अपने उपयोगकर्ताओं को दिखाएं. इसका तरीका जानने के लिए, हमारी नेटिव ऐडवांस्ड गाइड पर जाएं.