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