כשמתרחשת חשיפה, GMA Next-Gen SDK מספק נתונים על ההכנסות מפרסום שמשויכות לחשיפה הזו. אתם יכולים להשתמש בנתונים כדי לחשב את ערך חיי המשתמש, או להעביר את הנתונים למערכות רלוונטיות אחרות.
המדריך הזה נועד לעזור לכם להטמיע את תיעוד הנתונים של הכנסות מפרסום לפי חשיפות באפליקציה ל-Android.
דרישות מוקדמות
- מוודאים שהפעלתם את התכונה "הכנסות מפרסום לפי חשיפות (iLAR)" בממשק המשתמש של Ad Manager.
- מגדירים את GMA Next-Gen SDK.
כדי לקבל הכנסות מפרסום לפי חשיפות (iLAR), צריך להטמיע לפחות פורמט מודעה אחד:
גורם מטפל באירועים בתשלום
לכל פורמט מודעה יש קריאה חוזרת (callback) לאירוע onAdPaid.
במהלך מחזור החיים של אירוע מודעה, 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;
}
מידע נוסף על מקור המודעות הזוכה זמין במאמר אחזור מידע על התגובה למודעה.
שיטות מומלצות להטמעה
- צריך להגדיר את המאזין מיד אחרי שיוצרים את אובייקט המודעה או מקבלים גישה אליו, ובכל מקרה לפני שמציגים את המודעה. כך לא תפספסו אף קריאה חוזרת (callback) של אירוע בתשלום.
- שליחת המידע על ההכנסות מפרסום לפי חשיפות לשרת הניתוח המועדף עליכם מיד כשמתבצעת הקריאה החוזרת (callback) של האירוע בתשלום. כך אפשר לוודא שלא תפספסו בטעות קריאות חוזרות (callbacks) ולמנוע פערים בנתונים.
AdValue
AdValue היא מחלקה שמייצגת את הערך הכספי שהתקבל ממודעה, כולל קוד המטבע של הערך ורמת הדיוק שלו, שמקודדים באופן הבא.
| PrecisionType | תיאור |
|---|---|
UNKNOWN |
ערך מודעה לא ידוע. השגיאה הזו מוחזרת כשדיווח החזרה (pingback) של ערך חיי המשתמש מופעל, אבל אין מספיק נתונים זמינים. |
ESTIMATED |
הערך המשוער של המודעה על סמך נתונים נצברים. |
PUBLISHER_PROVIDED |
ערך מודעה שסופק על ידי בעל האפליקציה, כמו ערכי עלות ידנית לאלף חשיפות בקבוצה לבחירת רשת (Mediation). |
PRECISE |
הערך המדויק ששולם על המודעה הזו. |
בתהליך בחירת הרשת, מערכת Ad Manager מנסה לספק ערך ESTIMATED למקורות של מודעות שמופעל בהם איסוף נתונים אוטומטי.
במקורות של מודעות שלא עברו אופטימיזציה, או במקרים שבהם אין מספיק נתונים נצברים כדי לדווח על אומדן משמעותי, מוחזר הערך PUBLISHER_PROVIDED.
חשיפות לבדיקה מ-Open Bidding
אחרי שמתרחש אירוע של הכנסות מפרסום לפי חשיפות (iLAR) במקור מודעות ל-Open Bidding באמצעות בקשת בדיקה, אתם מקבלים רק את הערכים הבאים:
-
UNKNOWN: מציין את רמת הדיוק.
-
0: מציין את ערך המודעה.
UNKNOWN, וערך המודעה גבוה מ-0.
פרטים על שליחת בקשה להצגת מודעת בדיקה זמינים במאמר הפעלת מכשירי בדיקה.