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


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

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

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

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

पहला चरण: अपने ऐप्लिकेशन को 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 Mobile Ads पॉड को जोड़ें.

    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 की ज़्यादा सुविधाओं का इस्तेमाल करें

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

  • Google Analytics के लिए, Firebase SDK टूल जोड़ना और उसका इस्तेमाल करना

    ज़्यादा जानने के लिए, Google Analytics और Firebase का इस्तेमाल करने से जुड़ी गाइड पर जाएं AdMob ऐप्लिकेशन के साथ.

  • अपने ऐप्लिकेशन में Firebase के दूसरे प्रॉडक्ट का इस्तेमाल करना

    Google Analytics के लिए Firebase SDK टूल जोड़ने के बाद, अन्य Firebase का इस्तेमाल करें प्रॉडक्ट इस्तेमाल करें.

    • Remote Config की मदद से, व्यवहार में बदलाव किया जा सकता है बिना किसी शुल्क के, ऐप्लिकेशन का अपडेट पब्लिश किए बिना आपका ऐप्लिकेशन कैसा दिखेगा, हर दिन के अनलिमिटेड सक्रिय उपयोगकर्ता.

    • A/B Testing की मदद से, बदलावों को टेस्ट किया जा सकता है आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई), सुविधाएं या यूज़र ऐक्टिविटी कैंपेन की मदद से, आपकी मुख्य मेट्रिक (जैसे, रेवेन्यू और उपयोगकर्ता को अपने साथ जोड़े रखने की जानकारी) पर पड़ने वाला असर. बड़े पैमाने पर बदलाव आता है.