इस गाइड में, Android ऐप्लिकेशन के साथ मीडिएशन अडैप्टर को इंटिग्रेट करने का तरीका बताया गया है.
ज़रूरी शर्तें
किसी विज्ञापन फ़ॉर्मैट के लिए मीडिएशन को इंटिग्रेट करने से पहले, आपको उस विज्ञापन फ़ॉर्मैट को अपने ऐप्लिकेशन में इंटिग्रेट करना होगा:
- बैनर विज्ञापन
- इंटरस्टीशियल विज्ञापन
- नेटिव विज्ञापन
- इनाम वाले विज्ञापन
- इनाम वाले इंटरस्टीशियल विज्ञापन
क्या आपको मीडिएशन के बारे में पता नहीं है? मीडिएशन के बारे में जानकारी पढ़ें.
बिडिंग के लिए: Google Mobile Ads SDK 18.3.0 या इसके बाद का वर्शन.
Google Mobile Ads SDK को शुरू करना
क्विक स्टार्ट गाइड में, Google Mobile Ads SDK को शुरू करने का तरीका बताया गया है. शुरू करने के लिए किए गए उस कॉल के दौरान, मीडिएशन अडैप्टर भी शुरू हो जाते हैं. विज्ञापन लोड करने से पहले, इनिशियलाइज़ेशन पूरा होने का इंतज़ार करना ज़रूरी है. इससे यह पुष्टि की जा सकेगी कि पहले विज्ञापन अनुरोध पर, हर विज्ञापन नेटवर्क ने पूरी तरह से हिस्सा लिया है.
नीचे दिए गए सैंपल कोड में बताया गया है कि विज्ञापन अनुरोध करने से पहले, हर अडैप्टर के शुरू होने का स्टेटस कैसे देखा जा सकता है.
Java
public void initialize(Context context) {
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(context, this::logAdapterStatus))
.start();
}
private void logAdapterStatus(InitializationStatus initializationStatus) {
// Check each adapter's initialization status.
Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
for (Map.Entry<String, AdapterStatus> entry : statusMap.entrySet()) {
String adapterClass = entry.getKey();
AdapterStatus status = entry.getValue();
Log.d(
TAG,
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
}
Kotlin
fun initialize(context: Context) {
CoroutineScope(Dispatchers.IO).launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(context, ::logAdapterStatus)
}
}
private fun logAdapterStatus(initializationStatus: InitializationStatus) {
// Check each adapter's initialization status.
for ((adapterClass, status) in initializationStatus.adapterStatusMap) {
Log.d(
TAG,
"Adapter: $adapterClass, Status: ${status.description}, Latency: ${status.latency}ms",
)
}
}
देखें कि किस विज्ञापन नेटवर्क अडैप्टर क्लास ने विज्ञापन लोड किया है
यहां बैनर विज्ञापन के लिए, विज्ञापन नेटवर्क क्लास का नाम लॉग करने वाला सैंपल कोड दिया गया है:
Java
ResponseInfo responseInfo = ad.getResponseInfo();
String adapterClassName = null;
if (responseInfo != null) {
adapterClassName = responseInfo.getMediationAdapterClassName();
}
Log.d(TAG, "Adapter class name: " + adapterClassName);
Kotlin
Log.d(TAG, "Adapter class name:" + ad.responseInfo?.mediationAdapterClassName)
इस तरीके के बारे में ज़्यादा जानने के लिए, getMediationAdapterClassName()
पर मौजूद ResponseInfo
दस्तावेज़ देखें.
विज्ञापन ऑब्जेक्ट को किसी गतिविधि के इंस्टेंस से शुरू करना
नए विज्ञापन ऑब्जेक्ट (उदाहरण के लिए, AdManagerAdView
) के कंस्ट्रक्टर में, आपको Context
टाइप का ऑब्जेक्ट पास करना होगा.
मीडिएशन का इस्तेमाल करते समय, यह Context
अन्य विज्ञापन नेटवर्क को पास किया जाता है. कुछ विज्ञापन नेटवर्क के लिए, Context
के तौर पर Activity
का इस्तेमाल करना ज़रूरी होता है. साथ ही, Activity
इंस्टेंस के बिना विज्ञापन नहीं दिखाए जा सकते. इसलिए, हमारा सुझाव है कि विज्ञापन ऑब्जेक्ट शुरू करते समय, Activity
इंस्टेंस पास करें, ताकि मीडिएट किए गए विज्ञापन नेटवर्क के साथ एक जैसा अनुभव मिल सके.
मीडिएशन के साथ बैनर विज्ञापनों का इस्तेमाल करना
पक्का करें कि आपने मीडिएशन में इस्तेमाल की जाने वाली बैनर विज्ञापन यूनिट के लिए, तीसरे पक्ष के सभी विज्ञापन सोर्स यूज़र इंटरफ़ेस (यूआई) में रीफ़्रेश होने की सुविधा बंद कर दी हो. इससे दो बार रीफ़्रेश होने की समस्या नहीं होती, क्योंकि Ad Manager भी आपकी बैनर विज्ञापन यूनिट की रीफ़्रेश दर के आधार पर रीफ़्रेश को ट्रिगर करता है.
मीडिएशन के साथ नेटिव विज्ञापनों का इस्तेमाल करना
नेटिव मीडिएशन लागू करते समय, इन सबसे सही तरीकों का इस्तेमाल करें.
- नेटिव विज्ञापन दिखाने से जुड़ी नीति
- हर विज्ञापन नेटवर्क की अपनी नीतियां होती हैं. मीडिएशन का इस्तेमाल करते समय, यह याद रखना ज़रूरी है कि आपके ऐप्लिकेशन को अब भी उस मीडिएटेड नेटवर्क की नीतियों का पालन करना होगा जिसने विज्ञापन दिखाया है.
loadAds()
के बजायloadAd()
का इस्तेमाल करेंloadAds()
तरीके से सिर्फ़ Google विज्ञापन दिखाए जाते हैं. मीडिएट किए गए विज्ञापनों के लिए,loadAd()
का इस्तेमाल करें.
अमेरिका के निजता कानून और जीडीपीआर
अगर आपको अमेरिका के राज्यों के निजता कानूनों या जनरल डेटा प्रोटेक्शन रेगुलेशन (जीडीपीआर) का पालन करना है, तो Ad Manager के निजता और मैसेज सेवा सेक्शन में जाकर, अमेरिका के राज्यों के कानून की सेटिंग या जीडीपीआर की सेटिंग में दिए गए निर्देशों का पालन करें. इससे, अमेरिका के राज्यों या जीडीपीआर के विज्ञापन पार्टनर की सूची में अपने मीडिएशन पार्टनर जोड़े जा सकेंगे. ऐसा न करने पर, पार्टनर आपके ऐप्लिकेशन पर विज्ञापन नहीं दिखा पाएंगे.
सीमित डेटा प्रोसेसिंग (आरडीपी) को चालू करने और Google User Messaging Platform (UMP) SDK की मदद से, जीडीपीआर के तहत सहमति लेने के बारे में ज़्यादा जानें.