इंप्रेशन-लेवल पर विज्ञापन से मिलने वाला रेवेन्यू

प्लैटफ़ॉर्म चुनें: Android iOS Unity

जब कोई इंप्रेशन मिलता है, तब Google Mobile Ads SDK, उस इंप्रेशन से जुड़े विज्ञापन के रेवेन्यू का डेटा उपलब्ध कराता है. इस डेटा का इस्तेमाल, किसी उपयोगकर्ता की लाइफ़टाइम वैल्यू का हिसाब लगाने के लिए किया जा सकता है. इसके अलावा, इस डेटा को अन्य काम के सिस्टम में भी भेजा जा सकता है.

इस गाइड का मकसद, आपको अपने 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 नाम मिलता है. अगर एक से ज़्यादा कस्टम इवेंट का इस्तेमाल किया जाता है, तो विज्ञापन सोर्स का नाम इतना सटीक नहीं होता कि अलग-अलग कस्टम इवेंट के बीच अंतर किया जा सके. किसी कस्टम इवेंट का पता लगाने के लिए, यह तरीका अपनाएं:

  1. AdapterClassName प्रॉपर्टी पाएं.
  2. विज्ञापन सोर्स का कोई यूनीक नाम सेट करें.

यहां दिए गए उदाहरण में, कस्टम इवेंट के लिए विज्ञापन सोर्स का यूनीक नाम सेट किया गया है:

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 से ज़्यादा दिख सकती थी.

टेस्ट विज्ञापन अनुरोध भेजने के बारे में जानकारी के लिए, टेस्ट डिवाइस चालू करना लेख पढ़ें.