यह शुरुआती गाइड उन पब्लिशर और डेवलपर के लिए है जो Firebase से बनाए गए ऐप्लिकेशन से कमाई करने के लिए, 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 खाते में ऐप्लिकेशन सेट अप करना
अपने ऐप्लिकेशन के हर प्लैटफ़ॉर्म वैरिएंट को AdMob ऐप्लिकेशन के तौर पर रजिस्टर करें.
AdMob खाते में साइन इन करें या साइन अप करें.
अपने ऐप्लिकेशन के हर प्लैटफ़ॉर्म वैरिएंट को AdMob के साथ रजिस्टर करें. इस चरण में, AdMob ऐप्लिकेशन बनाया जाता है. इसमें एक यूनीक AdMob ऐप्लिकेशन आईडी होता है. इस आईडी की ज़रूरत आपको इस गाइड में आगे चलकर पड़ेगी.
आपसे अपने ऐप्लिकेशन में Mobile Ads SDK टूल जोड़ने के लिए कहा जाएगा. इस टास्क के बारे में ज़्यादा जानकारी पाने के लिए, इस गाइड में आगे पढ़ें.
अपने हर AdMob ऐप्लिकेशन को उससे जुड़े Firebase ऐप्लिकेशन से लिंक करें.
यह चरण ज़रूरी नहीं है, लेकिन इसका सुझाव दिया जाता है. उपयोगकर्ता मेट्रिक चालू करने और अपने AdMob ऐप्लिकेशन को Firebase से लिंक करने के फ़ायदों के बारे में ज़्यादा जानें.
हर प्लैटफ़ॉर्म वैरिएंट के लिए, अपने AdMob खाते के ऐप्लिकेशन डैशबोर्ड में जाकर, ये दो चरण पूरे करें:
AdMob को आपके AdMob खाते में, चुनिंदा आंकड़ों के डेटा को प्रोसेस और दिखाने की अनुमति देने के लिए, उपयोगकर्ता मेट्रिक को चालू करें. यह सेटिंग, AdMob ऐप्लिकेशन को Firebase से लिंक करने के लिए भी ज़रूरी है.
अपने मौजूदा Firebase प्रोजेक्ट और उससे जुड़े Firebase ऐप्लिकेशन से, अपने AdMob ऐप्लिकेशन को लिंक करें.
पक्का करें कि आपने वही पैकेज नाम (Android) या बंडल आईडी डाला हो जो आपने अपने Firebase ऐप्लिकेशन के लिए डाला था. अपने Firebase ऐप्लिकेशन का पैकेज नाम या बंडल आईडी ढूंढने के लिए,
प्रोजेक्ट की सेटिंग के आपके ऐप्लिकेशन कार्ड में जाएं. >
दूसरा चरण: अपने ऐप्लिकेशन में AdMob ऐप्लिकेशन आईडी जोड़ना
Android
नीचे दिए गए तरीके से <meta-data>
टैग जोड़कर, अपने ऐप्लिकेशन की AndroidManifest.xml
फ़ाइल में AdMob ऐप्लिकेशन आईडी जोड़ें.
<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
अपने प्रोजेक्ट की
gradle.properties
फ़ाइल में, अनज़िप किए गए SDK टूल की जगह की जानकारी दें:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
अपने प्रोजेक्ट की
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"
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की 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 }
अपने प्रोजेक्ट की
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}")
अपने ऐप्लिकेशन को सिंक करें, ताकि यह पक्का किया जा सके कि सभी डिपेंडेंसी के ज़रूरी वर्शन मौजूद हों.
आप बिल्कुल तैयार हैं! आपका C++ ऐप्लिकेशन, Google Mobile Ads C++ SDK का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया हो.
iOS
इस सेक्शन में दिए गए चरणों में, अपने iOS प्रोजेक्ट में Google Mobile Ads C++ SDK टूल जोड़ने का तरीका बताया गया है.
CocoaPods का वर्शन 1 या उसके बाद का वर्शन पाने के लिए, यह तरीका अपनाएं:
sudo gem install cocoapods --pre
अनज़िप किए गए SDK टूल से Google Mobile Ads पॉड जोड़ें.
अगर आपके पास पहले से कोई Podfile नहीं है, तो एक बनाएं:
cd YOUR_APP_DIRECTORY
pod init
अपनी Podfile में, Google Mobile Ads C++ SDK टूल के लिए पॉड जोड़ें:
pod 'Google-Mobile-Ads-SDK'
पॉड इंस्टॉल करें. इसके बाद, Xcode में
.xcworkspace
फ़ाइल खोलें.pod install
open YOUR_APP.xcworkspace
प्रोजेक्ट में Firebase C++ SDK टूल से ये फ़्रेमवर्क जोड़ें:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
आप बिल्कुल तैयार हैं! आपका C++ ऐप्लिकेशन, Google Mobile Ads C++ SDK का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया हो.
चौथा चरण: Google Mobile Ads SDK टूल को शुरू करना
विज्ञापन लोड करने से पहले, firebase::gma::Initialize()
को कॉल करके Mobile Ads SDK टूल को शुरू करें.
यह कॉल एक 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 दस्तावेज़ में लागू करने के बारे में ज़्यादा जानकारी देखें.
बैनर
डिवाइस की स्क्रीन पर सबसे ऊपर या सबसे नीचे दिखने वाले आयताकार विज्ञापन
जब उपयोगकर्ता आपके ऐप्लिकेशन के साथ इंटरैक्ट करते हैं, तब स्क्रीन पर सबसे ऊपर या सबसे नीचे बैनर विज्ञापन दिखते रहते हैं. ये विज्ञापन कुछ समय बाद अपने-आप रीफ़्रेश हो सकते हैं. अगर आपने मोबाइल पर विज्ञापन दिखाने की सुविधा का इस्तेमाल पहले कभी नहीं किया है, तो इनसे शुरुआत करें.
बैनर विज्ञापन लागू करनामध्यवर्ती
फ़ुल-स्क्रीन विज्ञापन, जो किसी ऐप्लिकेशन के इंटरफ़ेस को तब तक कवर करते हैं, जब तक उपयोगकर्ता उन्हें बंद नहीं कर देता
इंटरस्टीशियल विज्ञापनों का इस्तेमाल, ऐप्लिकेशन के इस्तेमाल के दौरान होने वाले नैचुरल ब्रेक के दौरान किया जा सकता है. जैसे, किसी गेम के लेवल के बीच में या कोई टास्क पूरा होने के बाद.
इंटरस्टीशियल विज्ञापन लागू करनाइनाम पाने वाले
ऐसे विज्ञापन जिनमें इनाम पाने के लिए उपयोगकर्ताओं को छोटे-छोटे वीडियो देखने होते हैं. इसके अलावा, उन्हें 'खेलने देने वाले विज्ञापन' से इंटरैक्ट करना होता है या फिर कोई सर्वे भरना होता है
इनाम वाले (या "इनाम पर आधारित") विज्ञापनों की मदद से, फ़्री-टू-प्ले उपयोगकर्ताओं से कमाई की जा सकती है.
पसंद के अन्य विषय
उपयोगकर्ता मेट्रिक और आंकड़ों का डेटा देखना
शुरू होने के बाद, Mobile Ads SDK टूल आपके ऐप्लिकेशन से, Analytics के इवेंट और उपयोगकर्ता प्रॉपर्टी को अपने-आप लॉग करना शुरू कर देता है. इस डेटा को देखने के लिए, आपको अपने ऐप्लिकेशन में कोई और कोड जोड़ने या विज्ञापन लागू करने की ज़रूरत नहीं है. यह आंकड़ा यहां देखा जा सकता है:
अपने AdMob खाते के उपयोगकर्ता मेट्रिक कार्ड (होम या ऐप्लिकेशन डैशबोर्ड) में, इकट्ठा किए गए आंकड़ों के डेटा से तैयार की गई उपयोगकर्ता मेट्रिक देखी जा सकती हैं. जैसे, सेशन का औसत समय, एआरपीयू, और निजी डेटा का रखरखाव.
Firebase कंसोल के Analytics डैशबोर्ड में, एग्रीगेट किए गए आंकड़े और मुख्य मेट्रिक की खास जानकारी देखी जा सकती है. अगर Google Analytics के लिए Firebase SDK टूल जोड़ा जाता है, तो Firebase कंसोल में विज्ञापन कैंपेन के लिए कन्वर्ज़न मार्क और कस्टम ऑडियंस बनाई जा सकती हैं.
ध्यान दें कि एआरपीयू और एआरपीपीयू मेट्रिक को बेहतर तरीके से दिखाने के लिए, हो सकता है कि आप इन मेट्रिक के लिए आय के हिसाब लगाने में, ecommerce_purchase
नाम के किसी Analytics कस्टम इवेंट का डेटा शामिल करना चाहें (जानें कि कैसे).
(ज़रूरी नहीं) Google Analytics और Firebase की ज़्यादा सुविधाओं का इस्तेमाल करना
ऐप्लिकेशन से कमाई करने और उपयोगकर्ता के जुड़ाव को बेहतर बनाने के लिए, ज़्यादा अवसरों और सुविधाओं का फ़ायदा पाएं:
Google Analytics के लिए Firebase SDK टूल जोड़ना और उसका इस्तेमाल करना
अपने ऐप्लिकेशन में कस्टम इवेंट लॉगिंग को लागू करें.
कस्टम विज्ञापन कैंपेन के लिए कन्वर्ज़न मार्क करें.
एआरपीयू और एआरपीपीयू मेट्रिक के लिए रेवेन्यू के हिसाब लगाते समय,
ecommerce_purchase
इवेंट का डेटा शामिल करें.
ज़्यादा जानने के लिए, AdMob ऐप्लिकेशन के साथ Google Analytics और Firebase का इस्तेमाल करने से जुड़ी गाइड पर जाएं.
अपने ऐप्लिकेशन में Firebase के अन्य प्रॉडक्ट इस्तेमाल करना
Google Analytics के लिए Firebase SDK टूल जोड़ने के बाद, अपने ऐप्लिकेशन में विज्ञापनों को ऑप्टिमाइज़ करने के लिए, Firebase के अन्य प्रॉडक्ट का इस्तेमाल करें.
Remote Config की मदद से, ऐप्लिकेशन का अपडेट पब्लिश किए बिना ही उसका व्यवहार और लुक बदला जा सकता है. इसके लिए, आपको कोई शुल्क नहीं देना होगा. साथ ही, यह सुविधा हर दिन के सक्रिय उपयोगकर्ताओं के लिए उपलब्ध है.
A/B Testing की मदद से, अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई), फ़ीचर या दर्शकों को जोड़ने वाले कैंपेन में किए गए बदलावों की जांच की जा सकती है. इससे, यह पता चलता है कि बदलावों को सभी के लिए लागू करने से पहले, वे आपकी मुख्य मेट्रिक (जैसे, आय और उपयोगकर्ताओं को जोड़े रखना) पर असर डालते हैं या नहीं.