了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      पक्का करें कि आपने वही पैकेज नाम (Android) या बंडल आईडी (iOS) डाला है जो आपने अपने 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 डाउनलोड करें, और फिर इसे अपनी पसंद की निर्देशिका में अनज़िप करें।

Firebase 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. चलकर CocoaPods संस्करण 1 या बाद का संस्करण प्राप्त करें:

    sudo gem install cocoapods --pre
  2. अनज़िप किए गए SDK से Google Mobile Ads पॉड जोड़ें।

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

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

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

      pod install
      open YOUR_APP.xcworkspace
    4. Firebase C++ SDK से प्रोजेक्ट में निम्नलिखित फ्रेमवर्क जोड़ें:

      • 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 दस्तावेज़ीकरण में विस्तृत कार्यान्वयन निर्देश देखने के लिए विज्ञापन प्रारूप के लिए एक बटन पर क्लिक करें।

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

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

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

मध्य

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

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

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

पुरस्कृत

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

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

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

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

उपयोगकर्ता मेट्रिक्स और एनालिटिक्स डेटा देखें

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

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

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

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

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

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

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

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

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

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