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, Unity projenizde gösterim düzeyi reklam geliri verilerini yakalama özelliğini 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 yeni bir sürüm
- Başlayın bölümünü tamamlayın. Unity uygulamanızda Google Mobil Reklamlar Unity eklentisi zaten 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şleyici 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ü reklamlar için ücretli etkinlikler işlenmektedir:
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ı belirleme
Özel etkinlik reklam kaynakları için AdSourceName özelliği, reklam kaynağı adını Custom Event verir. Birden çok özel etkinlik kullanıyorsanız reklam kaynağı adı, birden çok ö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ı belirleyin.
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 bölümüne bakın.
Uygulama İlişkilendirme Ortakları (AAP) ile entegrasyon
Reklam geliri verilerini analiz platformlarına yönlendirme hakkında ayrıntılı bilgi için iş ortağının kılavuzuna bakın:
| İş Ortağı SDK'sı |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
Kullanımla ilgili en iyi uygulamalar
- Reklam nesnesini oluşturduktan veya nesneye erişim elde ettikten hemen sonra ve reklamı göstermeden önce
OnPaidEventetkinliğini 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 değerin para birimi kodu ve aşağıdaki gibi kodlanmış kesinlik türü de dahildir.
AdValue.PrecisionType |
Açıklama |
|---|---|
Unknown |
Bilinmeyen bir reklam değeri. Bu, YBD geri pingi etkinleştirildiğinde ancak yeterli veri olmadığında döndürülür. |
Estimated |
Birleştirilmiş verilerden tahmin edilen bir reklam değeridir. |
PublisherProvided |
Yayıncı tarafından sağlanan 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ş reklam kaynakları için Estimated değeri sağlamaya çalışır. Optimize edilmemiş reklam kaynakları için veya anlamlı bir tahmin raporlamak için yeterli birleştirilmiş veri olmadığında PublisherProvided değeri döndürülür.
Teklifli sistem reklam kaynaklarından gelen test gösterimleri
Bir test isteği aracılığıyla teklifli sistem 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ışında bir değer, reklam değerini ise 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.