وقتی یک نمایش (impression) رخ میدهد، GMA Next Gen SDK دادههای درآمد تبلیغاتی مرتبط با آن نمایش را ارائه میدهد. میتوانید از این دادهها برای محاسبه ارزش طول عمر کاربر استفاده کنید یا دادهها را به سایر سیستمهای مرتبط ارسال کنید.
این راهنما برای کمک به شما در پیادهسازی جمعآوری دادههای درآمد تبلیغات در سطح نمایش در برنامه اندروید شما در نظر گرفته شده است.
پیشنیازها
- راهنمای شروع به کار را تکمیل کنید.
قبل از اینکه بتوانید درآمد تبلیغاتی در سطح نمایش (impression-level) دریافت کنید، باید حداقل یک فرمت تبلیغاتی را پیادهسازی کنید:
کنترلکننده رویداد پولی
هر قالب تبلیغاتی دارای یک رویداد فراخوانی onAdPaid است. در طول چرخه حیات یک رویداد تبلیغاتی، GMA Next Gen SDK رویدادهای نمایش را رصد میکند و با یک مقدار کسبشده، کنترلکننده را فراخوانی میکند.
مثال زیر رویدادهای پولی را برای یک تبلیغ جایزهدار مدیریت میکند:
کاتلین
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را دریافت کنید. - یک نام منحصر به فرد برای منبع تبلیغات تنظیم کنید.
مثال زیر یک نام منبع تبلیغات منحصر به فرد برای یک رویداد سفارشی تعیین میکند:
کاتلین
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;
}برای اطلاعات بیشتر در مورد منبع تبلیغ برنده، به بازیابی اطلاعات در مورد پاسخ تبلیغ مراجعه کنید.
ادغام App Attribution Partners (AAP).
برای جزئیات کامل در مورد ارسال دادههای درآمد تبلیغات به پلتفرمهای تحلیلی، به راهنمای همکار مراجعه کنید:
| SDK شریک |
|---|
| تنظیم |
| اپلیکیشن فلایر |
| مفرد |
| تنجین |
بهترین شیوههای پیادهسازی
- بلافاصله پس از ایجاد یا دسترسی به شیء تبلیغ، و قطعاً قبل از نمایش تبلیغ، شنونده را تنظیم کنید. این کار تضمین میکند که هیچ فراخوانی رویداد پولی را از دست ندهید.
- اطلاعات درآمد حاصل از تبلیغات در سطح نمایش را بلافاصله در زمان فراخوانی رویداد پولی به سرور تحلیلی دلخواه خود ارسال کنید. این کار تضمین میکند که هیچ فراخوانی را به طور تصادفی از دست ندهید و از اختلافات دادهها جلوگیری کنید.
ارزش تبلیغات
AdValue کلاسی است که ارزش پولی کسب شده برای یک تبلیغ را نشان میدهد، که شامل کد ارزی آن ارزش و نوع دقیق آن است که به شرح زیر کدگذاری شده است.
| نوع دقیق | توضیحات |
|---|---|
UNKNOWN | مقدار تبلیغی که ناشناخته است. این مقدار زمانی برگردانده میشود که پینگبک LTV فعال باشد اما دادههای کافی در دسترس نباشد. |
ESTIMATED | ارزش تبلیغی که از دادههای جمعآوریشده تخمین زده میشود. |
PUBLISHER_PROVIDED | یک ناشر، ارزش تبلیغاتی، مانند CPM های دستی را در یک گروه واسطه ارائه داد. |
PRECISE | ارزش دقیق پرداخت شده برای این تبلیغ. |
در مورد AdMob Mediation، AdMob سعی میکند برای منابع تبلیغاتی بهینهشده ، یک مقدار ESTIMATED ارائه دهد. برای منابع تبلیغاتی بهینهسازینشده، یا در مواردی که دادههای تجمیعشده کافی برای گزارش یک تخمین معنادار وجود ندارد، مقدار PUBLISHER_PROVIDED بازگردانده میشود.
میزان نمایش تبلیغات از منابع تبلیغاتی پیشنهاد قیمت را آزمایش کنید
پس از اینکه رویداد درآمد تبلیغاتی در سطح نمایش برای یک منبع تبلیغاتی پیشنهاد قیمت از طریق یک درخواست آزمایشی رخ داد، شما فقط مقادیر زیر را دریافت میکنید:
-
UNKNOWN: نوع دقت را نشان میدهد.
-
0: نشاندهنده ارزش تبلیغ است.
پیش از این، ممکن است نوع دقت را به عنوان مقداری غیر از UNKNOWN و مقدار ad را بیشتر از 0 دیده باشید.
برای جزئیات بیشتر در مورد ارسال درخواست تبلیغ آزمایشی، به فعال کردن دستگاههای آزمایشی مراجعه کنید.