शुरू करें

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

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

किसी विज्ञापन फ़ॉर्मैट के लिए मीडिएशन को इंटिग्रेट करने से पहले, आपको उस विज्ञापन फ़ॉर्मैट को अपने ऐप्लिकेशन में इंटिग्रेट करना होगा:

क्या मीडिएशन आपके लिए नया है? AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) की खास जानकारी पढ़ें.

बिडिंग के लिए: Google Mobile Ads SDK 18.3.0 या इसके बाद का वर्शन.

Mobile Ads SDK शुरू करें

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

नीचे दिए गए सैंपल कोड से पता चलता है कि कोई विज्ञापन अनुरोध करने से पहले, हर अडैप्टर के शुरू होने की स्थिति की जांच कैसे की जा सकती है.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
                for (String adapterClass : statusMap.keySet()) {
                    AdapterStatus status = statusMap.get(adapterClass);
                    Log.d("MyApp", String.format(
                            "Adapter name: %s, Description: %s, Latency: %d",
                            adapterClass, status.getDescription(), status.getLatency()));
                }

                // Start loading ads here...
            }
        });
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds

MobileAds.initialize(this) { initializationStatus ->
  val statusMap =
    initializationStatus.adapterStatusMap
  for (adapterClass in statusMap.keys) {
    val status = statusMap[adapterClass]
    Log.d("MyApp", String.format(
      "Adapter name: %s, Description: %s, Latency: %d",
      adapterClass, status!!.description, status.latency))
  }

  // Start loading ads here...
}

यह देखना कि किस विज्ञापन नेटवर्क कंपनी के अडैप्टर क्लास ने विज्ञापन लोड किया है

यहां कुछ सैंपल कोड दिए गए हैं, जो बैनर विज्ञापन के लिए विज्ञापन नेटवर्क की क्लास का नाम लॉग करते हैं:

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

इस तरीके के बारे में जानने के लिए, getMediationAdapterClassName() का ResponseInfo दस्तावेज़ देखें.

अपने विज्ञापन ऑब्जेक्ट को किसी ऐक्टिविटी इंस्टेंस से शुरू करें

नए विज्ञापन ऑब्जेक्ट के कंस्ट्रक्टर में (उदाहरण के लिए, AdView), आपको, ऑब्जेक्ट के किसी टाइप Context में पास होना होगा. मीडिएशन का इस्तेमाल करने पर, यह Context अन्य विज्ञापन नेटवर्क कंपनी को भेजा जाता है. कुछ विज्ञापन नेटवर्क कंपनियों के लिए ज़्यादा पाबंदियों वाले Context की ज़रूरत होती है, जो कि Activity टाइप की होती है. इसलिए, हो सकता है कि Activity इंस्टेंस के बिना विज्ञापन न दिखाए जा सकें. इसलिए, हमारा सुझाव है कि विज्ञापन ऑब्जेक्ट को शुरू करते समय, Activity इंस्टेंस पास करें. इससे, मीडिएशन वाले विज्ञापन नेटवर्क के साथ एक जैसा अनुभव दिया जा सकेगा.

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

नेटिव विज्ञापन मीडिएशन

नेटिव मीडिएशन का इस्तेमाल करते समय, इन सबसे सही तरीकों को ध्यान में रखा जाना चाहिए.

नेटिव विज्ञापन प्रज़ेंटेशन नीति
हर विज्ञापन नेटवर्क की अपनी नीतियां होती हैं. मीडिएशन का इस्तेमाल करते समय, यह ध्यान रखना ज़रूरी है कि आपके ऐप्लिकेशन को विज्ञापन देने वाले मीडिएशन नेटवर्क की नीतियों का पालन करना होगा.
loadAds() के बजाय, loadAd() का इस्तेमाल करें
loadAds() तरीके से सिर्फ़ Google विज्ञापन दिखाए जाते हैं. मीडिएशन वाले विज्ञापनों के लिए, loadAd() का इस्तेमाल करें.

अमेरिका के निजता कानून और जीडीपीआर

अगर आपको अमेरिका के निजता कानूनों या सामान्य डेटा की सुरक्षा के कानून (जनरल डेटा प्रोटेक्शन रेगुलेशन) का पालन करना है, तो अमेरिका के कानून सेटिंग या जीडीपीआर सेटिंग में दिए गए निर्देशों का पालन करके, AdMob की निजता और मैसेज सेवा की अमेरिका के राज्यों या जीडीपीआर विज्ञापन पार्टनरों की सूची में अपने मीडिएशन पार्टनर जोड़ें. ऐसा न करने पर, पार्टनर आपके ऐप्लिकेशन पर विज्ञापन नहीं दिखा पाएंगे.

सीमित डेटा प्रोसेसिंग (आरडीपी) को चालू करने और Google User Messaging Platform (UMP) SDK टूल की मदद से जीडीपीआर की सहमति लेने के बारे में ज़्यादा जानें.