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