जब कोई इंप्रेशन मिलता है, तो Google Mobile Ads SDK (Legacy) उस इंप्रेशन से जुड़े विज्ञापन से मिलने वाले रेवेन्यू का डेटा उपलब्ध कराता है. इस डेटा का इस्तेमाल करके, किसी उपयोगकर्ता की लाइफ़टाइम वैल्यू का हिसाब लगाया जा सकता है. इसके अलावा, डेटा को अन्य काम के सिस्टम में भेजा जा सकता है.
इस गाइड की मदद से, अपने Android ऐप्लिकेशन में इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का डेटा कैप्चर करने की सुविधा को लागू किया जा सकता है.
ज़रूरी शर्तें
- पक्का करें कि आपने AdMob यूज़र इंटरफ़ेस (यूआई) में, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की सुविधा चालू की हो.
- Google Mobile Ads SDK (Legacy) 21.1.0 या इसके बाद का वर्शन इंपोर्ट करें.
- Google Mobile Ads SDK (Legacy) को सेट अप करें.
इंप्रेशन-लेवल पर विज्ञापन से मिलने वाला रेवेन्यू पाने के लिए, आपको कम से कम एक विज्ञापन फ़ॉर्मैट लागू करना होगा:
पैसे चुकाकर देखे जाने वाले इवेंट का हैंडलर
हर विज्ञापन फ़ॉर्मैट का एक
OnPaidEventListener होता है.
विज्ञापन इवेंट की लाइफ़साइकल के दौरान, Google Mobile Ads SDK (Legacy) इंप्रेशन इवेंट को मॉनिटर करता है और हैंडलर को अर्न की गई वैल्यू के साथ शुरू करता है.
यहां दिए गए उदाहरण में, इनाम वाले विज्ञापन के लिए पेड इवेंट को हैंडल किया गया है:
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
}
सबसे ज़्यादा बिड करने वाले विज्ञापन स्रोत के बारे में ज़्यादा जानने के लिए, विज्ञापन रिस्पॉन्स के बारे में जानकारी हासिल करना लेख पढ़ें.
ऐप्लिकेशन एट्रिब्यूशन पार्टनर (एएपी) इंटिग्रेशन
विज्ञापन से मिलने वाले रेवेन्यू के डेटा को Analytics प्लैटफ़ॉर्म पर फ़ॉरवर्ड करने के बारे में पूरी जानकारी पाने के लिए, पार्टनर की गाइड देखें:
| पार्टनर एसडीके |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
लागू करने के सबसे सही तरीके
- विज्ञापन ऑब्जेक्ट बनाने या उसका ऐक्सेस पाने के तुरंत बाद, लिसनर सेट करें. साथ ही, विज्ञापन दिखाने से पहले ऐसा ज़रूर करें. इससे यह पक्का होता है कि आपसे पेड इवेंट का कोई कॉलबैक न छूटे.
- पैसे देकर दिखाए जाने वाले इवेंट के कॉलबैक को कॉल करने के समय, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की जानकारी को अपने पसंदीदा Analytics सर्वर पर तुरंत भेजें. इससे यह पक्का होता है कि आपसे गलती से कोई कॉलबैक न छूटे और डेटा में कोई गड़बड़ी न हो.
AdValue
AdValue एक क्लास है, जो किसी विज्ञापन से हुई कमाई की मॉनेटरी वैल्यू दिखाती है. इसमें वैल्यू का करंसी कोड और उसकी सटीक जानकारी देने वाला टाइप शामिल होता है. इसे इस तरह कोड किया जाता है.
| PrecisionType | ब्यौरा |
|---|---|
UNKNOWN |
विज्ञापन की ऐसी वैल्यू जिसकी जानकारी नहीं है. यह गड़बड़ी तब दिखती है, जब लाइफ़टाइम वैल्यू पिंगबैक की सुविधा चालू हो, लेकिन ज़रूरत के मुताबिक डेटा उपलब्ध न हो. |
ESTIMATED |
कुल डेटा से ली गई विज्ञापन की अनुमानित वैल्यू. |
PUBLISHER_PROVIDED |
पब्लिशर की दी हुई विज्ञापन वैल्यू, जैसे कि मीडिएशन ग्रुप में मैन्युअल सीपीएम. |
PRECISE |
इस विज्ञापन के लिए चुकाए गए पैसे. |
AdMob मीडिएशन (अलग-अलग नेटवर्क से विज्ञापन दिखाना) के मामले में, AdMob ऑप्टिमाइज़ किए गए विज्ञापन सोर्स के लिए ESTIMATED वैल्यू देने की कोशिश करता है.
ऑप्टिमाइज़ नहीं किए गए विज्ञापन सोर्स के लिए या ऐसे मामलों में जहां अनुमान लगाने के लिए ज़रूरी कुल डेटा उपलब्ध नहीं है, वहां PUBLISHER_PROVIDED वैल्यू दिखाई जाती है.
बिडिंग में हिस्सा लेने वाले विज्ञापन स्रोतों से मिले टेस्ट इंप्रेशन
टेस्ट रिक्वेस्ट के ज़रिए, बिडिंग में हिस्सा लेने वाले विज्ञापन सोर्स के लिए, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का इवेंट होने के बाद, आपको सिर्फ़ ये वैल्यू मिलती हैं:
UNKNOWN: इससे पता चलता है कि रेवेन्यू कितना सटीक है.
0: इससे विज्ञापन की वैल्यू का पता चलता है.
0 से ज़्यादा और कितना सटीक है की वैल्यू UNKNOWN के अलावा कुछ और दिख सकती थी.
टेस्ट विज्ञापन दिखाने का अनुरोध भेजने के बारे में जानने के लिए, टेस्ट डिवाइसों को चालू करना लेख पढ़ें.