पेज पर अचानक दिखने वाले विज्ञापन, फ़ुल-स्क्रीन वाले विज्ञापन होते हैं. ये किसी ऐप्लिकेशन के इंटरफ़ेस को तब तक कवर करते हैं, जब तक उपयोगकर्ता ने इसे बंद कर दिया है. वे आम तौर पर प्राकृतिक ट्रांज़िशन पॉइंट पर दिखाए जाते हैं, जिनमें ऐप्लिकेशन के फ़्लो की जानकारी. जैसे, गतिविधियों के बीच में या बीच में रुकने के दौरान लेवल दिए जाते हैं. जब कोई ऐप्लिकेशन, पेज पर अचानक दिखने वाला विज्ञापन दिखाता है, तो उपयोगकर्ता के पास विज्ञापन पर टैप करके डेस्टिनेशन पर जाना जारी रखें या उसे बंद करके वापस आएं किस ऐप्लिकेशन को मिलेगा. केस स्टडी.
इस गाइड में, iOS ऐप्लिकेशन में पेज पर अचानक दिखने वाले विज्ञापनों को इंटिग्रेट करने का तरीका बताया गया है.
ज़रूरी शर्तें
- Google Mobile Ads SDK 8.0.0 या इसके बाद का वर्शन हो.
- शुरुआती निर्देश के बारे में पूरी जानकारी दें.
हमेशा टेस्ट विज्ञापनों से टेस्ट करें
अपने ऐप्लिकेशन बनाते और उनकी जांच करते समय पक्का करें कि आप विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करें लाइव, प्रोडक्शन के लिए विज्ञापन. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.
टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका, हमारे खास टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करना है
iOS पर अचानक दिखने वाले विज्ञापनों के लिए:
/21775744923/example/interstitial
इसे खास तौर पर, हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए कॉन्फ़िगर किया गया है. साथ ही, आपको इसे कोडिंग, टेस्ट, और डीबग करने के दौरान, ऐप्लिकेशन में बिना किसी शुल्क के इस्तेमाल किया जा सकता है. बस बनाओ पक्का करें कि आपने अपना ऐप्लिकेशन पब्लिश करने से पहले, इसे अपनी विज्ञापन यूनिट के आईडी से बदल दिया हो.
Mobile Ads SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए यहां देखें टेस्ट विज्ञापन.
लागू करना
पेज पर अचानक दिखने वाले विज्ञापनों को इंटिग्रेट करने का मुख्य तरीका ये है:
- विज्ञापन लोड करें.
- कॉलबैक के लिए रजिस्टर करें.
- विज्ञापन दिखाएं और इनाम वाले इवेंट को मैनेज करें.
विज्ञापन लोड करें
किसी विज्ञापन को लोड करने के लिए स्टैटिक
loadWithAdManagerAdUnitID:request:completionHandler:
तरीका
GAMInterstitialAd
क्लास. लोड करने के तरीके के लिए ज़रूरी है
आपका विज्ञापन यूनिट आईडी, GAMRequest
ऑब्जेक्ट, और
पूरा होने वाला हैंडलर, जिसे विज्ञापन लोड होने या विफल होने पर कॉल किया जाता है. कॉन्टेंट बनाने
लोड किया गया GAMInterstitialAd
ऑब्जेक्ट इस तौर पर दिया जाता है
पैरामीटर की ज़रूरत नहीं है. नीचे दिया उदाहरण दिखाता है कि
आपकी ViewController
क्लास में GAMInterstitialAd
.
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController {
private var interstitial: GAMInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GAMInterstitialAd.load(
withAdUnitID: "/21775744923/example/interstitial", request: GAMRequest())
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController ()
@property(nonatomic, strong) GAMInterstitialAd *interstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GAMRequest *request = [GAMRequest request];
[GAMInterstitialAd loadWithAdManagerAdUnitID:@"/21775744923/example/interstitial"
request:request
completionHandler:^(GAMInterstitialAd *ad, NSError *error) {
if (error) {
NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
return;
}
self.interstitial = ad;
}];
}
कॉलबैक के लिए रजिस्टर करें
प्रज़ेंटेशन इवेंट की सूचनाएं पाने के लिए, आपको ये चीज़ें लागू करनी होंगी
GADFullScreenContentDelegate
प्रोटोकॉल से कनेक्ट करने और उसे
दिखाए गए विज्ञापन की fullScreenContentDelegate
प्रॉपर्टी. कॉन्टेंट बनाने
GADFullScreenContentDelegate
प्रोटोकॉल, विज्ञापन ट्रिगर होने के समय कॉलबैक मैनेज करता है
सबमिट नहीं किया जा सकता या अस्वीकार कर दिया जाता है. नीचे दिए गए
कोड में प्रोटोकॉल लागू करने और उसे विज्ञापन को असाइन करने का तरीका बताया गया है:
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController, GADFullScreenContentDelegate {
private var interstitial: GAMInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GAMInterstitialAd.load(
withAdUnitID: "/21775744923/example/interstitial", request: GAMRequest())
interstitial?.fullScreenContentDelegate = self
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
/// 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
@import GoogleMobileAds;
@import UIKit;
@interface ViewController () <GADFullScreenContentDelegate>
@property(nonatomic, strong) GAMInterstitialAd *interstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GAMRequest *request = [GAMRequest request];
[GAMInterstitialAd loadWithAdManagerAdUnitID:@"/21775744923/example/interstitial"
request:request
completionHandler:^(GAMInterstitialAd *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.");
}
GAMInterstitialAd
एक बार इस्तेमाल किया जाने वाला ऑब्जेक्ट है. यह
इसका मतलब है कि पेज पर अचानक दिखने वाले विज्ञापन को एक बार दिखाने के बाद, उसे दोबारा नहीं दिखाया जा सकता. सबसे अच्छा
में एक अन्य मध्यवर्ती विज्ञापन लोड करना होता है,
GADFullScreenContentDelegate
पर adDidDismissFullScreenContent:
तरीका
कि पेज पर अचानक दिखने वाला अगला विज्ञापन, जैसे ही पिछला विज्ञापन लोड होना शुरू हो जाएगा
खारिज किया गया.
विज्ञापन दिखाएं
अचानक दिखने वाले विज्ञापन, ऐप्लिकेशन के चलने के दौरान आम तौर पर कुछ समय के लिए दिखने चाहिए.
किसी गेम के अलग-अलग लेवल के बीच में विज्ञापन दिखाना अच्छा उदाहरण है. इसके अलावा, उपयोगकर्ता के किसी टास्क को पूरा करने के बाद भी ऐसा हो सकता है.
यहां एक उदाहरण के ज़रिए बताया गया है कि
UIViewController
:
Swift
guard let interstitial = interstitial else {
return print("Ad wasn't ready.")
}
// The UIViewController parameter is an optional.
interstitial.present(fromRootViewController: nil)
Objective-C
if (self.interstitial) {
// The UIViewController parameter is nullable.
[self.interstitial presentFromRootViewController:nil];
} else {
NSLog(@"Ad wasn't ready");
}
सबसे सही तरीके
- यह सोचें कि पेज पर अचानक दिखने वाले विज्ञापन, आपके ऐप्लिकेशन के लिए सही तरह के विज्ञापन हैं या नहीं.
- अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापन, नैचुरल ट्रांज़िशन पॉइंट वाले ऐप्लिकेशन में सबसे अच्छी तरह काम करते हैं. ऐप्लिकेशन में किसी टास्क का पूरा होना, जैसे कि इमेज शेयर करना या पूरा करना गेम लेवल पर ऐसा पॉइंट बनता है. ऐसा इसलिए, क्योंकि उपयोगकर्ता को नहीं तो उन्हें बाधित किए बिना इंटरस्टीशियल विज्ञापन को अनुभव. पक्का करें कि आप अपने ऐप्लिकेशन के वर्कफ़्लो में उन बिंदुओं पर इंटरस्टीशियल विज्ञापन (पेज पर अचानक दिखने वाले विज्ञापन) दिखाती हैं और यह भी बताती हैं कि उपयोगकर्ता उनकी प्रतिक्रिया कैसे देगा.
- पेज पर अचानक दिखने वाला विज्ञापन दिखाते समय, कार्रवाई को रोकना न भूलें.
- अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापन कई तरह के होते हैं: टेक्स्ट, इमेज,
वीडियो वगैरह. यह पक्का करना ज़रूरी है कि जब आपका ऐप्लिकेशन
पेज पर अचानक दिखने वाले विज्ञापन के अलावा, यह कुछ संसाधनों का इस्तेमाल भी निलंबित कर देता है, ताकि विज्ञापन
तो उनकी मदद की जा सकती है. उदाहरण के लिए, जब आप
पेज पर अचानक दिखने वाले विज्ञापन के लिए, अपने ऐप्लिकेशन से हो रहे किसी भी ऑडियो आउटपुट को रोकना न भूलें.
आवाज़ों को फिर से शुरू करने के लिए, यहां जाएं:
adDidDismissFullScreenContent:
इवेंट हैंडलर, जिसे उपयोगकर्ता के इंटरैक्ट करने के बाद शुरू किया जाएगा के साथ विज्ञापन करें. इसके अलावा, ज़्यादा कंप्यूटेशन (हिसाब लगाना) को कुछ समय के लिए रोक दें टास्क (जैसे कि गेम लूप) का इस्तेमाल, विज्ञापन दिखाने के दौरान किया जा सकता है. इससे पक्का होगा कि ऐप्लिकेशन इस्तेमाल करने वाले व्यक्ति को धीमे या खराब ग्राफ़िक या ठीक से काम न करने की समस्या का सामना न करना पड़े वीडियो. - कॉन्टेंट लोड होने में लगने वाला समय तय करें.
- यह पक्का करना भी ज़रूरी है कि आप सही समय पर, यह पक्का करना भी ज़रूरी है कि उपयोगकर्ता को उनके लोड होने तक इंतज़ार करें. विज्ञापन दिखाने से पहले, उसे पहले से लोड करना यह पक्का कर सकता है कि आपके ऐप्लिकेशन में पूरी तरह लोड किया गया इंटरस्टीशियल विज्ञापन (अचानक दिखने वाला विज्ञापन) तो यह आइकॉन दिखाने का समय आ गया है.
- उपयोगकर्ताओं को विज्ञापन न दिखाएं.
- आपके ऐप्लिकेशन में, अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापनों की फ़्रीक्वेंसी बढ़ाई जा सकती है यह आय बढ़ाने का बेहतरीन तरीका है. साथ ही, इससे उपयोगकर्ता अनुभव में भी गिरावट आ सकती है और कम क्लिक मिलने की दर (सीटीआर) शामिल है. पक्का करें कि लोगों को बार-बार साथ ही, इस वजह से वे आपके ऐप्लिकेशन का इस्तेमाल नहीं कर पाएंगे.
- पेज पर अचानक दिखने वाले विज्ञापन को दिखाने के लिए, लोड होने की स्थिति के कॉलबैक का इस्तेमाल न करें.
- इससे उपयोगकर्ताओं का अनुभव खराब हो सकता है. इसके बजाय, विज्ञापन दिखाने से पहले
को दिखाना पड़ता है. इसके बाद,
canPresentFromRootViewController:error:
तरीका देखेंGAMInterstitialAd
पर जाकर देखा कि क्या यह कारोबार दिखाए गए.
GitHub पर उदाहरण
अगले चरण
- विज्ञापन टारगेटिंग (विज्ञापन के लिए सही दर्शक चुनना) और पेज पर अचानक दिखने वाले विज्ञापन से जुड़े दिशा-निर्देश.
- उपयोगकर्ता की निजता के बारे में ज़्यादा जानें.