عند تسجيل مرّة ظهور، يقدّم GMA Next-Gen SDK بيانات أرباح الإعلانات المرتبطة بمرّة الظهور هذه. يمكنك استخدام البيانات لاحتساب القيمة الدائمة للمستخدم أو إعادة توجيه البيانات إلى الأنظمة الأخرى ذات الصلة.
يهدف هذا الدليل إلى مساعدتك في تنفيذ عملية تسجيل بيانات إيرادات الإعلان على مستوى مرة الظهور في تطبيق Android.
المتطلبات الأساسية
- تأكَّد من تفعيل ميزة "إيرادات الإعلانات على مستوى مرّات الظهور" في واجهة مستخدم "مدير إعلانات Google".
- إعداد 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 |
هي القيمة الدقيقة المدفوعة مقابل هذا الإعلان. |
في ما يتعلّق بالتوسّط، يحاول "مدير إعلانات Google" تقديم قيمة ESTIMATED لمصادر الإعلانات التي تم تفعيل ميزة جمع البيانات تلقائيًا فيها.
بالنسبة إلى مصادر الإعلانات غير المحسَّنة، أو في الحالات التي لا تتوفّر فيها بيانات مجمّعة كافية لتقديم تقدير مفيد، يتم عرض القيمة PUBLISHER_PROVIDED.
مرّات الظهور الاختبارية من "عرض الأسعار المفتوح"
بعد تسجيل حدث مرتبط بإيرادات الإعلانات على مستوى مرّة الظهور لمصدر إعلان في "عرض الأسعار المفتوح" من خلال طلب اختباري، لن تتلقّى سوى القيم التالية:
-
UNKNOWN: يشير إلى تصنيف دقة القيمة.
0: يشير إلى قيمة الإعلان.
UNKNOWN وقيمة إعلان أكبر من 0.
للحصول على تفاصيل حول إرسال طلب عرض إعلان اختباري، يُرجى الاطّلاع على تفعيل الأجهزة الاختبارية.