Gösterim düzeyinde reklam geliri

Platform seçin: Android iOS Unity

Bir gösterim gerçekleştiğinde Google Mobile Ads SDK, 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üzeyi 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şleyici uygulama

Her reklam biçiminin bir OnAdPaid etkinliği vardır. Google Mobile Ads SDK'sı, bir reklam etkinliğinin yaşam döngüsü boyunca 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 verilerini analiz platformlarına yönlendirme hakkında 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 OnPaidEvent işleyicinizde hemen tercih ettiğiniz Analytics sunucusuna gönderin. Bu sayede, geri aramaları yanlışlıkla bırakmazsınız ve veri tutarsızlıkları önlenir.

AdValue

AdValue, bir reklam için 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ış hassasiyet türü de dahildir.

AdValue.PrecisionType Açıklama
Unknown Bilinmeyen bir reklam değeri. Bu hata, GD ping geri bildirimi 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ğerEstimated 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 teklif verme reklam kaynağı için test isteği aracılığıyla gösterim düzeyinde reklam geliri etkinliği gerçekleştikten sonra yalnızca aşağıdaki değerleri alırsınız:

  • Unknown: Hassasiyet türünü gösterir.
  • 0: Reklam değerini gösterir.

Daha önce, hassasiyet türünü Unknown dışında bir değer ve reklam değerini 0 değerinden fazla 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.