जब कोई इंप्रेशन होता है, तो Google Mobile Ads SDK टूल उस इंप्रेशन से जुड़ा विज्ञापन से मिलने वाले रेवेन्यू का डेटा उपलब्ध कराता है. इस डेटा का इस्तेमाल, उपयोगकर्ता की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए किया जा सकता है. इसके अलावा, डेटा को डाउनस्ट्रीम में अन्य काम के सिस्टम पर भेजा जा सकता है.
इस गाइड का मकसद, आपको अपने Android ऐप्लिकेशन में इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का डेटा कैप्चर करने की सुविधा लागू करने में मदद करना है.
ज़रूरी शर्तें
- पक्का करें कि आपने AdMob यूज़र इंटरफ़ेस में, इंप्रेशन-लेवल पर विज्ञापन से होने वाली आय की सुविधा चालू की हो.
- Google Mobile Ads SDK 21.1.0 या इसके बाद का वर्शन इंपोर्ट करें.
- शुरुआती निर्देशों की गाइड को पूरा करें.
इंप्रेशन-लेवल पर विज्ञापन से मिलने वाला रेवेन्यू पाने से पहले, आपको कम से कम एक विज्ञापन फ़ॉर्मैट लागू करना होगा:
पैसे चुकाकर देखे जाने वाले इवेंट हैंडलर
हर विज्ञापन फ़ॉर्मैट का एक
OnPaidEventListener
होता है.
किसी विज्ञापन इवेंट के लाइफ़साइकल के दौरान, Google Mobile Ads SDK टूल, इंप्रेशन इवेंट को मॉनिटर करता है और हासिल की गई वैल्यू के साथ हैंडलर को कॉल करता है.
यहां दिए गए उदाहरण में, इनाम वाले विज्ञापन के लिए पैसे चुकाकर देखे जाने वाले इवेंट को मैनेज किया गया है:
import com.google.android.gms.ads.rewarded.RewardedAd
class MainActivity : AppCompatActivity() {
private var rewardedAd: RewardedAd? = null
private final var TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
val adRequest = AdRequest.Builder().build()
RewardedAd.load(this, "AD_UNIT_ID ",
adRequest, object: RewardedAdLoadCallback() {
override fun onAdLoaded(ad: RewardedAd) {
rewardedAd = ad
// Set paid event listener
rewardedAd.onPaidEventListener = OnPaidEventListener { adValue ->
// TODO: Send the impression-level ad revenue information to your preferred
// analytics server directly within this callback.
// 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 = rewardedAd.adUnitId
val loadedAdapterResponseInfo = rewardedAd.responseInfo.loadedAdapterResponse
val adSourceName = loadedAdapterResponseInfo.adSourceName
val adSourceId = loadedAdapterResponseInfo.adSourceId
val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
val extras = rewardedAd.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")
}
}
})
}
}
import com.google.android.gms.ads.rewarded.RewardedAd;
public class MainActivity extends Activity {
private RewardedAd rewardedAd;
private final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
AdRequest adRequest = new AdRequest.Builder().build();
RewardedAd.load(this, "AD_UNIT_ID ",
adRequest, new RewardedAdLoadCallback(){
@Override
public void onAdLoaded(@NonNull RewardedAd ad) {
rewardedAd = ad;
// Set paid event listener
rewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
@Override
public void onPaidEvent(AdValue adValue) {
// TODO: Send the impression-level ad revenue information to your
//preferred analytics server directly within this callback.
// 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 = rewardedAd.getAdUnitId();
AdapterResponseInfo loadedAdapterResponseInfo = rewardedAd.getResponseInfo().
getLoadedAdapterResponseInfo();
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
Bundle extras = rewardedAd.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");
}
});
}
});
}
}
विज्ञापन के लिए चुने गए स्रोत के बारे में ज़्यादा जानने के लिए, विज्ञापन के जवाब के बारे में जानकारी पाना लेख पढ़ें.
ऐप्लिकेशन एट्रिब्यूशन पार्टनर (एएपी) इंटिग्रेशन
विज्ञापन से होने वाले रेवेन्यू का डेटा, आंकड़ों के प्लैटफ़ॉर्म पर फ़ॉरवर्ड करने के बारे में पूरी जानकारी के लिए, पार्टनर की गाइड देखें:
पार्टनर SDK टूल |
---|
अडजस्ट करें |
AppsFlyer |
Singular |
Tenjin |
लागू करने के सबसे सही तरीके
- विज्ञापन ऑब्जेक्ट बनाने या उसका ऐक्सेस मिलने के बाद, तुरंत लिसनर सेट करें. साथ ही, विज्ञापन दिखाने से पहले भी ऐसा करना ज़रूरी है. इससे यह पक्का होता है कि आपसे कोई भी पेड इवेंट कॉलबैक न छूटे.
- पेड इवेंट कॉलबैक के कॉल होने पर, इंप्रेशन-लेवल पर विज्ञापन से होने वाली आय की जानकारी को अपने पसंदीदा Analytics सर्वर पर तुरंत भेजें. इससे यह पक्का होता है कि गलती से कोई कॉलबैक न छूटे और डेटा में अंतर न हो.
AdValue
AdValue
एक क्लास है, जो किसी विज्ञापन से हुई कमाई की रकम दिखाती है. इसमें वैल्यू की मुद्रा का कोड और सटीक वैल्यू का टाइप शामिल होता है. इसे नीचे दिए गए तरीके से कोड में बदला जाता है.
PrecisionType | ब्यौरा |
---|---|
UNKNOWN |
विज्ञापन की ऐसी वैल्यू जिसकी जानकारी नहीं है. यह तब दिखता है, जब एलटीवी पिंगबैक चालू है, लेकिन ज़रूरत के मुताबिक डेटा उपलब्ध नहीं है. |
ESTIMATED |
एग्रीगेट किए गए डेटा से ली गई विज्ञापन की अनुमानित वैल्यू. |
PUBLISHER_PROVIDED |
पब्लिशर की ओर से दी गई विज्ञापन वैल्यू, जैसे कि किसी मीडिएशन ग्रुप में मौजूद मैन्युअल सीपीएम. |
PRECISE |
इस विज्ञापन के लिए चुकाई गई सटीक वैल्यू. |
AdMob मीडिएशन के मामले में, AdMob उन विज्ञापन स्रोतों के लिए ESTIMATED
वैल्यू देने की कोशिश करता है जो ऑप्टिमाइज़ किए गए हैं.
PUBLISHER_PROVIDED
वैल्यू दिखती है.
बिडिंग विज्ञापन स्रोतों से मिले इंप्रेशन की जांच करना
टेस्ट रिक्वेस्ट की मदद से, बिडिंग विज्ञापन स्रोत के लिए इंप्रेशन-लेवल पर विज्ञापन से होने वाली आय का इवेंट होने के बाद, आपको सिर्फ़ ये वैल्यू मिलती हैं:
UNKNOWN
: सटीक जानकारी के टाइप के बारे में बताता है.
0
: विज्ञापन की वैल्यू दिखाता है.
पहले, आपको प्रिसिज़न टाइप को UNKNOWN
के अलावा किसी और वैल्यू के तौर पर दिख सकता था. साथ ही, विज्ञापन की वैल्यू 0
से ज़्यादा हो सकती थी.
टेस्ट विज्ञापन अनुरोध भेजने के बारे में जानकारी पाने के लिए, टेस्ट डिवाइसों को चालू करना लेख पढ़ें.