पेज पर अचानक दिखने वाले विज्ञापन, फ़ुल-स्क्रीन वाले विज्ञापन होते हैं. ऐसे विज्ञापन तब तक ऐप्लिकेशन के इंटरफ़ेस को कवर करते हैं, जब तक उपयोगकर्ता उसे बंद नहीं कर देता. इन्हें आम तौर पर ऐप्लिकेशन के फ़्लो में मौजूद नैचुरल ट्रांज़िशन पॉइंट पर दिखाया जाता है, जैसे कि अलग-अलग गतिविधियां करना या गेम में लेवल के बीच में रुकना. जब कोई ऐप्लिकेशन पेज पर अचानक दिखने वाले विज्ञापन दिखाता है, तो उपयोगकर्ता के पास विज्ञापन पर टैप करने और अपने डेस्टिनेशन पर पहुंचने या उसे बंद करने और ऐप्लिकेशन पर वापस लौटने का विकल्प होता है. केस स्टडी.
इस गाइड में, इंटरस्टीशियल विज्ञापनों को iOS ऐप्लिकेशन में इंटिग्रेट करने का तरीका बताया गया है.
ज़रूरी शर्तें
- Google मोबाइल विज्ञापन SDK 8.0.0 या इसके बाद के वर्शन.
- शुरुआती निर्देश पूरी करें.
हमेशा टेस्ट विज्ञापनों की मदद से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप लाइव और प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करते हों. ऐसा नहीं करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका, iOS इंटरस्टीशियल विज्ञापनों के लिए, हमारे तय किए गए टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/4411468910
इसे हर अनुरोध के लिए, टेस्ट विज्ञापनों को लौटाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. साथ ही, आप कोडिंग, टेस्टिंग, और डीबग करने के दौरान अपने ऐप्लिकेशन में इसका इस्तेमाल कर सकते हैं. अपना ऐप्लिकेशन प्रकाशित करने से पहले आपको इसे अपने विज्ञापन यूनिट आईडी से बदलना होगा.
मोबाइल विज्ञापन SDK टूल के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए टेस्ट विज्ञापन देखें.
लागू करना
पेज पर अचानक दिखने वाले विज्ञापनों को इंटिग्रेट करने के मुख्य चरण हैं:
- कोई विज्ञापन लोड करें.
- कॉलबैक के लिए रजिस्टर करें.
- विज्ञापन दिखाएं और इनाम वाले इवेंट को मैनेज करें.
विज्ञापन लोड करना
विज्ञापन को लोड करने के लिए,
GADInterstitialAd
क्लास में स्टैटिक
loadWithAdUnitID:request:completionHandler:
तरीके का इस्तेमाल किया जाता है. लोड करने के तरीके में, आपके विज्ञापन यूनिट का आईडी, GADRequest
ऑब्जेक्ट, और पूरा होने का हैंडलर ज़रूरी होता है. विज्ञापन लोड होने की प्रोसेस पूरी होने या न होने पर, उसे कॉल किया जाता है. लोड
होने वाले GADInterstitialAd
ऑब्जेक्ट को
पूरा करने वाले हैंडलर में पैरामीटर के तौर पर दिया गया है. नीचे दिए गए उदाहरण में, ViewController
क्लास में GADInterstitialAd
लोड करने का तरीका बताया गया है.
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController { private var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-3940256099942544/4411468910", request: request, completionHandler: { [self] ad, error in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } interstitial = ad } ) } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController () @property(nonatomic, strong) GADInterstitialAd *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]); return; } self.interstitial = ad; }]; }
कॉलबैक के लिए रजिस्टर करें
अगर आप प्रज़ेंटेशन इवेंट के लिए सूचनाएं पाना चाहते हैं, तो आपको GADFullScreenContentDelegate
प्रोटोकॉल लागू करना होगा. साथ ही, उसे, लौटाए गए विज्ञापन की fullScreenContentDelegate
प्रॉपर्टी के लिए असाइन करना होगा. GADFullScreenContentDelegate
प्रोटोकॉल, कॉलबैक को हैंडल करता है. यह तब होता है, जब विज्ञापन
चालू होता है या नाकाम होता है और इसे खारिज करने पर. नीचे दिए गए कोड में प्रोटोकॉल को लागू करने और उसे विज्ञापन में असाइन करने का तरीका बताया गया है:
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate { private var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-3940256099942544/4411468910", request: request, completionHandler: { [self] ad, error in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } interstitial = ad interstitial?.fullScreenContentDelegate = self } ) } /// Tells the delegate that the ad failed to present full screen content. func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Ad did fail to present full screen content.") } /// Tells the delegate that the ad will present full screen content. func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad will present full screen content.") } /// Tells the delegate that the ad dismissed full screen content. func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did dismiss full screen content.") } }
Objective-C
@interface ViewController ()<GADFullScreenContentDelegate> @property(nonatomic, strong) GADInterstitialAd *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]); return; } self.interstitial = ad; self.interstitial.fullScreenContentDelegate = self; }]; } /// Tells the delegate that the ad failed to present full screen content. - (void)ad:(nonnull id<GADFullScreenPresentingAd>)ad didFailToPresentFullScreenContentWithError:(nonnull NSError *)error { NSLog(@"Ad did fail to present full screen content."); } /// Tells the delegate that the ad will present full screen content. - (void)adWillPresentFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad { NSLog(@"Ad will present full screen content."); } /// Tells the delegate that the ad dismissed full screen content. - (void)adDidDismissFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad { NSLog(@"Ad did dismiss full screen content."); }
GADInterstitialAd
एक बार इस्तेमाल होने वाला ऑब्जेक्ट है. इसका मतलब
है कि एक बार पेज पर अचानक दिखने वाला विज्ञापन दिखने के बाद उसे फिर से नहीं दिखाया जा सकता. सबसे सही तरीका यह है कि GADFullScreenContentDelegate
पर adDidDismissFullScreenContent:
तरीके से कोई और पेज पर अचानक दिखने वाला विज्ञापन लोड करें, ताकि पिछला विज्ञापन खारिज होते ही अगला इंटरस्टीशियल विज्ञापन लोड होना शुरू हो जाए.
विज्ञापन दिखाएं
पेज पर अचानक दिखने वाले विज्ञापन, ऐप्लिकेशन के फ़्लो में नैचुरल रूप से रुक जाने के दौरान दिखने चाहिए.
गेम के लेवल के बीच का समय अच्छा है या जब उपयोगकर्ता टास्क पूरा कर लेता है.
UIViewController
में कार्रवाई के तरीकों में से किसी एक में ऐसा करने का तरीका यहां दिया गया है:
Swift
@IBAction func doSomething(_ sender: Any) { if interstitial != nil { interstitial.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (IBAction)doSomething:(id)sender { ... if (self.interstitial) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
सबसे सही तरीके
- इस बात पर विचार करें कि पेज पर अचानक दिखने वाले विज्ञापन, आपके ऐप्लिकेशन के लिए सही तरह के विज्ञापन हैं या नहीं.
- पेज पर अचानक दिखने वाले विज्ञापन, उन ऐप्लिकेशन में बेहतर तरीके से काम करते हैं जिनमें नैचुरल ट्रांज़िशन पॉइंट होते हैं. ऐप्लिकेशन में किसी इमेज के शेयर होने या गेम के किसी लेवल को पूरा करने जैसे काम के पूरा होने पर, यह पॉइंट बन जाता है. उपयोगकर्ता को उम्मीद है कि वह कार्रवाई में रुकावट डाल सकता है. इसलिए, पेज पर अचानक दिखने वाले विज्ञापन को, उनके अनुभव में रुकावट डाले बिना आसानी से दिखाया जा सकता है. पक्का करें कि आपको इस बात पर ध्यान देना चाहिए कि आपके ऐप्लिकेशन में कौनसे पॉइंट पर काम करने के वर्कफ़्लो (पेज पर अचानक दिखने वाले विज्ञापन) दिखेंगे और पेज पर अचानक दिखने वाले विज्ञापन दिखेंगे. साथ ही, यह भी ध्यान रखें कि उपयोगकर्ता को किस तरह के जवाब देने की संभावना है.
- पेज पर अचानक दिखने वाले विज्ञापन दिखाते समय, कार्रवाई को रोकना न भूलें.
- पेज पर अचानक दिखने वाले कई तरह के विज्ञापन होते हैं: टेक्स्ट, इमेज,
वीडियो वगैरह. यह पक्का करना ज़रूरी है कि जब आपका ऐप्लिकेशन पेज पर अचानक दिखने वाला विज्ञापन दिखाए, तो वह कुछ संसाधनों का इस्तेमाल भी रोक देता है, ताकि विज्ञापन उनका फ़ायदा ले सके. उदाहरण के लिए, पेज पर अचानक दिखने वाले विज्ञापन दिखाने के लिए
कॉल करते समय, पक्का करें कि आपके ऐप्लिकेशन से बनने वाले ऑडियो आउटपुट को रोक दिया गया हो.
adDidDismissFullScreenContent:
इवेंट हैंडलर में आवाज़ को फिर से शुरू किया जा सकता है. जब उपयोगकर्ता विज्ञापन से इंटरैक्ट कर लेगा, तो उसे शुरू कर दिया जाएगा. इसके अलावा, विज्ञापन दिखाते समय, कंप्यूटिंग से जुड़े ज़बरदस्त टास्क (जैसे कि गेम लूप) को कुछ समय के लिए रोकें. इससे यह पक्का हो जाएगा कि उपयोगकर्ता को धीमी या अनरिस्पॉन्सिव ग्राफ़िक या खराब वीडियो का अनुभव नहीं होगा. - कॉन्टेंट लोड होने में लगने वाला समय दें.
- जैसा कि यह पक्का करना ज़रूरी है कि आप सही समय पर पेज पर अचानक दिखने वाले विज्ञापन दिखाएं, यह भी पक्का करना ज़रूरी है कि उपयोगकर्ता को उनके लोड होने का इंतज़ार न करना पड़े. विज्ञापन दिखाने से पहले ही, विज्ञापन को लोड होने से पहले यह पक्का कर लिया जा सकता है कि आपके ऐप्लिकेशन में, पेज पर अचानक दिखने वाले विज्ञापन पूरी तरह से लोड हो जाएं.
- विज्ञापन से उपयोगकर्ता को न भरे जाएं.
- हालांकि, अपने ऐप्लिकेशन में पेज पर अचानक दिखने वाले विज्ञापनों की फ़्रीक्वेंसी को बढ़ाना, आय बढ़ाने का शानदार तरीका लग सकता है. हालांकि, इससे उपयोगकर्ता अनुभव और क्लिक मिलने की दर (सीटीआर) में कमी भी आ सकती है. पक्का करें कि उपयोगकर्ता अक्सर इतनी रुकावट न डालें कि वे आपके ऐप्लिकेशन का इस्तेमाल न कर पाएं.
- पेज पर अचानक दिखने वाले विज्ञापन को दिखाने के लिए, लोड पूरा होने के कॉलबैक का इस्तेमाल न करें.
- इससे उपयोगकर्ता का अनुभव खराब हो सकता है. इसके बजाय, विज्ञापन दिखाने से पहले
उसे लोड करें. फिर यह दिखाने के लिए कि क्या यह दिखाए जाने के लिए तैयार है,
GADInterstitialAd
परcanPresentFromRootViewController:error:
विधि की जांच करें.
अन्य संसाधन
GitHub पर उदाहरण
मोबाइल विज्ञापन गैराज वीडियो ट्यूटोरियल
सफलता की कहानियां
अगले चरण
- अगर आपके पास पहले से कोई #39 नहीं है, तो AdMob यूज़र इंटरफ़ेस (यूआई) में अपना खुद का पेज पर अचानक दिखने वाला विज्ञापन यूनिट बनाएं.
- विज्ञापन टारगेटिंग और पेज पर अचानक दिखने वाले विज्ञापन के दिशा-निर्देशों के बारे में जानें.