अपने रेवेन्यू सोर्स का आकलन करने से, आपको अपनी लाइफ़टाइम वैल्यू को समझने में मदद मिलती है ऐप्लिकेशन के कारोबार को बढ़ाने में मदद मिलती है. इस गाइड में, विज्ञापन से मिलने वाले रेवेन्यू को सेट अप करने का तरीका बताया गया है मेज़रमेंट के कई तरीके हैं.
विज्ञापन से मिलने वाले रेवेन्यू का मेज़रमेंट सेट अप करने के बाद, इनमें से कोई भी काम किया जा सकता है फ़ॉलो किया जा रहा है:
उपयोगकर्ता की उन कार्रवाइयों का विश्लेषण करें जो आपके ऐप्लिकेशन पर विज्ञापन से मिलने वाले रेवेन्यू में योगदान देती हैं.
Firebase A/B टेस्टिंग का इस्तेमाल करके एक्सपेरिमेंट चलाएं और जानें कि सुविधाओं से, ऐप्लिकेशन पर दिखने वाले विज्ञापन से मिलने वाले रेवेन्यू को बढ़ाने या दिलचस्पी के मुताबिक विज्ञापन दिखाने की सुविधा मिलती है रिमोट कॉन्फ़िगरेशन को उपयोगकर्ता के मनमुताबिक बनाने की सुविधा का इस्तेमाल करने के अनुभव.
कुछ लिखने या तैयार करने में मदद पाएँ उपयोगकर्ता ऑडियंस और इनका इस्तेमाल करके उपयोगकर्ताओं के अनुभव को बेहतर बनाना Firebase रिमोट कॉन्फ़िगरेशन, विज्ञापन से मिलने वाले रेवेन्यू के लेवल पर आधारित होता है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो इन टास्क को पूरा करें:
यहां बताए गए तरीके से, अपने प्रोजेक्ट और ऐप्लिकेशन को सेट अप करें Analytics का इस्तेमाल करना शुरू करें.
पक्का करें कि आपने अपने Firebase प्रोजेक्ट को Google Analytics खाते से लिंक किया जा सकता है.
पक्का करें कि आपने अपने ऐप्लिकेशन में, Android SDK v17.6.0+ या Apple Platform SDK v6.34.0+.
लागू करना
Google Analytics का इस्तेमाल करके, विज्ञापन से मिलने वाले रेवेन्यू का आकलन किया जा सकता है
कमाई करने के प्लैटफ़ॉर्म की मदद से विज्ञापन दिखाना, जैसे कि AdMob, AppLovin, और
आयरनसोर्स. विज्ञापन से होने वाली आय का आकलन करने के लिए, आपको
ad_impression
इवेंट
जब भी आपका उपयोगकर्ता आपके ऐप्लिकेशन में कोई विज्ञापन देखता है. इन इवेंट में ये शामिल हैं
विज्ञापन प्लैटफ़ॉर्म, सोर्स, मुद्रा, और वैल्यू जैसी जानकारी.
AdMob
अगर AdMob प्लैटफ़ॉर्म का इस्तेमाल किया जा रहा है, तो
अपने AdMob ऐप्लिकेशन को Firebase और Analytics से लिंक करना
विज्ञापन से मिलने वाले रेवेन्यू को अपने-आप मेज़र करने की सुविधा चालू करें. Firebase SDK टूल
Google Analytics जब भी ad_impression
इवेंट को अपने-आप लॉग करता है
तब आपके उपयोगकर्ताओं को कोई विज्ञापन इंप्रेशन दिखता है.
विज्ञापन से कमाई करने के अन्य प्लैटफ़ॉर्म
AppLovin और ironSource जैसे प्लैटफ़ॉर्म पर इंप्रेशन-लेवल का रेवेन्यू डेटा मिलता है
फिर आप इसका उपयोग करके Google Analytics को
ad_impression
इवेंट.
नीचे दिए सेक्शन में, अलग-अलग तरह के विज्ञापनों को लागू करने के उदाहरण दिए गए हैं कमाई करने के प्लैटफ़ॉर्म.
AppLovin
Swift
func didPayRevenue(_ impressionData: MAAd?) { if let impressionData = impressionData { Analytics.logEvent( AnalyticsEventAdImpression, parameters: [ AnalyticsParameterAdPlatform: "AppLovin", AnalyticsParameterAdUnitName: impressionData.adUnitIdentifier, AnalyticsParameterAdFormat: impressionData.format, AnalyticsParameterValue: impressionData.revenue, AnalyticsParameterCurrency: "USD", // All Applovin revenue is sent in USD AnalyticsParameterAdSource: impressionData.networkName, ]) } }
Objective-C
- (void)didPayRevenueForAd:(MAAd *)impressionData { [FIRAnalytics logEventWithName:kFIREventAdImpression parameters: @{ kFIRParameterAdPlatform: @"AppLovin", kFIRParameterAdSource: impressionData.networkName, kFIRParameterAdFormat: impressionData.format, kFIRParameterAdUnitName: impressionData.adUnitIdentifier, kFIRParameterCurrency: @"USD", // All Applovin revenue is sent in USD kFIRParameterValue: impressionData.revenue }]; }
Kotlin+KTX
override fun onAdRevenuePaid(impressionData: MaxAd?) { impressionData?.let { firebaseAnalytics = Firebase.analytics firebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION) { param(FirebaseAnalytics.Param.AD_PLATFORM, "appLovin") param(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.adUnitId) param(FirebaseAnalytics.Param.AD_FORMAT, impressionData.format.label) param(FirebaseAnalytics.Param.AD_SOURCE, impressionData.networkName) param(FirebaseAnalytics.Param.VALUE, impressionData.revenue) param(FirebaseAnalytics.Param.CURRENCY, "USD") // All Applovin revenue is sent in USD } } }
Java
@Override public void onAdRevenuePaid(MaxAd impressionData) { double revenue = impressionData.getRevenue(); // In USD mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); Bundle params = new Bundle(); params.putString(FirebaseAnalytics.Param.AD_PLATFORM, "appLovin"); params.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getNetworkName()); params.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getFormat().getLabel()); params.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getAdUnitId()); params.putDouble(FirebaseAnalytics.Param.VALUE, revenue); params.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); // All Applovin revenue is sent in USD mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, params); }
Unity
// Attach callbacks based on the ad format(s) you are using MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; MaxSdkCallbacks.MRec.OnAdRevenuePaidEvent += OnAdRevenuePaidEvent; private void OnAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo impressionData) { double revenue = impressionData.Revenue; var impressionParameters = new[] { new Firebase.Analytics.Parameter("ad_platform", "AppLovin"), new Firebase.Analytics.Parameter("ad_source", impressionData.NetworkName), new Firebase.Analytics.Parameter("ad_unit_name", impressionData.AdUnitIdentifier), new Firebase.Analytics.Parameter("ad_format", impressionData.AdFormat), new Firebase.Analytics.Parameter("value", revenue), new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD }; Firebase.Analytics.FirebaseAnalytics.LogEvent("ad_impression", impressionParameters); }
आयरनसोर्स
Swift
func impressionDataDidSucceed(_ impressionData: ISImpressionData!) { Analytics.logEvent( AnalyticsEventAdImpression, parameters: [ AnalyticsParameterAdPlatform: "ironSource", AnalyticsParameterAdSource: impressionData.ad_network ?? "No ad_network", AnalyticsParameterAdFormat: impressionData.ad_unit ?? "No ad_unit", AnalyticsParameterAdUnitName: impressionData.instance_name ?? "No instance_name", AnalyticsParameterCurrency: "USD", AnalyticsParameterValue: impressionData.revenue ?? 0, ]) }
Objective-C
- (void)impressionDataDidSucceed:(ISImpressionData *)impressionData { [FIRAnalytics logEventWithName:kFIREventAdImpression parameters:@{ kFIRParameterAdPlatform: @"ironSource", kFIRParameterAdSource: impressionData.ad_network, kFIRParameterAdFormat: impressionData.ad_unit, kFIRParameterAdUnitName: impressionData.instance_name, kFIRParameterCurrency: @"USD", kFIRParameterValue: impressionData.revenue }]; }
Kotlin+KTX
override fun onImpressionSuccess(impressionData: ImpressionData) { // The onImpressionSuccess will be reported when the rewarded video and interstitial ad is // opened. // For banners, the impression is reported on load success. Log.d(TAG, "onImpressionSuccess" + // impressionData) firebaseAnalytics = Firebase.analytics firebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION) { param(FirebaseAnalytics.Param.AD_PLATFORM, "ironSource") param(FirebaseAnalytics.Param.AD_SOURCE, impressionData.adNetwork) param(FirebaseAnalytics.Param.AD_FORMAT, impressionData.adUnit) param(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.instanceName) param(FirebaseAnalytics.Param.CURRENCY, "USD") param(FirebaseAnalytics.Param.VALUE, impressionData.revenue) } }
Java
@Override public void onImpressionSuccess(ImpressionData impressionData) { // The onImpressionSuccess will be reported when the rewarded video and interstitial ad is opened. // For banners, the impression is reported on load success. Log.d(TAG, "onImpressionSuccess" + impressionData); mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); if (impressionData != null) { Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.AD_PLATFORM, "ironSource"); bundle.putString(FirebaseAnalytics.Param.AD_SOURCE, impressionData.getAdNetwork()); bundle.putString(FirebaseAnalytics.Param.AD_FORMAT, impressionData.getAdUnit()); bundle.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, impressionData.getInstanceName()); bundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); bundle.putDouble(FirebaseAnalytics.Param.VALUE, impressionData.getRevenue()); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundle); } }
Unity
private void ImpressionSuccessEvent(IronSourceImpressionData impressionData) { if (impressionData != null) { Firebase.Analytics.Parameter[] AdParameters = { new Firebase.Analytics.Parameter("ad_platform", "ironSource"), new Firebase.Analytics.Parameter("ad_source", impressionData.adNetwork), new Firebase.Analytics.Parameter("ad_unit_name", impressionData.getInstanceName), new Firebase.Analytics.Parameter("ad_format", impressionData.getAdUnit), new Firebase.Analytics.Parameter("currency","USD"), new Firebase.Analytics.Parameter("value", impressionData.getRevenue) }; Firebase.Analytics.FirebaseAnalytics.LogEvent("ad_impression", AdParameters); } }
लागू किए जाने के दौरान ध्यान देने वाली बातें
Google Ads को अपने
ad_impression
, पक्का करें कि
currency
और value
पैरामीटर (नीचे बताया गया है) दोनों पैरामीटर हैं. दोनों
पैरामीटर ज़्यादा से ज़्यादा सटीक होने चाहिए, ताकि ज़्यादा वैल्यू या कम वैल्यू न दी जाए
उपयोगकर्ताओं की अहमियत को समझते हैं.
मुद्रा पैरामीटर
currency
पैरामीटर
(iOS+
| Android
| यूनिटी)
तीन अक्षरों में एक स्ट्रिंग के रूप में भेजा जाना चाहिए
आईएसओ_4217
फ़ॉर्मैट (उदाहरण के लिए, "USD"
). विज्ञापन से कमाई करने वाले कुछ प्लैटफ़ॉर्म में मुद्रा नहीं होती,
इसके लिए, आपको पैरामीटर को हार्डकोड करना पड़ सकता है.
वैल्यू पैरामीटर
value
पैरामीटर
(iOS+
| Android
| यूनिटी)
दशमलव सेपरेटर के तौर पर डॉट का इस्तेमाल करके भेजा जाना चाहिए. आपको पूरी बदलाव करनी पड़ सकती है
कुछ प्लैटफ़ॉर्म से मिली वैल्यू को ऊपर दिए गए ज़रूरी फ़ॉर्मैट में डालें. कुछ सूचनाएं मिल रही हैं
प्लैटफ़ॉर्म, अंकों वाले फ़ॉर्मैट को स्थानीय भाषा में लिखते हैं और कॉमा का इस्तेमाल दशमलव सेपरेटर के तौर पर करते हैं. तय सीमा में
कुछ मामलों में, हो सकता है कि प्लैटफ़ॉर्म कोई वैल्यू न भेजे.
इसके अलावा, वैल्यू कोई संख्या वाली होनी चाहिए, जैसे कि डबल या लंबा.
उदाहरण के लिए, 1000.01
, 0.001
, और 1.00
सभी हैं
मान्य
सत्यापन
आपके लागू करने की पुष्टि करने के लिए, Google Analytics में कई सुविधाएं दी गई हैं पूरे डेवलपमेंट साइकल के दौरान.
DebugView
लागू करने की प्रक्रिया की पहली बार जांच करते समय, अपना टेस्टad_impression
डेटा देखने के लिए, DebugView पर क्लिक करें.ad_impression
इवेंट चुनने पर, ऐसे पैरामीटर जिन्हें पैरामीटर पैनल (दाईं ओर मौजूद) में भेजा जा रहा है डालें). इससे आपको यह पुष्टि करने में मदद मिलती है कि सही जानकारी प्रोसेस किया गया.रीयलटाइम डेटा
अपने ऐप्लिकेशन को डिप्लॉय करने के बाद, Google Analytics का इस्तेमाल करें रीयलटाइम रिपोर्ट ताकि यह पुष्टि की जा सके कि लागू किया गया टूल सही तरीके से काम कर रहा है. रीयलटाइम रिपोर्ट में, इवेंट के नाम के हिसाब से इवेंट की संख्या कार्ड देखें और ज़्यादा जानकारी के लिए, ad_impression चुनें पिछले 30 मिनट के इवेंट और पैरामीटर की जानकारी.BigQuery
एक्सट्रैक्ट करने के लिए BigQuery Export का इस्तेमाल करें एक या एक से ज़्यादा दिनों केad_impression
इवेंट का सैंपल. एक्सट्रैक्ट किए गए डेटा का इस्तेमाल करें सैंपल देखें, जैसे कि शून्य या सेट नहीं की गई वैल्यू और समाधान लागू करना अपने कोड में जोड़ें.
अगले चरण
Firebase कंसोल में या अपने लिंक किए गए खाते में Analytics डैशबोर्ड पर जाएं Analytics प्रॉपर्टी को Analytics कंसोल में देख सकते हैं. विज्ञापन से मिलने वाले रेवेन्यू को इन फ़ैक्टर के हिसाब से बनाया जाता है हर उपयोगकर्ता से होने वाली औसत आय (एआरपीयू) और लाइफ़टाइम रेवेन्यू जैसी मेट्रिक में वैल्यू (लाइफ़टाइम वैल्यू).