मध्यवर्ती विज्ञापन

पेज पर अचानक दिखने वाले विज्ञापन, फ़ुल-स्क्रीन वाले विज्ञापन होते हैं. ये, ऐप्लिकेशन के इंटरफ़ेस को तब तक कवर करते हैं, जब तक कि उपयोगकर्ता उसे बंद नहीं कर देता. इन्हें आम तौर पर किसी ऐप्लिकेशन के फ़्लो में सामान्य ट्रांज़िशन पॉइंट पर दिखाया जाता है. उदाहरण के लिए, ये गतिविधियों के बीच या गेम में लेवल के बीच रोकने के दौरान दिखते हैं. जब कोई ऐप्लिकेशन पेज पर अचानक दिखने वाला विज्ञापन दिखाता है, तो उपयोगकर्ता के पास विज्ञापन पर टैप करने और अपने डेस्टिनेशन पर जारी रखने या ऐप्लिकेशन को बंद करके वापस आने का विकल्प होता है. केस स्टडी.

इस गाइड में, iOS ऐप्लिकेशन में पेज पर अचानक दिखने वाले विज्ञापनों को जोड़ने का तरीका बताया गया है.

ज़रूरी शर्तें

हमेशा टेस्ट विज्ञापनों से टेस्ट करें

ऐप्लिकेशन बनाते और टेस्ट करते समय, पक्का करें कि आप लाइव विज्ञापनों और प्रोडक्शन विज्ञापनों के बजाय टेस्ट विज्ञापनों का इस्तेमाल करते हों. ऐसा न करने पर, आपका खाता निलंबित किया जा सकता है.

टेस्ट विज्ञापनों को लोड करने का सबसे आसान तरीका, iOS इंटरस्टीशियल विज्ञापनों के लिए, हमारे जांच वाले विज्ञापन यूनिट आईडी का इस्तेमाल करना है:
ca-app-pub-3940256099942544/4411468910

इसे हर अनुरोध के लिए टेस्ट विज्ञापन दिखाने के लिए खास तौर पर कॉन्फ़िगर किया गया है. साथ ही, आप कोडिंग, टेस्टिंग, और डीबग करते समय अपने ऐप्लिकेशन में इसका इस्तेमाल कर सकते हैं. अपना ऐप्लिकेशन पब्लिश करने से पहले, पक्का करें कि आप उसे अपनी विज्ञापन यूनिट के आईडी से बदल दें.

मोबाइल विज्ञापन SDK के टेस्ट विज्ञापन कैसे काम करते हैं, इस बारे में ज़्यादा जानकारी के लिए, टेस्ट विज्ञापन देखें.

लागू करना

पेज पर अचानक दिखने वाले विज्ञापनों को इंटिग्रेट करने के मुख्य चरण ये हैं:

  1. विज्ञापन को लोड करें.
  2. कॉलबैक के लिए रजिस्टर करें.
  3. विज्ञापन दिखाएं और इनाम वाले इवेंट को हैंडल करें.

विज्ञापन लोड करना

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 पर उदाहरण

  • पेज पर अचानक दिखने वाले विज्ञापनों का उदाहरण: Swift | Objective-C

मोबाइल विज्ञापन गैराज वीडियो ट्यूटोरियल

सफलता की कहानियां

अगले चरण