وقتی ظهوری رخ میدهد، GMA Next-Gen SDK دادههای درآمد آگهی مربوط به آن ظهور را ارائه میدهد. میتوانید از این دادهها برای محاسبه ارزش طول عمر کاربر استفاده کنید یا دادهها را به سیستمهای مرتبط دیگر ارسال کنید.
این راهنما برای کمک به شما در پیادهسازی ضبط دادههای درآمد آگهی در سطح ظهور در برنامه Android شما طراحی شده است.
پیشنیازها
- مطمئن شوید که ویژگی درآمد آگهی در سطح ظهور را روشن کرده باشید در رابط کاربری Ad Manager.
- GMA Next-Gen SDK را راهاندازی کنید.
قبلاز اینکه بتوانید درآمد آگهی در سطح ظهور دریافت کنید، باید حداقل یک قالب آگهی را پیادهسازی کنید:
مدیریتکننده رویداد پولی
هر قالب آگهی دارای یک
onAdPaid
فراخوانی رویداد است.
درطول چرخه حیات رویداد آگهی، GMA Next-Gen SDK رویدادهای ظهور را پایش میکند و گرداننده را با مقدار کسبشده فراخوانی میکند.
مثال زیر رویدادهای پولی را برای آگهی پاداشدار مدیریت میکند:
Kotlin
ad.adEventCallback =
object : RewardedAdEventCallback {
override fun onAdPaid(adValue: AdValue) {
// Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
// Extract the impression-level ad revenue data.
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precisionType = adValue.precisionType
val loadedAdSourceResponseInfo = ad.getResponseInfo().loadedAdSourceResponseInfo
val adSourceName = loadedAdSourceResponseInfo?.name
val adSourceId = loadedAdSourceResponseInfo?.id
val adSourceInstanceName = loadedAdSourceResponseInfo?.instanceName
val adSourceInstanceId = loadedAdSourceResponseInfo?.instanceId
val extras = ad.getResponseInfo().responseExtras
val mediationGroupName = extras.getString("mediation_group_name")
val mediationABTestName = extras.getString("mediation_ab_test_name")
val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}
}
جاوا
ad.setAdEventCallback(
new RewardedAdEventCallback() {
@Override
public void onAdPaid(@NonNull AdValue value) {
// Send the impression-level ad revenue information to your preferred
// analytics server directly within this callback.
// Extract the impression-level ad revenue data.
long valueMicros = value.getValueMicros();
String currencyCode = value.getCurrencyCode();
PrecisionType precisionType = value.getPrecisionType();
AdSourceResponseInfo loadedAdSourceResponseInfo =
ad.getResponseInfo().getLoadedAdSourceResponseInfo();
String adSourceName = loadedAdSourceResponseInfo.getName();
String adSourceId = loadedAdSourceResponseInfo.getId();
String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
Bundle extras = ad.getResponseInfo().getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}
});
شناسایی نام منبع آگهی رویداد سفارشی
برای منابع آگهی رویداد سفارشی، ویژگی AdSourceResponseInfo.name
نام منبع آگهی Custom event را برمیگرداند. اگر از چند رویداد سفارشی استفاده میکنید، نام منبع آگهی بهاندازه کافی جزئی نیست که بتواند بین چند رویداد سفارشی تمایز قائل شود. برای پیدا کردن رویداد سفارشی خاص، این کار را انجام دهید:
- خصوصیت
AdSourceResponseInfo.nameرا دریافت کنید. - نام منبع آگهی منحصربهفردی تنظیم کنید.
مثال زیر نام منبع آگهی منحصربهفردی را برای رویداد سفارشی تنظیم میکند:
Kotlin
private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdSourceResponseInfo): String {
var adSourceName = loadedAdapterResponseInfo.name
if (adSourceName == "Custom Event") {
if (
loadedAdapterResponseInfo.adapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent"
) {
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}جاوا
private String getUniqueAdSourceName(@NonNull AdSourceResponseInfo loadedAdapterResponseInfo) {
String adSourceName = loadedAdapterResponseInfo.getName();
if (adSourceName.equals("Custom Event")) {
if (loadedAdapterResponseInfo
.getAdapterClassName()
.equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
adSourceName = "Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
برای اطلاعات بیشتر درباره منبع آگهی برنده، به بازیابی اطلاعات درباره پاسخ آگهی مراجعه کنید.
روالهای مطلوب پیادهسازی
- بهمحض ایجاد یا دسترسی به شیء آگهی، شنونده را تنظیم کنید، و حتماً قبلاز نمایش آگهی این کار را انجام دهید. این کار تضمین میکند که هیچکدام از فراخوانیهای رویداد پولی را ازدست ندهید.
- اطلاعات درآمد آگهی در سطح ظهور را بلافاصله در زمان فراخوانی برگشت فراخوانی رویداد پولی به سرور تجزیهوتحلیل دلخواهتان ارسال کنید. این کار اطمینان میدهد که بهطور تصادفی هیچکدام از تماسهای برگشتی را ازدست ندهید و از مغایرت دادهها جلوگیری میکند.
AdValue
AdValue کلاسی است که ارزش پولی کسبشده برای آگهی را نشان میدهد،
ازجمله کد واحد پول مقدار و نوع دقت آن که بهصورت زیر کدگذاری شده است.
| PrecisionType | شرح |
|---|---|
UNKNOWN |
مقدار آگهی که ناشناخته است. این خطا زمانی برگردانده میشود که پینگبک LTV فعال باشد اما دادههای کافی دردسترس نباشد. |
ESTIMATED |
مقدار آگهی تخمینزدهشده از دادههای تجمیعی. |
PUBLISHER_PROVIDED |
مقدار آگهی ارائهشده توسط ناشر، مانند هزارظهوربهای دستی در گروه میانجیگری. |
PRECISE |
مبلغ دقیقی که برای این آگهی پرداخت شده است. |
درصورت میانجیگری، Ad Manager تلاش میکند
مقدار ESTIMATED را برای منابع آگهیای که
جمعآوری خودکار دادهها را
فعال کردهاند ارائه دهد.
برای منابع آگهی بهینهنشده، یا در مواردی که دادههای تجمیعی کافی برای گزارش برآورد معنادار وجود ندارد، مقدار PUBLISHER_PROVIDED برگردانده میشود.
آزمایش کردن ظهورها از «مناقصه آزاد»
پساز اینکه رویداد درآمد آگهی در سطح ظهور برای منبع آگهی «پیشنهاد قیمت باز» ازطریق درخواست آزمایشی رخ میدهد، فقط مقادیر زیر را دریافت میکنید:
-
UNKNOWN: نوع دقت را نشان میدهد.
0: نشاندهنده ارزش آگهی است.
UNKNOWN و مقدار آگهی را بیشتر از 0 ببینید.
برای جزئیات مربوط به ارسال درخواست آگهی آزمایشی، به فعال کردن دستگاههای آزمایشی مراجعه کنید.