अपने C++ प्रोजेक्ट में AdMob का इस्तेमाल करना


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

अगर आपने अब तक ऐसा नहीं किया है, तो सभी इन्हें इस्तेमाल करने के फ़ायदे: AdMob, Firebase, और Google Analytics को एक साथ इस्तेमाल कर सकते हैं.

अगर यह गाइड पहली बार देखी जा रही है, तो हमारा सुझाव है कि डाउनलोड करें और Google Mobile Ads C++ SDK टूल की जांच करके उन्हें पूरा करें ऐप्लिकेशन है.

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

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

  • पक्का करें कि आपके Firebase प्रोजेक्ट में Google Analytics चालू हो:

    • अगर कोई नया Firebase प्रोजेक्ट बनाया जा रहा है, तो Google Analytics चालू करें का इस्तेमाल किया जाता है.

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

पहला चरण: अपने ऐप्लिकेशन को AdMob खाते में सेट अप करना

  1. अपने ऐप्लिकेशन के हर प्लैटफ़ॉर्म वैरिएंट को AdMob ऐप्लिकेशन के तौर पर रजिस्टर करें.

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

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

    आपसे अपने ऐप्लिकेशन में Mobile Ads SDK जोड़ने के लिए कहा जाएगा. खोज मोड इस गाइड में बाद में इस टास्क के बारे में ज़्यादा जानकारी वाले निर्देश दिए गए हैं.

  2. अपने हर AdMob ऐप्लिकेशन को उससे जुड़े Firebase ऐप्लिकेशन से लिंक करें.

    यह चरण ज़रूरी नहीं है, फिर भी इसका सुझाव दिया जाता है. ज़्यादा जानने के लिए, फ़ायदे उपयोगकर्ता मेट्रिक को चालू करने और अपने AdMob ऐप्लिकेशन को Firebase से लिंक करने की प्रोसेस के बारे में भी बताएंगे.

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

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

    2. अपने AdMob ऐप्लिकेशन और उससे जुड़े Firebase ऐप्लिकेशन को लागू किया जा सकता है.

      पक्का करें कि आपने पैकेज का नाम (Android) या बंडल आईडी एक ही डाला हो (iOS) जैसा आपने अपने Firebase ऐप्लिकेशन के लिए डाला था. अपने Firebase ऐप्लिकेशन की आपके आपके ऐप्लिकेशन कार्ड में पैकेज का नाम या बंडल आईडी > प्रोजेक्ट सेटिंग.

दूसरा चरण: अपने ऐप्लिकेशन में AdMob का ऐप्लिकेशन आईडी जोड़ना

Android

अपने AdMob का ऐप्लिकेशन आईडी <meta-data> टैग को इस रूप में जोड़कर अपने ऐप्लिकेशन की 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>

iOS

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

प्रोग्राम बनाकर यह बदलाव किया जा सकता है:

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

इसके अलावा, प्रॉपर्टी सूची एडिटर में जाकर इसमें बदलाव किया जा सकता है:

प्रॉपर्टी की सूची का एडिटर

तीसरा चरण: Google Mobile Ads SDK जोड़ें

Google Mobile Ads C++ SDK टूल, firebase::gma नेमस्पेस में मौजूद है, Firebase C++ SDK टूल डाउनलोड करना होगा, और फिर उसे अपनी पसंद की किसी डायरेक्ट्री में अनज़िप करें.

Firebase C++ SDK टूल, प्लैटफ़ॉर्म के हिसाब से नहीं है. हालांकि, इसके लिए यह ज़रूरी है प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी कॉन्फ़िगरेशन.

Android

  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. अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में, जिसमें यह शामिल है: Google Mobile Ads 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 Mobile Ads C++ SDK टूल का इस्तेमाल करने के लिए कॉन्फ़िगर हो गया है.

iOS

इस सेक्शन में, Google Mobile Ads C++ SDK टूल जोड़ने के तरीके का उदाहरण दिया गया है को iOS प्रोजेक्ट से लिंक किया जा सकता है.

  1. चलाकर देखें, CocoaPods का वर्शन 1 या उसके बाद का वर्शन:

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

    1. अगर आपके पास पहले से कोई Podfile नहीं है, तो एक पॉडफ़ाइल बनाएं:

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

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

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

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

आप बिल्कुल तैयार हैं! आपका C++ ऐप्लिकेशन, Google Mobile Ads C++ SDK टूल का इस्तेमाल करने के लिए कॉन्फ़िगर हो गया है.

चौथा चरण: Google Mobile Ads SDK शुरू करें

विज्ञापन लोड करने से पहले, इस नंबर पर कॉल करके Mobile Ads SDK शुरू करें firebase::gma::Initialize().

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

यहां Initialize() को कॉल करने का तरीका बताया गया है:

Android

// 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.
}

iOS

// 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(). प्रोसेस पूरी होने के बाद, आपका ऐप्लिकेशन result() शुरू कर सकता है, ताकि नतीजे मिल सकें AdapterInitializationStatus.

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.
  }
}

पांचवां चरण: अपने ऐप्लिकेशन में लागू करने के लिए कोई विज्ञापन फ़ॉर्मैट चुनें

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

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

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

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

मध्यवर्ती

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

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

अचानक दिखने वाले (इंटरस्टीशियल) विज्ञापन लागू करना

इनाम पाने वाले

ऐसे विज्ञापन जो लोगों को शॉर्ट वीडियो देखने और Playables वाले गेम से इंटरैक्ट करने पर इनाम देते हैं विज्ञापन और सर्वे

इनाम वाले विज्ञापन (या "इनाम वाले") विज्ञापनों की मदद से, मुफ़्त में गेम खेलने वाले उपयोगकर्ताओं से कमाई की जा सकती है.

इनाम वाले विज्ञापन लागू करना

पसंद के अन्य विषय

उपयोगकर्ता मेट्रिक और आंकड़ों का डेटा देखें

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

ध्यान दें कि रिपोर्ट को बेहतर तरीके से पेश करने के लिए, ARPU और एआरपीपीयू मेट्रिक, Analytics कस्टम इवेंट से डेटा को ecommerce_purchase इन मेट्रिक की आय का हिसाब लगाने के लिए, (इसका तरीका जानें).

(ज़रूरी नहीं) Google Analytics और Firebase की ज़्यादा सुविधाओं का इस्तेमाल करना

ऐप्लिकेशन से होने वाली कमाई को बढ़ाने के लिए, ज़्यादा अवसरों और सुविधाओं का फ़ायदा लें. उपयोगकर्ता का जुड़ाव: