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

प्लैटफ़ॉर्म चुनें: Android iOS Unity Flutter

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

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

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

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

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

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

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

Mobile Ads SDK के टेस्ट विज्ञापन के काम करने के तरीके के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापन लेख पढ़ें.

लागू करना

पेज पर अचानक दिखने वाले विज्ञापन इंटिग्रेट करने के लिए, यह तरीका अपनाएं:

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

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

विज्ञापन को लोड करने के लिए, GADInterstitialAd क्लास में load(adUnitID:request) तरीके का इस्तेमाल किया जाता है.

Swift

fileprivate func loadInterstitial() async {
  do {
    interstitial = try await InterstitialAd.load(
      with: "ca-app-pub-3940256099942544/4411468910", request: Request())
    interstitial?.fullScreenContentDelegate = self
  } catch {
    print("Failed to load interstitial ad with error: \(error.localizedDescription)")
  }
}

SwiftUI

import GoogleMobileAds

class InterstitialViewModel: NSObject, FullScreenContentDelegate {
  private var interstitialAd: InterstitialAd?

  func loadAd() async {
    do {
      interstitialAd = try await InterstitialAd.load(
        with: "ca-app-pub-3940256099942544/4411468910", request: Request())
      interstitialAd?.fullScreenContentDelegate = self
    } catch {
      print("Failed to load interstitial ad with error: \(error.localizedDescription)")
    }
  }

Objective-C

[GADInterstitialAd
     loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
              request:[GADRequest 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;
    }];

कॉलबैक के लिए रजिस्टर करना

प्रेज़ेंटेशन इवेंट की सूचनाएं पाने के लिए, आपको दिखाए गए विज्ञापन की GADFullScreenContentDelegate to thefullScreenContentDelegate` प्रॉपर्टी असाइन करनी होगी:

Swift

interstitial?.fullScreenContentDelegate = self

SwiftUI

interstitialAd?.fullScreenContentDelegate = self

Objective-C

self.interstitial.fullScreenContentDelegate = self;

GADFullScreenContentDelegate प्रोटोकॉल, विज्ञापन के दिखने या न दिखने और उसे खारिज किए जाने के बारे में कॉलबैक को मैनेज करता है. नीचे दिए गए कोड में, प्रोटोकॉल लागू करने का तरीका बताया गया है:

Swift

func adDidRecordImpression(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidRecordClick(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func ad(_ ad: FullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
  print("\(#function) called with error: \(error.localizedDescription)")
  // Clear the interstitial ad.
  interstitial = nil
}

func adWillPresentFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adWillDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
  // Clear the interstitial ad.
  interstitial = nil
}

SwiftUI

func adDidRecordImpression(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidRecordClick(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func ad(
  _ ad: FullScreenPresentingAd,
  didFailToPresentFullScreenContentWithError error: Error
) {
  print("\(#function) called")
}

func adWillPresentFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adWillDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
  // Clear the interstitial ad.
  interstitialAd = nil
}

Objective-C

- (void)adDidRecordImpression:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adDidRecordClick:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)ad:(id<GADFullScreenPresentingAd>)ad
    didFailToPresentFullScreenContentWithError:(NSError *)error {
  NSLog(@"%s called with error: %@", __PRETTY_FUNCTION__, error.localizedDescription);
  // Clear the interstitial ad.
  self.interstitial = nil;
}

- (void)adWillPresentFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adWillDismissFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adDidDismissFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
  // Clear the interstitial ad.
  self.interstitial = nil;
}

GADInterstitialAd ऑब्जेक्ट को सिर्फ़ एक बार इस्तेमाल किया जा सकता है. इसका मतलब है कि पेज पर अचानक दिखने वाला विज्ञापन एक बार दिखाए जाने के बाद, उसे दोबारा नहीं दिखाया जा सकता. सबसे सही तरीका यह है कि GADFullScreenContentDelegate पर adDidDismissFullScreenContent: तरीके से, पेज पर अचानक दिखने वाला दूसरा विज्ञापन लोड किया जाए. इससे, पेज पर अचानक दिखने वाला पिछला विज्ञापन खारिज होने के तुरंत बाद, अगला विज्ञापन लोड होना शुरू हो जाता है.

विज्ञापन दिखाना

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

Swift

ad.present(from: self!)

SwiftUI

विज्ञापन कब दिखाना है, यह तय करने के लिए व्यू में यूज़र इंटरफ़ेस (यूआई) इवेंट सुनें.

var body: some View {
  // ...
  }
  .onChange(of: countdownTimer.isComplete) { newValue in
    showGameOverAlert = newValue
  }
  .alert(isPresented: $showGameOverAlert) {
    Alert(
      title: Text("Game Over"),
      message: Text("You lasted \(countdownTimer.countdownTime) seconds"),
      dismissButton: .cancel(
        Text("OK"),
        action: {
          viewModel.showAd()
        }))

व्यू मॉडल से इंटरस्टीशियल विज्ञापन दिखाएं:

func showAd() {
  guard let interstitialAd = interstitialAd else {
    return print("Ad wasn't ready.")
  }

  interstitialAd.present(from: nil)
}

Objective-C

[self.interstitial presentFromRootViewController:self];

सबसे सही तरीके

देखें कि क्या इंटरस्टीशियल विज्ञापन, आपके ऐप्लिकेशन के लिए सही तरह के विज्ञापन हैं.
इंटरस्टीशियल विज्ञापन, उन ऐप्लिकेशन में सबसे अच्छा काम करते हैं जिनमें नैचुरल ट्रांज़िशन पॉइंट होते हैं. किसी ऐप्लिकेशन में ट्रांज़िशन पॉइंट उस स्थिति को माना जा सकता है, जब कोई टास्क पूरा हो गया हो. जैसे, कोई इमेज शेयर होना या गेम का कोई लेवल पूरा होना. उपयोगकर्ता को कार्रवाई के बीच में ब्रेक की उम्मीद होती है. इसलिए, इंटरस्टीशियल विज्ञापन दिखाने से उसके अनुभव पर असर नहीं पड़ता. पक्का करें कि आपने यह तय कर लिया हो कि ऐप्लिकेशन के वर्कफ़्लो में किन जगहों पर पेज पर अचानक दिखने वाले विज्ञापन दिखाए जाएंगे. साथ ही, यह भी तय कर लिया हो कि उपयोगकर्ता इस पर कैसी प्रतिक्रिया देगा.
पेज पर अचानक दिखने वाला विज्ञापन दिखाते समय, कार्रवाई को रोकना न भूलें.
पेज पर अचानक दिखने वाले विज्ञापन कई तरह के होते हैं: टेक्स्ट, इमेज, वीडियो वगैरह. यह पक्का करना ज़रूरी है कि जब आपका ऐप्लिकेशन इंटरस्टीशियल विज्ञापन दिखाता है, तो वह कुछ संसाधनों का इस्तेमाल भी बंद कर दे, ताकि विज्ञापन उनका फ़ायदा ले सके. उदाहरण के लिए, अचानक दिखने वाला विज्ञापन दिखाने के लिए कॉल करते समय, अपने ऐप्लिकेशन से जनरेट होने वाले किसी भी ऑडियो आउटपुट को रोकें. adDidDismissFullScreenContent: इवेंट हैंडलर में आवाज़ें फिर से चलाने की सुविधा चालू की जा सकती है. यह तब चालू होगा, जब उपयोगकर्ता विज्ञापन से इंटरैक्ट कर लेगा. इसके अलावा, विज्ञापन दिखाए जाने के दौरान, गेम लूप जैसे ज़्यादा कंप्यूटिंग वाले टास्क को कुछ समय के लिए रोक दें. इससे यह पक्का किया जा सकेगा कि उपयोगकर्ता को धीमे या रिस्पॉन्स न देने वाले ग्राफ़िक या रुक-रुक कर चलने वाले वीडियो का अनुभव न हो.
पेज को लोड होने में कुछ समय लग सकता है.
पेज पर अचानक दिखने वाले विज्ञापनों को सही समय पर दिखाना ज़रूरी है. साथ ही, यह भी ज़रूरी है कि उपयोगकर्ता को इन विज्ञापनों के लोड होने का इंतज़ार न करना पड़े. विज्ञापन दिखाने से पहले उसे लोड करने से यह पक्का किया जा सकता है कि जब विज्ञापन दिखाने का समय आए, तब आपका ऐप्लिकेशन पूरी तरह से लोड किए गए इंटरस्टीशियल विज्ञापन को दिखाने के लिए तैयार हो.
उपयोगकर्ता को बहुत सारे विज्ञापन न दिखाएं.
आपके ऐप्लिकेशन में इंटरस्टीशियल विज्ञापनों की फ़्रीक्वेंसी बढ़ाने से, रेवेन्यू में बढ़ोतरी हो सकती है. हालांकि, इससे उपयोगकर्ता का अनुभव खराब हो सकता है और क्लिक मिलने की दर कम हो सकती है. पक्का करें कि उपयोगकर्ताओं को इतनी बार रुकावट न आए कि वे आपके ऐप्लिकेशन का इस्तेमाल न कर पाएं.
इंटरस्टीशियल विज्ञापन दिखाने के लिए, लोड पूरा होने पर कॉल किए जाने वाले कॉलबैक का इस्तेमाल न करें.
इससे उपयोगकर्ता को खराब अनुभव मिल सकता है. इसके बजाय, विज्ञापन को दिखाने से पहले उसे प्री-लोड करें. इसके बाद, GADInterstitialAd पर canPresentFromRootViewController:error: तरीका देखें. इससे पता चलेगा कि यह तरीका दिखाने के लिए तैयार है या नहीं.

अन्य संसाधन

GitHub पर मौजूद उदाहरण

अपनी पसंदीदा भाषा में, पेज पर अचानक दिखने वाले विज्ञापनों के सभी उदाहरण देखें:

Mobile Ads Garage के वीडियो ट्यूटोरियल

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

अगले चरण