जब कोई इंप्रेशन मिलता है, तब Google Mobile Ads SDK, उस इंप्रेशन से जुड़े विज्ञापन के रेवेन्यू का डेटा उपलब्ध कराता है. इस डेटा का इस्तेमाल, किसी उपयोगकर्ता की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए किया जा सकता है. इसके अलावा, इस डेटा को अन्य काम के सिस्टम में भी भेजा जा सकता है.
इस गाइड का मकसद, आपके Android ऐप्लिकेशन में इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का डेटा कैप्चर करने में आपकी मदद करना है.
ज़रूरी शर्तें
- पक्का करें कि आपने AdMob यूज़र इंटरफ़ेस (यूआई) में, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की सुविधा चालू की हो.
- Google Mobile Ads SDK 21.1.0 या इसके बाद का वर्शन इंपोर्ट करें.
- शुरुआती निर्देश पढ़ें.
इंप्रेशन-लेवल पर विज्ञापन से मिलने वाला रेवेन्यू पाने के लिए, आपको कम से कम एक विज्ञापन फ़ॉर्मैट लागू करना होगा:
पैसे चुकाकर देखे जाने वाले इवेंट का हैंडलर
हर विज्ञापन फ़ॉर्मैट का एक
OnPaidEventListener
होता है.
विज्ञापन इवेंट के लाइफ़साइकल के दौरान, Google Mobile Ads SDK इंप्रेशन इवेंट को मॉनिटर करता है. साथ ही, कमाई की गई वैल्यू के साथ हैंडलर को शुरू करता है.
यहां दिए गए उदाहरण में, इनाम वाले विज्ञापन के लिए पैसे चुकाकर किए जाने वाले इवेंट को मैनेज किया गया है:
Java
private void setOnPaidEventListener(RewardedAd ad) {
ad.setOnPaidEventListener(
new OnPaidEventListener() {
@Override
public void onPaidEvent(@NonNull AdValue adValue) {
// Extract the impression-level ad revenue data.
long valueMicros = adValue.getValueMicros();
String currencyCode = adValue.getCurrencyCode();
int precision = adValue.getPrecisionType();
// Get the ad unit ID.
String adUnitId = ad.getAdUnitId();
// Extract ad response information.
AdapterResponseInfo loadedAdapterResponseInfo =
ad.getResponseInfo().getLoadedAdapterResponseInfo();
if (loadedAdapterResponseInfo != null) {
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
Bundle extras = ad.getResponseInfo().getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}
}
});
}
Kotlin
private fun setOnPaidEventListener(ad: RewardedAd) {
ad.onPaidEventListener = OnPaidEventListener { adValue ->
// Extract the impression-level ad revenue data.
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precision = adValue.precisionType
// Get the ad unit ID.
val adUnitId = ad.adUnitId
// Extract ad response information.
val loadedAdapterResponseInfo = ad.responseInfo.loadedAdapterResponseInfo
val adSourceName = loadedAdapterResponseInfo?.adSourceName
val adSourceId = loadedAdapterResponseInfo?.adSourceId
val adSourceInstanceName = loadedAdapterResponseInfo?.adSourceInstanceName
val adSourceInstanceId = loadedAdapterResponseInfo?.adSourceInstanceId
val extras = ad.responseInfo.responseExtras
val mediationGroupName = extras.getString("mediation_group_name")
val mediationABTestName = extras.getString("mediation_ab_test_name")
val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}
}
कस्टम इवेंट के विज्ञापन सोर्स के नाम की पहचान करना
कस्टम इवेंट विज्ञापन सोर्स के लिए, getAdSourceName()
तरीके से विज्ञापन सोर्स का नाम Custom event
मिलता है. अगर एक से ज़्यादा कस्टम इवेंट का इस्तेमाल किया जाता है, तो विज्ञापन सोर्स का नाम इतना सटीक नहीं होता कि अलग-अलग कस्टम इवेंट के बीच अंतर किया जा सके. किसी कस्टम इवेंट का पता लगाने के लिए, यह तरीका अपनाएं:
getAdSourceName()
तरीके को कॉल करें.- विज्ञापन सोर्स का कोई यूनीक नाम सेट करें.
यहां दिए गए उदाहरण में, कस्टम इवेंट के लिए विज्ञापन सोर्स का यूनीक नाम सेट किया गया है:
Java
private String getUniqueAdSourceName(@NonNull AdapterResponseInfo loadedAdapterResponseInfo) {
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
if (adSourceName.equals("Custom Event")) {
if (loadedAdapterResponseInfo
.getAdapterClassName()
.equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
adSourceName = "Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
Kotlin
private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdapterResponseInfo): String {
var adSourceName = loadedAdapterResponseInfo.adSourceName
if (adSourceName == "Custom Event") {
if (
loadedAdapterResponseInfo.adapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent"
) {
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}
विज्ञापन दिखाने के लिए चुने गए सोर्स के बारे में ज़्यादा जानने के लिए, विज्ञापन के जवाब के बारे में जानकारी पाना लेख पढ़ें.
ऐप्लिकेशन एट्रिब्यूशन पार्टनर (एएपी) इंटिग्रेशन
विज्ञापन से मिलने वाले रेवेन्यू के डेटा को आंकड़ों के प्लैटफ़ॉर्म पर फ़ॉरवर्ड करने के बारे में पूरी जानकारी के लिए, पार्टनर की गाइड देखें:
Partner SDK |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
लागू करने के सबसे सही तरीके
- विज्ञापन ऑब्जेक्ट बनाने या उसका ऐक्सेस पाने के तुरंत बाद लिसनर सेट करें. साथ ही, विज्ञापन दिखाने से पहले ऐसा ज़रूर करें. इससे यह पक्का किया जाता है कि आपसे किसी भी ऐसे इवेंट के कॉलबैक न छूटें जिनके लिए पेमेंट किया गया है.
- पैसे चुकाकर दिखाए जाने वाले इवेंट के कॉलबैक को कॉल किए जाने के समय, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की जानकारी को अपने पसंदीदा Analytics सर्वर पर तुरंत भेजें. इससे यह पक्का होता है कि आपसे गलती से कोई भी कॉलबैक न छूटे. साथ ही, डेटा में अंतर आने से भी बचा जा सकता है.
AdValue
AdValue
एक क्लास है, जो विज्ञापन से मिली मॉनेटरी वैल्यू को दिखाती है. इसमें वैल्यू का मुद्रा कोड और इसकी सटीक वैल्यू का टाइप शामिल होता है. इसे इस तरह से कोड किया जाता है.
PrecisionType | ब्यौरा |
---|---|
UNKNOWN |
विज्ञापन की ऐसी वैल्यू जिसकी जानकारी नहीं है. यह तब दिखता है, जब एलटीवी पिंगबैक की सुविधा चालू हो, लेकिन ज़रूरत के मुताबिक डेटा उपलब्ध न हो. |
ESTIMATED |
कुल डेटा से ली गई अनुमानित विज्ञापन वैल्यू. |
PUBLISHER_PROVIDED |
पब्लिशर की ओर से दी गई विज्ञापन वैल्यू, जैसे कि किसी मीडिएशन ग्रुप में मौजूद मैन्युअल सीपीएम. |
PRECISE |
इस विज्ञापन के लिए चुकाए गए पैसे. |
AdMob मीडिएशन के मामले में, AdMob उन विज्ञापन सोर्स के लिए ESTIMATED
वैल्यू देने की कोशिश करता है जिन्हें ऑप्टिमाइज़ किया गया है.
PUBLISHER_PROVIDED
वैल्यू दिखाई जाती है.
बिडिंग विज्ञापन स्रोतों से मिले इंप्रेशन को टेस्ट करना
टेस्ट के अनुरोध के ज़रिए, बिडिंग वाले विज्ञापन सोर्स के लिए इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का इवेंट होने के बाद, आपको सिर्फ़ ये वैल्यू मिलती हैं:
UNKNOWN
: यह सटीक होने के टाइप के बारे में बताता है.
0
: इससे विज्ञापन की वैल्यू का पता चलता है.
पहले, आपको सटीक टाइप की वैल्यू UNKNOWN
के अलावा कोई और वैल्यू दिख सकती थी. साथ ही, विज्ञापन की वैल्यू 0
से ज़्यादा दिख सकती थी.
टेस्ट विज्ञापन अनुरोध भेजने के बारे में जानकारी के लिए, टेस्ट डिवाइस चालू करना लेख पढ़ें.