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