मीडिएशन


AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) की सुविधा की मदद से, अपने ऐप्लिकेशन पर कई सोर्स से विज्ञापन दिखाए जा सकते हैं. इनमें AdMob नेटवर्क, तीसरे पक्ष की विज्ञापन नेटवर्क कंपनियां, और AdMob कैंपेन शामिल हैं. AdMob मीडिएशन की मदद से, कई नेटवर्क को विज्ञापन अनुरोध भेजे जाते हैं, ताकि यह पक्का किया जा सके कि विज्ञापन दिखाने के लिए आपको सबसे अच्छी विज्ञापन नेटवर्क कंपनी मिल जाए. इससे, फ़िल रेट और कमाई बढ़ती है. केस स्टडी.

ज़रूरी शर्तें

किसी विज्ञापन फ़ॉर्मैट के लिए मीडिएशन को इंटिग्रेट करने से पहले, आपको उस विज्ञापन फ़ॉर्मैट को अपने ऐप्लिकेशन में इंटिग्रेट करना होगा:

क्या आपको मीडिएशन के बारे में पता नहीं है? AdMob मीडिएशन के बारे में खास जानकारी पढ़ें.

Mobile Ads SDK को शुरू करना

क्विक स्टार्ट गाइड में, Mobile Ads SDK को चालू करने का तरीका बताया गया है. शुरू करने के उस कॉल के दौरान, मीडिएशन अडैप्टर भी शुरू हो जाते हैं. विज्ञापनों को लोड करने से पहले, इनिशियलाइज़ेशन पूरा होने का इंतज़ार करना ज़रूरी है. इससे यह पक्का किया जा सकता है कि पहले विज्ञापन अनुरोध पर, हर विज्ञापन नेटवर्क की ओर से विज्ञापन दिखाए जा सकें.

यहां दिए गए सैंपल कोड से पता चलता है कि विज्ञापन का अनुरोध करने से पहले, हर अडैप्टर के चालू होने की स्थिति कैसे देखी जा सकती है.

// Initialize the Google Mobile Ads library
firebase::gma::Initialize(*app);

// In a game loop, monitor the initialization status
auto initialize_future = firebase::gma::InitializeLastResult();

if (initialize_future.status() == firebase::kFutureStatusComplete &&
    initialize_future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed successfully, log the adapter status:
  std::map<std::string, firebase::gma::AdapterStatus> adapter_status_map =
      firebase::gma::GetInitializationStatus().GetAdapterStatusMap();

  for (auto it = adapter_status_map.begin(); it != adapter_status_map.end(); ++it) {
    std::string adapter_class_name = it->first;
    firebase::gma::AdapterStatus adapter_status = it->second;
    printf(adapter: %s \t description: %s \t is_initialized: %d latency: %d\n,
       adapter_class_name.c_str(),
       adapter_status.description().c_str(),
       adapter_status.is_initialized(),
       adpater_status.latency());
  }
} else {
  // Handle initialization error.
}

Futures के साथ काम करने के बारे में ज़्यादा जानने के लिए, तरीके के कॉल पूरे होने की स्थिति को मॉनिटर करने के लिए, Futures का इस्तेमाल करना लेख पढ़ें.

adNetworkClassName की वैल्यू देखें

विज्ञापन के हर नतीजे में, विज्ञापन नेटवर्क की क्लास के नाम के बारे में जानकारी होती है. यह वह नेटवर्क होता है जिसने मौजूदा विज्ञापन को फ़ेच किया है.

यहां एक सैंपल कोड दिया गया है. यह AdResult से मिले विज्ञापन नेटवर्क क्लास के नाम को लॉग करता है.AdView इसी तरह के कोड का इस्तेमाल इंटरस्टीशियल और इनाम वाले विज्ञापनों के लिए किया जा सकता है:

firebase::Future<AdResult> load_ad_future = banner_view.loadAd(ad_request);

// In a game loop, monitor the ad load status
if (load_ad_future.status() == firebase::kFutureStatusComplete &&
    load_ad_future.error() == firebase::gma::kAdErrorCodeNone) {
  const AdResult* ad_result = load_ad_future.result();
  printf(Loaded ad with adapter class name: %s\n,
    ad_result->adapter_class_name().c_str());
} else {
  // Handle the load ad error.
}

पक्का करें कि आपने AdMob मीडिएशन में इस्तेमाल की गई बैनर विज्ञापन यूनिट के लिए, तीसरे पक्ष के सभी विज्ञापन नेटवर्क के यूज़र इंटरफ़ेस (यूआई) में रीफ़्रेश करने की सुविधा बंद कर दी हो. इससे दो बार रीफ़्रेश होने की समस्या नहीं होगी, क्योंकि AdMob भी आपकी बैनर विज्ञापन यूनिट के रीफ़्रेश रेट के आधार पर रीफ़्रेश को ट्रिगर करता है.

अगले चरण

Google Mobile Ads C++ SDK, मीडिएशन के लिए Android और iOS SDK के साथ काम करता है. इसलिए, आगे का कॉन्फ़िगरेशन, Android और iOS प्लैटफ़ॉर्म के हिसाब से किया जाता है. इसमें मीडिएशन अडैप्टर इंस्टॉल करना भी शामिल है. ज़्यादा जानकारी के लिए, Google Mobile Ads Android SDK की नेटवर्क चुनने से जुड़ी गाइड और Google Mobile Ads iOS SDK की नेटवर्क चुनने से जुड़ी गाइड देखें.