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
- AdMob kullanıcı arayüzünde gösterim düzeyi reklam geliri özelliğini etkinleştirdiğinizden emin olun.
- Unity eklentisi 5.0.0 veya daha sonraki bir sürüm.
- Başlayın bölümünü tamamlayın. Unity uygulamanızda Google Mobile Ads Unity eklentisi içe aktarılmış olmalıdır.
Gösterim düzeyinde reklam geliri verilerini alabilmek için en az bir reklam biçimi uygulamanız gerekir:
Ü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:
AdapterClassNameözelliğini alın.- 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
OnPaidEventetkinliğ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
OnPaidEventiş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.
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.