जब कोई इंप्रेशन मिलता है, तब Google Mobile Ads SDK, उस इंप्रेशन से जुड़े विज्ञापन के रेवेन्यू का डेटा उपलब्ध कराता है. इस डेटा का इस्तेमाल, किसी उपयोगकर्ता की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए किया जा सकता है. इसके अलावा, इस डेटा को अन्य काम के सिस्टम में भी भेजा जा सकता है.
इस गाइड का मकसद, आपको अपने Unity प्रोजेक्ट में इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का डेटा कैप्चर करने में मदद करना है.
ज़रूरी शर्तें
- पक्का करें कि आपने AdMob यूज़र इंटरफ़ेस में, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की सुविधा चालू की हो.
- Unity प्लगिन 5.0.0 या इसके बाद का वर्शन.
- शुरू करें पर क्लिक करें. आपके Unity ऐप्लिकेशन में, Google Mobile Ads Unity प्लगिन पहले से ही इंपोर्ट किया गया होना चाहिए.
इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का डेटा पाने के लिए, आपको कम से कम एक विज्ञापन फ़ॉर्मैट लागू करना होगा:
पैसे चुकाकर इस्तेमाल किए जाने वाले इवेंट हैंडलर को लागू करना
हर विज्ञापन फ़ॉर्मैट में एक OnAdPaid इवेंट होता है. विज्ञापन इवेंट के लाइफ़साइकल के दौरान, Google Mobile Ads SDK टूल, इंप्रेशन इवेंट को मॉनिटर करता है. साथ ही, हैंडलर को AdValue के साथ शुरू करता है. यह AdValue, कमाई की वैल्यू को दिखाता है.
यहां दिए गए उदाहरण में, इनाम वाले विज्ञापन के लिए पैसे चुकाकर किए जाने वाले इवेंट को मैनेज किया गया है:
private void LoadRewardedAd()
{
// Send the request to load the ad.
AdRequest adRequest = new AdRequest();
RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
return;
}
rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
});
}
public void HandleAdPaidEvent(AdValue adValue)
{
// TODO: Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
long valueMicros = adValue.Value;
string currencyCode = adValue.CurrencyCode;
PrecisionType precision = adValue.Precision;
ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
}
कस्टम इवेंट के विज्ञापन सोर्स के नाम की पहचान करना
कस्टम इवेंट वाले विज्ञापन सोर्स के लिए, AdSourceName प्रॉपर्टी से आपको विज्ञापन सोर्स का Custom Event नाम मिलता है. अगर एक से ज़्यादा कस्टम इवेंट का इस्तेमाल किया जाता है, तो विज्ञापन सोर्स का नाम इतना सटीक नहीं होता कि अलग-अलग कस्टम इवेंट के बीच अंतर किया जा सके. किसी कस्टम इवेंट का पता लगाने के लिए, यह तरीका अपनाएं:
AdapterClassNameप्रॉपर्टी पाएं.- विज्ञापन सोर्स का कोई यूनीक नाम सेट करें.
यहां दिए गए उदाहरण में, कस्टम इवेंट के लिए विज्ञापन सोर्स का यूनीक नाम सेट किया गया है:
private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
if (loadedAdapterResponseInfo == null)
{
return string.Empty;
}
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
if (adSourceName == "Custom Event")
{
#if UNITY_ANDROID
if (loadedAdapterResponseInfo.AdapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#elif UNITY_IPHONE
if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
{
adSourceName = "Sample Ad Network (Custom Event)";
}
#endif
}
return adSourceName;
}विज्ञापन दिखाने के लिए चुने गए सोर्स के बारे में ज़्यादा जानने के लिए, विज्ञापन के जवाब के बारे में जानकारी पाना लेख पढ़ें.
ऐप्लिकेशन एट्रिब्यूशन पार्टनर (एएपी) के साथ इंटिग्रेट करना
विज्ञापन से मिलने वाले रेवेन्यू के डेटा को आंकड़ों के प्लैटफ़ॉर्म पर फ़ॉरवर्ड करने के बारे में पूरी जानकारी के लिए, पार्टनर की गाइड देखें:
| Partner SDK |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
लागू करने के सबसे सही तरीके
- विज्ञापन ऑब्जेक्ट बनाने या उसका ऐक्सेस पाने के तुरंत बाद,
OnPaidEventइवेंट सेट करें. साथ ही, विज्ञापन दिखाने से पहले इसे सेट करना ज़रूरी है. इससे यह पक्का किया जाता है कि आपसे कोई भी कॉल बैक न छूटे. - अपने
OnPaidEventहैंडलर में, इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू की जानकारी को अपने पसंदीदा Analytics सर्वर पर तुरंत भेजें. इससे यह पक्का होता है कि आपसे गलती से कोई भी कॉलबैक न छूटे और डेटा में अंतर न आए.
AdValue
AdValue एक क्लास है. यह विज्ञापन से मिली मॉनेटरी वैल्यू को दिखाती है. इसमें वैल्यू का मुद्रा कोड और सटीक टाइप शामिल होता है. इसे इस तरह से कोड किया जाता है.
AdValue.PrecisionType |
ब्यौरा |
|---|---|
Unknown |
विज्ञापन की ऐसी वैल्यू जिसकी जानकारी नहीं है. यह तब दिखता है, जब एलटीवी पिंगबैक की सुविधा चालू हो, लेकिन ज़रूरत के मुताबिक डेटा उपलब्ध न हो. |
Estimated |
कुल डेटा से ली गई अनुमानित विज्ञापन वैल्यू. |
PublisherProvided |
पब्लिशर की ओर से दी गई विज्ञापन वैल्यू, जैसे कि किसी मीडिएशन ग्रुप में मौजूद मैन्युअल सीपीएम. |
Precise |
इस विज्ञापन की सटीक वैल्यू. |
मीडिएशन के मामले में, AdMob उन Estimatedविज्ञापन सोर्स के लिए वैल्यू
देने की कोशिश करता है जिन्हें ऑप्टिमाइज़ किया गया है. बिना ऑप्टिमाइज़ किए गए विज्ञापन सोर्स के लिए या ऐसे मामलों में जहां अनुमानित वैल्यू की रिपोर्ट करने के लिए, एग्रीगेट किया गया ज़रूरी डेटा उपलब्ध नहीं है, PublisherProvided वैल्यू दिखाई जाती है.
बिडिंग विज्ञापन स्रोतों से मिले इंप्रेशन को टेस्ट करना
टेस्ट के अनुरोध के ज़रिए, बिडिंग वाले विज्ञापन सोर्स के लिए इंप्रेशन-लेवल पर विज्ञापन से मिलने वाले रेवेन्यू का इवेंट होने के बाद, आपको सिर्फ़ ये वैल्यू मिलती हैं:
Unknown: यह सटीक होने के टाइप के बारे में बताता है.
0: इससे विज्ञापन की वैल्यू का पता चलता है.
पहले, आपको सटीक टाइप की वैल्यू Unknown के अलावा कोई और वैल्यू दिख सकती थी. साथ ही, विज्ञापन की वैल्यू 0 से ज़्यादा दिख सकती थी.
टेस्ट विज्ञापन अनुरोध भेजने के बारे में जानकारी के लिए, टेस्ट डिवाइस चालू करना लेख पढ़ें.