अपने C++ प्रोजेक्ट में AdMob के साथ शुरुआत करें

यह क्विकस्टार्ट गाइड उन प्रकाशकों और डेवलपर्स के लिए है जो फायरबेस के साथ बनाए गए ऐप से कमाई करने के लिए AdMob का उपयोग करना चाहते हैं। यदि आप अपने ऐप में फायरबेस को शामिल करने की योजना नहीं बनाते हैं, तो इसके बजाय स्टैंडअलोन AdMob गाइड पर जाएं।

यदि आपने अभी तक नहीं किया है, तो AdMob, Firebase और Google Analytics को एक साथ उपयोग करने के सभी लाभों के बारे में जानें।

यदि आप पहली बार इस गाइड को पढ़ रहे हैं, तो हम अनुशंसा करते हैं कि आप Google मोबाइल विज्ञापन C++ SDK परीक्षण ऐप डाउनलोड करें और उसका उपयोग करें।

शुरू करने से पहले

  • यदि आपके पास पहले से कोई फायरबेस प्रोजेक्ट और फायरबेस ऐप नहीं है, तो फायरबेस आरंभ करने की मार्गदर्शिका का पालन करें: अपने सी++ प्रोजेक्ट में फायरबेस जोड़ें

  • सुनिश्चित करें कि आपके फायरबेस प्रोजेक्ट में Google Analytics सक्षम है:

    • यदि आप एक नया फायरबेस प्रोजेक्ट बना रहे हैं, तो प्रोजेक्ट निर्माण वर्कफ़्लो के दौरान Google Analytics सक्षम करें।

    • यदि आपके पास एक मौजूदा फायरबेस प्रोजेक्ट है जिसमें Google Analytics सक्षम नहीं है, तो आप अपने एकीकरण टैब से Google Analytics सक्षम कर सकते हैं > प्रोजेक्ट सेटिंग्स

चरण 1: अपना ऐप अपने AdMob खाते में सेट करें

  1. अपने ऐप के प्रत्येक प्लेटफ़ॉर्म संस्करण को AdMob ऐप के रूप में पंजीकृत करें।

    1. AdMob खाते के लिए साइन इन करें या साइन अप करें

    2. अपने ऐप के प्रत्येक प्लेटफ़ॉर्म संस्करण को AdMob के साथ पंजीकृत करें । यह चरण एक अद्वितीय AdMob ऐप आईडी के साथ एक AdMob ऐप बनाता है जिसकी आपको बाद में इस गाइड में आवश्यकता होगी।

    आपसे अपने ऐप में मोबाइल विज्ञापन एसडीके जोड़ने के लिए कहा जाएगा। इस कार्य के लिए विस्तृत निर्देश बाद में इस मार्गदर्शिका में प्राप्त करें।

  2. अपने प्रत्येक AdMob ऐप को संबंधित Firebase ऐप से लिंक करें।

    यह कदम वैकल्पिक है लेकिन दृढ़ता से अनुशंसित है। उपयोगकर्ता मेट्रिक्स को सक्षम करने और अपने AdMob ऐप्स को Firebase से लिंक करने के लाभों के बारे में अधिक जानें।

    प्रत्येक प्लेटफ़ॉर्म संस्करण के लिए, अपने AdMob खाते के ऐप्स डैशबोर्ड में निम्नलिखित दो चरण पूरे करें:

    1. AdMob को आपके AdMob खाते में क्यूरेटेड एनालिटिक्स डेटा को संसाधित करने और प्रदर्शित करने की अनुमति देने के लिए उपयोगकर्ता मेट्रिक्स सक्षम करें । अपने AdMob ऐप को Firebase से लिंक करना भी आपके लिए एक आवश्यक सेटिंग है।

    2. अपने AdMob ऐप को अपने मौजूदा Firebase प्रोजेक्ट और संबंधित Firebase ऐप से लिंक करें

      सुनिश्चित करें कि आप वही पैकेज नाम (एंड्रॉइड) या बंडल आईडी (आईओएस) दर्ज करें जो आपने अपने फायरबेस ऐप के लिए दर्ज किया था। अपने ऐप कार्ड में अपने फायरबेस ऐप के पैकेज का नाम या बंडल आईडी ढूंढें > प्रोजेक्ट सेटिंग्स

चरण 2: अपनी AdMob ऐप आईडी को अपने ऐप में जोड़ें

एंड्रॉयड

नीचे दिखाए अनुसार <meta-data> टैग जोड़कर अपनी AdMob ऐप आईडी को अपने ऐप की AndroidManifest.xml फ़ाइल में जोड़ें।

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ADMOB_APP_ID"/>
    </application>
</manifest>

आईओएस

अपने ऐप की Info.plist फ़ाइल में, अपने AdMob ऐप आईडी के स्ट्रिंग मान के साथ एक GADApplicationIdentifier कुंजी जोड़ें।

आप यह परिवर्तन प्रोग्रामेटिक रूप से कर सकते हैं:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

या, इसे संपत्ति सूची संपादक में संपादित करें:

संपत्ति सूची संपादक

चरण 3: Google मोबाइल विज्ञापन SDK जोड़ें

चूँकि Google मोबाइल विज्ञापन C++ SDK firebase::gma नेमस्पेस में रहता है, इसलिए Firebase C++ SDK डाउनलोड करें, और फिर इसे अपनी पसंद की निर्देशिका में अनज़िप करें।

फायरबेस C++ SDK प्लेटफ़ॉर्म-विशिष्ट नहीं है, लेकिन इसके लिए प्लेटफ़ॉर्म-विशिष्ट लाइब्रेरी कॉन्फ़िगरेशन की आवश्यकता होती है।

एंड्रॉयड

  1. अपने प्रोजेक्ट की gradle.properties फ़ाइल में, अनज़िप्ड SDK का स्थान निर्दिष्ट करें:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. अपने प्रोजेक्ट की settings.gradle फ़ाइल में, निम्नलिखित सामग्री जोड़ें:

    def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir')
    
    gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir"
    includeBuild "$firebase_cpp_sdk_dir"
  3. अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle ) में, निम्नलिखित सामग्री जोड़ें, जिसमें Google मोबाइल विज्ञापन C++ SDK के लिए लाइब्रेरी निर्भरता शामिल है।

    android.defaultConfig.externalNativeBuild.cmake {
      arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
    }
    
    # Add the dependency for the Google Mobile Ads C++ SDK
    apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle"
    firebaseCpp.dependencies {
      gma
    }
  4. अपने प्रोजेक्ट की CMakeLists.txt फ़ाइल में, निम्नलिखित सामग्री जोड़ें।

    # Add Firebase libraries to the target using the function from the SDK.
    add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
    
    # Add the Google Mobile Ads C++ SDK.
    
    # The Firebase C++ library `firebase_app` is required,
    # and it must always be listed last.
    
    set(firebase_libs
      firebase_gma
      firebase_app
    )
    
    target_link_libraries(${target_name} "${firebase_libs}")
  5. यह सुनिश्चित करने के लिए अपने ऐप को सिंक करें कि सभी निर्भरताओं के पास आवश्यक संस्करण हैं।

तुम सब सेट हो! आपका C++ ऐप Google मोबाइल विज्ञापन C++ SDK का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

आईओएस

इस अनुभाग के चरण इस बात का उदाहरण हैं कि Google मोबाइल विज्ञापन C++ SDK को अपने iOS प्रोजेक्ट में कैसे जोड़ें।

  1. निम्न चलाकर कोकोपोड्स संस्करण 1 या बाद का संस्करण प्राप्त करें:

    sudo gem install cocoapods --pre
  2. अनज़िप किए गए SDK से Google मोबाइल विज्ञापन पॉड जोड़ें।

    1. यदि आपके पास पहले से कोई पॉडफ़ाइल नहीं है तो एक पॉडफ़ाइल बनाएं:

      cd YOUR_APP_DIRECTORY
      pod init
    2. अपने पॉडफ़ाइल में, Google मोबाइल विज्ञापन C++ SDK के लिए पॉड जोड़ें:

      pod 'Google-Mobile-Ads-SDK'
    3. पॉड इंस्टॉल करें, फिर Xcode में .xcworkspace फ़ाइल खोलें।

      pod install
      open YOUR_APP.xcworkspace
    4. प्रोजेक्ट में फायरबेस सी++ एसडीके से निम्नलिखित फ्रेमवर्क जोड़ें:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

तुम सब सेट हो! आपका C++ ऐप Google मोबाइल विज्ञापन C++ SDK का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

चरण 4: Google मोबाइल विज्ञापन SDK प्रारंभ करें

विज्ञापन लोड करने से पहले, firebase::gma::Initialize() पर कॉल करके मोबाइल विज्ञापन SDK को प्रारंभ करें।

यह कॉल एक firebase::Future लौटाता है जो आरंभीकरण समाप्त होने पर (या 30-सेकंड के टाइमआउट के बाद) पूरा हो जाता है। इस विधि को केवल एक बार और जितनी जल्दी हो सके कॉल करें, आदर्श रूप से ऐप लॉन्च के समय।

Initialize() कैसे कॉल करें इसका एक उदाहरण यहां दिया गया है:

एंड्रॉयड

// Initialize the Google Mobile Ads library
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
  firebase::gma::Initialize(jni_env, j_activity, &result);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
    future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed.
} else {
  // Initialization on-going, or an error has occurred.
}

आईओएस

// Initialize the Google Mobile Ads library.
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
  firebase::gma::Initialize(&result);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
    future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed.
} else {
  // Initialization on-going, or an error has occurred.
}

मेथड कॉल की पूर्णता स्थिति की निगरानी के लिए Future का उपयोग करें

Future आपको अपने अतुल्यकालिक विधि कॉल की पूर्णता स्थिति निर्धारित करने का एक तरीका प्रदान करता है।

उदाहरण के लिए, जब आपका ऐप firebase::gma::Initialize() को कॉल करता है, तो एक नया firebase::Future बनाया जाता है और वापस कर दिया जाता है। आपका ऐप यह निर्धारित करने के लिए Future की status() पोल कर सकता है कि आरंभीकरण कब पूरा हुआ है। एक बार पूरा होने पर, आपका ऐप परिणामी AdapterInitializationStatus प्राप्त करने के लिए result() लागू कर सकता है।

Future लौटाने वाली विधियों में एक अनुरूप "अंतिम परिणाम" विधि होती है जिसका उपयोग ऐप्स किसी दिए गए कार्य के लिए सबसे हालिया Future पुनः प्राप्त करने के लिए कर सकते हैं। उदाहरण के लिए, firebase::gma::Initialize() firebase::gma::InitializeLastResult() नामक एक संगत विधि है, जो एक Future लौटाती है जिसका उपयोग आपका ऐप firebase::gma::Initialize() .

यदि Future की स्थिति पूर्ण है और इसका त्रुटि कोड firebase::gma::kAdErrorCodeNone है, तो ऑपरेशन सफलतापूर्वक पूरा हो गया है।

आप Future पूरा होने पर कॉलबैक भी पंजीकृत कर सकते हैं। कुछ मामलों में, कॉलबैक एक अलग थ्रेड में चलेगा, इसलिए सुनिश्चित करें कि आपका कोड थ्रेड-सुरक्षित है। यह कोड स्निपेट कॉलबैक के लिए फ़ंक्शन पॉइंटर का उपयोग करता है:

// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
  /*user_data=*/nullptr);

// The OnCompletion callback function.
static void OnCompletionCallback(
  const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
  // Called when the Future is completed for the last call to firebase::gma::Initialize().
  // If the error code is firebase::gma::kAdErrorCodeNone,
  // then the SDK has been successfully initialized.
  if (future.error() == firebase::gma::kAdErrorCodeNone) {
    // success!
  } else {
    // failure.
  }
}

चरण 5: अपने ऐप में लागू करने के लिए एक विज्ञापन प्रारूप चुनें

AdMob कई अलग-अलग विज्ञापन प्रारूप प्रदान करता है, इसलिए आप वह प्रारूप चुन सकते हैं जो आपके ऐप के उपयोगकर्ता अनुभव के लिए सबसे उपयुक्त हो। AdMob दस्तावेज़ में विस्तृत कार्यान्वयन निर्देश देखने के लिए विज्ञापन प्रारूप के लिए एक बटन पर क्लिक करें।

आयताकार विज्ञापन जो डिवाइस स्क्रीन के ऊपर या नीचे दिखाई देते हैं

जब उपयोगकर्ता ऐप के साथ इंटरैक्ट कर रहे होते हैं तो बैनर विज्ञापन स्क्रीन पर बने रहते हैं, और एक निश्चित अवधि के बाद स्वचालित रूप से रीफ्रेश हो सकते हैं। यदि आप मोबाइल विज्ञापन में नए हैं, तो शुरुआत करने के लिए यह एक बेहतरीन जगह है।

बैनर विज्ञापन लागू करें

मध्य

फ़ुल-स्क्रीन विज्ञापन जो उपयोगकर्ता द्वारा बंद किए जाने तक किसी ऐप के इंटरफ़ेस को कवर करते हैं

किसी ऐप के निष्पादन के प्रवाह में प्राकृतिक रुकावटों पर अंतरालीय विज्ञापनों का सबसे अच्छा उपयोग किया जाता है, जैसे कि गेम के स्तरों के बीच या किसी कार्य के पूरा होने के तुरंत बाद।

अंतरालीय विज्ञापन लागू करें

पुरस्कृत

ऐसे विज्ञापन जो उपयोगकर्ताओं को लघु वीडियो देखने और चलाने योग्य विज्ञापनों और सर्वेक्षणों के साथ इंटरैक्ट करने के लिए पुरस्कृत करते हैं

पुरस्कृत (या "इनाम-आधारित") विज्ञापन फ्री-टू-प्ले उपयोगकर्ताओं को मुद्रीकृत करने में मदद कर सकते हैं।

पुरस्कृत विज्ञापन लागू करें

रुचि के अन्य विषय

उपयोगकर्ता मेट्रिक्स और विश्लेषण डेटा देखें

इसके प्रारंभ होने के बाद, मोबाइल विज्ञापन एसडीके स्वचालित रूप से आपके ऐप से एनालिटिक्स इवेंट और उपयोगकर्ता गुणों को लॉग करना शुरू कर देता है। आप अपने ऐप में कोई अतिरिक्त कोड जोड़े बिना या कोई विज्ञापन लागू किए बिना इस डेटा को देख सकते हैं। यहां आप यह विश्लेषणात्मक डेटा देख सकते हैं:

ध्यान दें कि ARPU और ARPPU मेट्रिक्स को बेहतर ढंग से प्रस्तुत करने के लिए, आप इन मेट्रिक्स के लिए राजस्व गणना में ecommerce_purchase नामक एक एनालिटिक्स कस्टम इवेंट से डेटा शामिल करना चाह सकते हैं ( जानें कैसे )।

(वैकल्पिक) Google Analytics और Firebase की अधिक सुविधाओं का उपयोग करें

ऐप मुद्रीकरण और उपयोगकर्ता सहभागिता को बेहतर बनाने के लिए अधिक अवसरों और सुविधाओं का लाभ उठाएं:

  • Google Analytics के लिए Firebase SDK जोड़ें और उपयोग करें

    अधिक जानने के लिए, AdMob ऐप्स के साथ Google Analytics और Firebase का उपयोग करने के लिए मार्गदर्शिका पर जाएँ।

  • अपने ऐप में अन्य फायरबेस उत्पादों का उपयोग करें

    Google Analytics के लिए Firebase SDK जोड़ने के बाद, अपने ऐप में विज्ञापनों को अनुकूलित करने के लिए अन्य Firebase उत्पादों का उपयोग करें।

    • रिमोट कॉन्फिग आपको असीमित दैनिक सक्रिय उपयोगकर्ताओं के लिए, बिना किसी कीमत के, ऐप अपडेट प्रकाशित किए बिना अपने ऐप के व्यवहार और स्वरूप को बदलने में सक्षम बनाता है।

    • ए/बी परीक्षण आपको यह जानने के लिए अपने ऐप के यूआई, सुविधाओं या सहभागिता अभियानों में परिवर्तनों का परीक्षण करने की शक्ति देता है कि परिवर्तनों को व्यापक रूप से लागू करने से पहले वे आपके प्रमुख मेट्रिक्स (जैसे राजस्व और प्रतिधारण) पर प्रभाव डालते हैं या नहीं।