ऐप्लिकेशन खोलने पर दिखने वाला एक विज्ञापन लोड करना

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

ज़्यादा जानकारी के लिए, ऐप्लिकेशन खोलने पर दिखने वाले विज्ञापन के लिए सलाह लेख पढ़ें.

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

शुरू करने से पहले

जारी रखने से पहले, ये काम करें:

  • GMA Next-Gen SDK को सेट अप करें.
  • ऐप्लिकेशन खोलने पर दिखने वाले विज्ञापन की टेस्ट यूनिट के आईडी ca-app-pub-3940256099942544/9257395921 का इस्तेमाल करें.
    • अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने के लिए, लाइव और प्रोडक्शन विज्ञापन इस्तेमाल करने के बजाय, टेस्ट विज्ञापन इस्तेमाल करें. अगर आपने टेस्ट विज्ञापन यूनिट के आईडी का इस्तेमाल नहीं किया, तो Google आपके खाते को निलंबित कर सकता है.
    • अपना ऐप्लिकेशन पब्लिश करने से पहले, इस आईडी को अपने विज्ञापन यूनिट आईडी से बदलें.
    • GMA Next-Gen SDK टेस्ट विज्ञापनों के बारे में ज़्यादा जानने के लिए, टेस्ट विज्ञापनों को चालू करना लेख पढ़ें.

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

यहां दिए गए उदाहरण में, एक विज्ञापन लोड किया गया है:

Kotlin

// Load ads after you initialize MobileAds.
AppOpenAd.load(
  AdRequest.Builder(adUnitId).build(),
  object : AdLoadCallback<AppOpenAd> {
    override fun onAdLoaded(ad: AppOpenAd) {
      // App open ad loaded.
      appOpenAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // App open ad failed to load.
      Log.e(TAG, "App open ad failed to load: ${adError.message}")
      appOpenAd = null
    }
  },
)

Java

// Load ads after you initialize MobileAds.
AppOpenAd.load(
    new AdRequest.Builder(adUnitId).build(),
    new AdLoadCallback<AppOpenAd>() {
      @Override
      public void onAdLoaded(AppOpenAd ad) {
        // App open ad loaded.
        appOpenAd = ad;
      }

      @Override
      public void onAdFailedToLoad(LoadAdError adError) {
        // App open ad failed to load.
        Log.e(TAG, "App open ad failed to load: " + adError.getMessage());
        appOpenAd = null;
      }
    });

टेस्टिंग के दौरान, टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करें: ca-app-pub-3940256099942544/9257395921.

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

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

यहां दिए गए उदाहरण में विज्ञापन दिखाया गया है:

Kotlin

private fun showAd(appOpenAd: AppOpenAd, activity: Activity) {
  // Show the ad.
  appOpenAd.show(activity)
}

Java

private void showAd(AppOpenAd appOpenAd, Activity activity) {
  // Show the ad.
  appOpenAd.show(activity);
}

कोल्ड स्टार्ट और लोडिंग स्क्रीन को मैनेज करना

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

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

ऐप्लिकेशन की ऐसेट को बैकग्राउंड थ्रेड पर लोड करें, ताकि विज्ञापन दिखने के दौरान भी लोड होने की प्रोसेस जारी रहे. अगर विज्ञापन दिखने के दौरान, लोडिंग स्क्रीन पर कॉन्टेंट लोड हो जाता है, तो विज्ञापन खारिज करने के कॉलबैक तरीके में लोडिंग स्क्रीन को खारिज करें.

विज्ञापन इवेंट सुनना

विज्ञापन दिखाने से पहले, विज्ञापन के लाइफ़साइकल इवेंट सुनें. यहां दिए गए उदाहरण में, विज्ञापन इवेंट के लिए कॉलबैक रजिस्टर किए गए हैं:

Kotlin

private fun listenToAdEvents() {
  // Listen for ad events.
  val ad = appOpenAd
  if (ad == null) {
    Log.e(TAG, "App open ad is not ready yet.")
    return
  }

  ad.adEventCallback =
    object : AppOpenAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // App open ad did show.
      }

      override fun onAdDismissedFullScreenContent() {
        // App open ad did dismiss.
        appOpenAd = null
      }

      override fun onAdFailedToShowFullScreenContent(
        fullScreenContentError: FullScreenContentError
      ) {
        // App open ad failed to show.
        Log.e(TAG, "App open ad failed to show: ${fullScreenContentError.message}")
      }

      override fun onAdImpression() {
        // App open ad did record an impression.
      }

      override fun onAdClicked() {
        // App open ad did record a click.
      }
    }
}

Java

private void listenToAdEvents() {
  // Listen for ad events.
  if (appOpenAd == null) {
    Log.e(TAG, "App open ad is not ready yet.");
    return;
  }

  appOpenAd.setAdEventCallback(
      new AppOpenAdEventCallback() {
        @Override
        public void onAdShowedFullScreenContent() {
          // App open ad did show.
        }

        @Override
        public void onAdDismissedFullScreenContent() {
          // App open ad did dismiss.
          appOpenAd = null;
        }

        @Override
        public void onAdFailedToShowFullScreenContent(
            @NonNull FullScreenContentError fullScreenContentError) {
          // App open ad failed to show.
          Log.e(TAG, "App open ad failed to show: " + fullScreenContentError.getMessage());
        }

        @Override
        public void onAdImpression() {
          // App open ad did record an impression.
        }

        @Override
        public void onAdClicked() {
          // App open ad did record a click.
        }
      });
}