Gösterim düzeyinde reklam geliri

Bir gösterim gerçekleştiğinde Google Mobile Ads Unity Plugin, bu gösterimle ilişkili reklam geliri verilerini sağlar. Verileri, bir kullanıcının yaşam boyu değerini hesaplamak veya verileri aşağı akışta diğer ilgili sistemlere yönlendirmek için kullanabilirsiniz.

Bu kılavuz, gösterim düzeyinde reklam geliri verisi yakalama özelliğini Unity projenizde uygulamanıza yardımcı olmak için hazırlanmıştır.

Ön koşullar

Ücretli etkinlik işleyicisi uygulama

Her reklam biçiminin bir OnAdPaid etkinliği vardır. Bir reklam etkinliğinin yaşam döngüsü sırasında, Google Mobile Ads Unity Plugin gösterim etkinliklerini izler ve kazanılan değeri temsil eden bir AdValue ile işleyiciyi çağırır.

Aşağıdaki örnekte, ödüllü reklam için ücretli etkinlikler ele alınmaktadır:

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"];
}

Özel etkinlik reklam kaynağı adını belirleme

Özel etkinlik reklam kaynakları için AdSourceName özelliği, reklam kaynağı adını Custom Event verir. Birden fazla özel etkinlik kullanıyorsanız reklam kaynağı adı, birden fazla özel etkinlik arasında ayrım yapacak kadar ayrıntılı değildir. Belirli bir özel etkinliği bulmak için aşağıdaki adımları uygulayın:

  1. AdapterClassName özelliğini alın.
  2. Benzersiz bir reklam kaynağı adı ayarlayın.

Aşağıdaki örnekte, özel bir etkinlik için benzersiz bir reklam kaynağı adı ayarlanmaktadır:

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;
}

Kazanan reklam kaynağı hakkında daha fazla bilgi için Reklam yanıtı hakkında bilgi alma başlıklı makaleyi inceleyin.

Uygulama İlişkilendirme Ortakları (AAP) ile entegrasyon

Reklam geliri verilerinin analiz platformlarına yönlendirilmesiyle ilgili tüm ayrıntılar için iş ortağının kılavuzuna bakın:

İş Ortağı SDK'sı
Adjust
AppsFlyer
Singular
Tenjin

Kullanımla ilgili en iyi uygulamalar

  • OnPaidEvent etkinliğini, reklam nesnesini oluşturur veya bu nesneye erişir erişmez ve kesinlikle reklamı göstermeden önce ayarlayın. Bu sayede geri aramaları kaçırmazsınız.
  • Gösterim düzeyinde reklam geliri bilgilerini, tercih ettiğiniz analiz sunucusuna OnPaidEvent işleyicinizde hemen gönderin. Bu sayede, geri aramaları yanlışlıkla bırakmazsınız ve veri tutarsızlıkları önlenir.

AdValue

AdValue, bir reklamdan kazanılan parasal değeri temsil eden bir sınıftır. Bu sınıfa, değerin para birimi kodu ve aşağıdaki gibi kodlanmış kesinlik türü dahildir.

AdValue.PrecisionType Açıklama
Unknown Bilinmeyen bir reklam değeri. Bu, YBD geri ping etkinleştirildiğinde ancak yeterli veri olmadığında döndürülür.
Estimated Birleştirilmiş verilerden tahmin edilen bir reklam değeri.
PublisherProvided Yayıncı tarafından sağlanan bir reklam değeri (ör. bir uyumlulaştırma grubundaki manuel BGBM'ler).
Precise Bu reklamın kesin değeri.

Uyumlulaştırma söz konusu olduğunda AdMob, optimize edilmiş Estimatedreklam kaynakları için bir değer sağlamaya çalışır. Optimize edilmemiş reklam kaynakları için veya anlamlı bir tahmin raporlamak üzere yeterli birleştirilmiş veri bulunmadığı durumlarda PublisherProvided değeri döndürülür.

Teklifli sistem reklam kaynaklarından gelen gösterimleri test etme

Bir test isteği aracılığıyla teklif veren bir reklam kaynağı için gösterim düzeyinde reklam geliri etkinliği gerçekleştikten sonra yalnızca aşağıdaki değerleri alırsınız:

  • Unknown: Kesinlik türünü gösterir.
  • 0: Reklam değerini gösterir.
Daha önce, hassasiyet türünü Unknown dışındaki bir değer olarak ve reklam değerini 0 değerinden yüksek olarak görmüş olabilirsiniz.

Test reklamı isteği gönderme hakkında ayrıntılı bilgi için Test cihazlarını etkinleştirme başlıklı makaleyi inceleyin.