כשמתרחשת חשיפה, GMA Next Gen SDK מספק נתוני הכנסות מפרסום שמשויכים לחשיפה הזו. אתם יכולים להשתמש בנתונים כדי לחשב את הערך של משתמש לאורך חייו, או להעביר את הנתונים במורד הזרם למערכות רלוונטיות אחרות.
המדריך הזה נועד לעזור לכם להטמיע את איסוף הנתונים של ההכנסות מפרסום ברמת החשיפה באפליקציית Android.
דרישות מוקדמות
- חשוב לוודא שהפעלתם את התכונה 'הכנסות מפרסום ברמת החשיפה' בממשק המשתמש של AdMob.
- קוראים את המדריך לתחילת העבודה.
כדי לקבל נתונים על הכנסות מפרסום ברמת החשיפה, צריך להטמיע לפחות פורמט מודעה אחד:
גורם מטפל באירועים בתשלום
לכל פורמט מודעה יש onAdPaid פונקציית קריאה חוזרת (callback) לאירוע.
במהלך מחזור החיים של אירוע שקשור למודעה, GMA Next Gen SDK עוקב אחרי אירועי חשיפה ומפעיל את ה-handler עם ערך רווח.
בדוגמה הבאה מוצג טיפול באירועים בתשלום במודעה מתגמלת:
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")
}
}
Java
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
}Java
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;
}
מידע נוסף על מקור המודעה המנצח זמין במאמר אחזור מידע על תגובת המודעה.
שילוב של שותפים שמספקים דוחות שיוך לקמפיינים של אפליקציה (AAP)
פרטים מלאים על העברת נתוני הכנסות ממודעות לפלטפורמות ניתוח נתונים זמינים במדריך של השותף:
| Partner SDK |
|---|
| Adjust |
| AppsFlyer |
| Singular |
| Tenjin |
שיטות מומלצות להטמעה
- צריך להגדיר את מאזין האירועים מיד אחרי שיוצרים את אובייקט המודעה או מקבלים אליו גישה, ובוודאות לפני הצגת המודעה. כך לא תפספסו אף קריאה חוזרת של אירוע בתשלום.
- שליחת פרטי ההכנסות מפרסום ברמת החשיפה לשרת הניתוח המועדף באופן מיידי בזמן הקריאה להחזרת קריאה של אירוע בתשלום. כך תוכלו לוודא שלא תפספסו בטעות קריאות חוזרות (callback) ולא יהיו אי-התאמות בנתונים.
AdValue
AdValue הוא מחלקה שמייצגת את הערך הכספי שהרווחתם ממודעה, כולל קוד המטבע של הערך וסוג הדיוק שלו, שמוצפנים באופן הבא.
| PrecisionType | תיאור |
|---|---|
UNKNOWN |
ערך לא מוכר של מודעה. הערך הזה מוחזר כשהפינגבק של ערך חיי הלקוח מופעל, אבל אין מספיק נתונים זמינים. |
ESTIMATED |
הערך המשוער של המודעה על סמך נתונים נצברים. |
PUBLISHER_PROVIDED |
בעל האפליקציה סיפק את ערך המודעה, למשל: עלות בהזנה ידנית לאלף חשיפות בקבוצה לבחירת רשת (Mediation). |
PRECISE |
הערך המדויק ששולם על המודעה. |
במקרה של AdMob Mediation, מערכת AdMob מנסה לספק ערך ESTIMATED למקורות מודעות שעברו אופטימיזציה.
במקורות מודעות שלא עברו אופטימיזציה, או במקרים שבהם אין מספיק נתונים מצטברים כדי לדווח על הערכה משמעותית, מוחזר הערך PUBLISHER_PROVIDED.
בדיקת חשיפות ממקורות של מודעות לבידינג
אחרי שמתרחש אירוע של הכנסות מפרסום ברמת החשיפה במקור מודעות לבידינג דרך בקשת בדיקה, מקבלים רק את הערכים הבאים:
-
UNKNOWN: מציין את סוג הדיוק.
-
0: מציין את ערך המודעה.
בעבר, יכול להיות שסוג הדיוק היה מוצג כערך אחר במקום
UNKNOWN וערך המודעה היה גבוה מ-0.
פרטים על שליחת בקשה להצגת מודעת בדיקה זמינים במאמר הפעלת מכשירי בדיקה.