AdMob मीडिएशन की सुविधा से, अपने ऐप्लिकेशन पर कई सोर्स के विज्ञापन दिखाए जा सकते हैं. इनमें AdMob नेटवर्क, तीसरे पक्ष की विज्ञापन नेटवर्क कंपनियां, और AdMob कैंपेन शामिल हैं. AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) से कई नेटवर्क को विज्ञापन अनुरोध भेजकर यह पक्का करने में मदद मिलती है कि आपको विज्ञापन दिखाने के लिए सबसे अच्छा नेटवर्क मिल सके. इससे आपका फ़िल रेट बढ़ जाएगा और आपकी कमाई भी बढ़ेगी. केस स्टडी.
ज़रूरी शर्तें
किसी विज्ञापन फ़ॉर्मैट के लिए मीडिएशन को इंटिग्रेट करने से पहले, आपको उस विज्ञापन फ़ॉर्मैट को अपने ऐप्लिकेशन में इंटिग्रेट करना होगा:
- बैनर विज्ञापन
- अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापन
- इनाम वाले विज्ञापन
- इनाम वाले इंटरस्टीशियल विज्ञापन
- नेटिव विज्ञापन
क्या मीडिएशन आपके लिए नया है? AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) की खास जानकारी पढ़ें.
बिडिंग के लिए: Google Mobile Ads SDK 18.3.0 या इसके बाद का वर्शन.
मोबाइल विज्ञापन 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 आपकी बैनर विज्ञापन यूनिट की रीफ़्रेश दर के आधार पर रीफ़्रेश भी ट्रिगर करता है.
इनाम वाले विज्ञापनों का मीडिएशन
हमारा सुझाव है कि आप AdMob यूज़र इंटरफ़ेस (यूआई) में इनाम की वैल्यू सेट करके, इनाम की सभी डिफ़ॉल्ट वैल्यू बदल दें. ऐसा करने के लिए, मीडिएशन ग्रुप के सभी नेटवर्क पर लागू करें बॉक्स चुनें, ताकि सभी नेटवर्क पर एक जैसा इनाम मिल सके. कुछ विज्ञापन नेटवर्क कंपनियां इनाम की वैल्यू या टाइप उपलब्ध नहीं करातीं. इनाम की वैल्यू को बदलने से, इनाम हर विज्ञापन देने के लिए एक जैसा ही होता है.
AdMob के यूज़र इंटरफ़ेस (यूआई) में इनाम की वैल्यू सेट करने के बारे में ज़्यादा जानकारी के लिए, इनाम वाली विज्ञापन यूनिट बनाना पढ़ें.
नेटिव विज्ञापनों का मीडिएशन
नेटिव मीडिएशन का इस्तेमाल करते समय, इन सबसे सही तरीकों को अपनाएं.
- नेटिव विज्ञापन प्रज़ेंटेशन की नीति
- हर विज्ञापन नेटवर्क की अपनी नीतियां होती हैं. मीडिएशन का इस्तेमाल करते समय, यह ध्यान रखना ज़रूरी है कि आपके ऐप्लिकेशन को विज्ञापन देने वाले मीडिएशन नेटवर्क की नीतियों का पालन करना होगा.
loadAds()
के बजाय,loadAd()
का इस्तेमाल करेंloadAds()
वाला तरीका, फ़िलहाल सिर्फ़ Google विज्ञापन दिखाता है. मीडिएशन वाले विज्ञापनों के लिए,loadAd()
का इस्तेमाल करें.
सीसीपीए और जीडीपीआर
अगर आपको कैलिफ़ोर्निया कंज़्यूमर प्राइवसी ऐक्ट (सीसीपीए) या सामान्य डेटा से जुड़े सुरक्षा कानून (जनरल डेटा प्रोटेक्शन रेगुलेशन) का पालन करना है, तो सीसीपीए सेटिंग या YouTube की सेटिंग में दिए गए निर्देशों का पालन करके, AdMob निजता और मैसेज सेवा की सीसीपीए या जीडीपीआर विज्ञापन पार्टनर की सूची में अपने मीडिएशन पार्टनर जोड़ें. ऐसा न करने पर, पार्टनर आपके ऐप्लिकेशन पर विज्ञापन नहीं दिखा पाएंगे.
सीसीपीए के तहत सीमित डेटा प्रोसेसिंग को चालू करने और Google के उपयोगकर्ता मैसेज सेवा प्लैटफ़ॉर्म (UMP) SDK टूल से जीडीपीआर की सहमति पाने के बारे में ज़्यादा जानें.