नेटिव विज्ञापन, ऐसे विज्ञापन ऐसेट होते हैं जिन्हें यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के ज़रिए दिखाया जाता है. प्लैटफ़ॉर्म के मूल रूप से मौजूद हैं. वे उन्हीं क्लास का इस्तेमाल करके दिखाए जा रहे हैं जिनका आप पहले से इस्तेमाल कर रहे हैं आपके स्टोरीबोर्ड का इस्तेमाल कर सकते हैं. साथ ही, इसे आपके ऐप्लिकेशन के विज़ुअल डिज़ाइन के हिसाब से फ़ॉर्मैट किया जा सकता है.
नेटिव विज्ञापन लोड होने पर, आपके ऐप्लिकेशन को एक ऐसा विज्ञापन ऑब्जेक्ट मिलता है जिसमें उसके एसेट होते हैं, इसलिए, Google Mobile Ads SDK के बजाय ऐप्लिकेशन का इस्तेमाल जो उन्हें दिखाने की पूरी ज़िम्मेदारी लेते हैं.
मोटे तौर पर, नेटिव विज्ञापनों को सही तरीके से लागू करने के दो हिस्से हैं: SDK टूल का इस्तेमाल करके कोई विज्ञापन लोड करना और फिर अपने ऐप्लिकेशन में विज्ञापन का कॉन्टेंट दिखाना.
इस पेज पर, SDK टूल को लोड करने का तरीका बताया गया है नेटिव विज्ञापन.
ज़रूरी शर्तें
- शुरुआती निर्देश के बारे में पूरी जानकारी दें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें लाइव, प्रोडक्शन विज्ञापन.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका यह है कि आप iOS पर नेटिव विज्ञापन:
ca-app-pub-3940256099942544/3986624511
इसे खास तौर पर कॉन्फ़िगर किया गया है, ताकि हर अनुरोध के आधार पर टेस्ट विज्ञापन दिखाए जा सकें. साथ ही, आपको कोडिंग, टेस्ट, और डीबग करने के दौरान, अपने ऐप्लिकेशन में इसका इस्तेमाल करें. बस यह पक्का करें कि अपना ऐप्लिकेशन पब्लिश करने से पहले, इसे अपने विज्ञापन यूनिट आईडी से बदलें.
Google Mobile Ads SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए यहां देखें विज्ञापनों की जांच करें.
विज्ञापन लोड करें
नेटिव विज्ञापनों में
GADAdLoader
क्लास होती है, जो उनके डेलिगेट को
GADAdLoaderDelegate
प्रोटोकॉल का इस्तेमाल करना चाहिए.
विज्ञापन लोड करने वाले टूल को शुरू करना
विज्ञापन लोड करने से पहले, आपको विज्ञापन लोड करने वाले टूल को शुरू करना होगा.
यह कोड, GADAdLoader
शुरू करने का तरीका बताता है:
Swift
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ ... ad loader options objects ... ])
adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
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]];
कॉन्टेंट बनाने
loadRequest:
में तरीका
GADAdLoader
इसे स्वीकार करता है
GADRequest
चीज़ों को बैनर और पेज पर अचानक दिखने वाले एलिमेंट के तौर पर पेश कर सकती हैं. अनुरोध वाले ऑब्जेक्ट में जोड़ने के लिए,
टारगेटिंग (विज्ञापन के लिए सही दर्शक चुनना) जानकारी.
अन्य विज्ञापन टाइप के साथ काम करता है.
कई विज्ञापन लोड करें (ज़रूरी नहीं)
एक ही अनुरोध में कई विज्ञापन लोड करने के लिए,
GADMultipleAdsAdLoaderOptions
GADAdLoader
को शुरू करते समय ऑब्जेक्ट होगा.
Swift
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: self,
adTypes: [ .native ],
options: [ multipleAdOptions ])
Objective-C
GADMultipleAdsAdLoaderOptions *multipleAdsOptions =
[[GADMultipleAdsAdLoaderOptions alloc] init];
multipleAdsOptions.numberOfAds = 5;
self.adLoader = [[GADAdLoader alloc]
initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
adTypes:@[ GADAdLoaderAdTypeNative ]
options:@[ multipleAdsOptions ]];
प्रति अनुरोध विज्ञापनों की संख्या पांच है और इसकी गारंटी नहीं है कि SDK टूल, अनुरोध किए गए विज्ञापनों की सटीक संख्या दिखाएगा.
लौटाए गए सभी Google विज्ञापन एक-दूसरे से अलग होंगे, हालांकि रिज़र्व इन्वेंट्री या तीसरे पक्ष के खरीदारों के यूनीक होने की कोई गारंटी नहीं है.
अगर मीडिएशन का इस्तेमाल किया जा रहा है, तो GADMultipleAdsAdLoaderOptions
क्लास का इस्तेमाल न करें,
कई नेटिव विज्ञापनों के अनुरोध फ़िलहाल उन विज्ञापन यूनिट आईडी के लिए काम नहीं करते
मीडिएशन के लिए कॉन्फ़िगर किया गया है.
लोड होने का समय तय किया जा रहा है
कोई ऐप्लिकेशन loadRequest:
को कॉल करने के बाद, इसका इस्तेमाल करके अनुरोध के नतीजे पा सकता है
इस पर कॉल करता है:
adLoader:didFailToReceiveAdWithError:
GADAdLoaderDelegate
मेंadLoader:didReceiveNativeAd:
GADNativeAdLoaderDelegate
में
किसी एक विज्ञापन के लिए अनुरोध करने पर, उनमें से किसी एक तरीके को एक कॉल किया जाएगा.
कई विज्ञापनों के लिए अनुरोध करने पर, ऊपर दिए गए विकल्प को कम से कम एक कॉलबैक मिलेगा तरीकों का इस्तेमाल किया जा सकता है, लेकिन अनुरोध किए गए विज्ञापनों की ज़्यादा से ज़्यादा संख्या से ज़्यादा नहीं होना चाहिए.
इसके अलावा, GADAdLoaderDelegate
adLoaderDidFinishLoading
की पेशकश करता है
कॉलबैक. डेलिगेट के इस तरीके से पता चलता है कि विज्ञापन लोड करने वाले ने लोड होने की प्रोसेस पूरी कर ली है
विज्ञापन हैं और अनुरोध के लिए किसी अन्य विज्ञापन या गड़बड़ी की रिपोर्ट नहीं की जाएगी. यह रही
एक बार में कई नेटिव विज्ञापन लोड करते समय, इसके इस्तेमाल का तरीका बताया गया है:
Swift
class ViewController: UIViewController, GADNativeAdLoaderDelegate {
var adLoader: GADAdLoader!
override func viewDidLoad() {
super.viewDidLoad()
let multipleAdOptions = GADMultipleAdsAdLoaderOptions()
multipleAdOptions.numberOfAds = 5;
adLoader = GADAdLoader(adUnitID: "ca-app-pub-3940256099942544/3986624511",
// The UIViewController parameter is optional.
rootViewController: rootViewController,
adTypes: [ .native ],
options: [ multipleAdOptions ])
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:@"ca-app-pub-3940256099942544/3986624511"
// The UIViewController parameter is nullable.
rootViewController:rootViewController
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 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.
}
सबसे सही तरीके
विज्ञापनों को लोड करते समय इन नियमों का पालन करें.
सूची में मौजूद नेटिव विज्ञापनों का इस्तेमाल करने वाले ऐप्लिकेशन को, विज्ञापनों की सूची को पहले से कैश मेमोरी में सेव करना चाहिए.
विज्ञापनों को पहले से कैश मेमोरी में सेव करें. इसके बाद, कैश मेमोरी में सेव डेटा मिटाएं और इसे एक घंटे बाद फिर से लोड करें.
पिछले अनुरोध तक,
loadRequest:
कोGADAdLoader
पर दोबारा कॉल न करें जैसा किadLoaderDidFinishLoading:
में बताया गया है, लोड हो जाएगा.
अपना विज्ञापन दिखाएं
एक बार कोई विज्ञापन लोड करने के बाद, बस उसे अपने उपयोगकर्ताओं को दिखाने का काम ही रह जाता है. हमारे नेटिव एडवांस्ड विज्ञापन पर जाएं गाइड पढ़ें.