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);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
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...
}))
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { 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 टूल की मदद से जीडीपीआर की सहमति पाने के बारे में ज़्यादा जानें.