आरंभ करें


यह गाइड उन पब्लिशर के लिए है जो AdMob का इस्तेमाल करके, C++ ऐप्लिकेशन से कमाई करना चाहते हैं. Firebase का इस्तेमाल करके ऐसा किया जा सकता है. अगर आपको अपने ऐप्लिकेशन में Firebase को शामिल करना है—या अगर आप इस पर विचार किया जा रहा है—AdMob के, इसका Firebase वर्शन गाइड देखें.

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

Google Mobile Ads C++ SDK में Google Mobile Ads iOS और Android SDK टूल शामिल किए गए हैं. यह सुविधा सिर्फ़ उन प्लैटफ़ॉर्म पर उपलब्ध है. Google Mobile Ads C++ SDK टूल, एसिंक्रोनस ऑपरेशन को सपोर्ट करने के लिए Firebase C++ कंस्ट्रक्ट का इस्तेमाल करता है. इसलिए, यह firebase::gma नेमस्पेस में.

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

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

Android

  • Android Studio 3.2 या इसके बाद के वर्शन का इस्तेमाल करना
  • पक्का करें कि आपके ऐप्लिकेशन की बिल्ड फ़ाइल में इन वैल्यू का इस्तेमाल किया गया हो:
    • 16 या उससे ज़्यादा का minSdkVersion
    • 28 या उससे ज़्यादा का compileSdkVersion

iOS

  • Xcode 13 या उसके बाद के वर्शन का इस्तेमाल करना
  • iOS 10.0 या इसके बाद के वर्शन को टारगेट करना

अपने AdMob खाते में ऐप्लिकेशन सेट अप करें

यह तरीका अपनाकर, अपने ऐप्लिकेशन को AdMob ऐप्लिकेशन के तौर पर रजिस्टर करें:

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

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

Google Mobile Ads C++ SDK टूल इंस्टॉल करें

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

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

Android

हम CMake का इस्तेमाल करने का सुझाव देते हैं, लेकिन आपको ndk-build के लिए निर्देश यहां मिल सकते हैं सामान्य Firebase C++ SDK टूल चालू करें देखने के लिए गाइड करें libfirebase_app.a और libfirebase_gma.a को अपने ऐप्लिकेशन से लिंक करें.

  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. अपने ऐप्लिकेशन को सिंक करें, ताकि यह पक्का किया जा सके कि सभी डिपेंडेंसी के पास ज़रूरी वर्शन हों.

iOS

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

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

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

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

      cd APP_DIRECTORY
      pod init
    2. अपनी Podfile में, Google Mobile Ads C++ SDK टूल के पॉड जोड़ें, Google User Messaging Platform SDK (UMP SDK) और Firebase का बुनियादी SDK टूल (GMA C++ SDK टूल के लिए ज़रूरी है):

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

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

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

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

अपने ऐप्लिकेशन का AdMob ऐप्लिकेशन आईडी कॉन्फ़िगर करना

Android

मोबाइल विज्ञापन SDK टूल में बताए गए तरीके से, अपना ऐप्लिकेशन कॉन्फ़िगर करें के तीसरे चरण को अपनाएं Android गाइड इस पेज पर वापस आएँ.

iOS

Mobile Ads SDK के लिए iOS गाइड में बताए गए तरीके से, अपना Info.plist अपडेट करें. इसके बाद, इस पेज पर वापस आएं.

Google Mobile Ads SDK शुरू करें

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

विज्ञापन, Google Mobile Ads C++ SDK टूल या मीडिएशन पार्टनर SDK टूल का इस्तेमाल करके पहले से लोड हो सकते हैं Initialize() पर कॉल करने पर. अगर आपको इसमें उपयोगकर्ताओं से सहमति लेने की ज़रूरत है, तो यूरोपियन इकनॉमिक एरिया (ईईए) के लिए, किसी भी अनुरोध के हिसाब से फ़्लैग सेट करें (जैसे कि tag_for_child_directed_treatment या tag_for_under_age_of_consent) या अगर विज्ञापन लोड नहीं होते हैं, तो विज्ञापनों को लोड करने से पहले कार्रवाई करें. Google मोबाइल आरंभ करने से पहले firebase::gma::SetRequestConfiguration() Google Ads C++ SDK टूल. ज़्यादा जानकारी के लिए, यह देखें: टारगेटिंग गाइड.

यहां 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.
  }
}

कोई विज्ञापन फ़ॉर्मैट चुनें

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

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

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

मध्यवर्ती

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

इंटरस्टीशियल विज्ञापन लागू करना

इनाम दिया गया

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

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