הכנסות מפרסום ברמת החשיפה

כשמתרחשת חשיפה, ערכת Google Mobile Ads SDK מספקת נתוני הכנסות מפרסום שמשויכים לחשיפה הזו. אתם יכולים להשתמש בנתונים כדי לחשב את ערך חיי המשתמש, או להעביר את הנתונים למערכת אחרת רלוונטית.

המדריך הזה נועד לעזור לכם להטמיע את התיעוד של נתוני ההכנסות מפרסום ברמת החשיפה באפליקציה ל-Android.

דרישות מוקדמות

  • מייבאים את Google Mobile Ads SDK בגרסה 21.1.0 ואילך.

לכל פורמט מודעה יש OnPaidEventListener. במהלך מחזור החיים של אירוע פרסום, ערכת Google Mobile Ads SDK עוקבת אחרי אירועי חשיפות ומפעילה את הטיפול עם ערך שהרווחתם.

בדוגמה הבאה מוצג טיפול באירועים בתשלום של מודעה מתגמלת:

Kotlin

import com.google.android.gms.ads.rewarded.RewardedAd

class MainActivity : AppCompatActivity() {
  private var rewardedAd: RewardedAd? = null
  private final var TAG = "MainActivity"

  override fun onCreate(savedInstanceState: Bundle?) {
    val adRequest = AdRequest.Builder().build()

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, object: RewardedAdLoadCallback() {
        override fun onAdLoaded(ad: RewardedAd) {
          rewardedAd = ad
          // Set paid event listener
          rewardedAd.onPaidEventListener = OnPaidEventListener { adValue ->
            // TODO: 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 precision = adValue.precisionType

            // Get the ad unit ID.
            val adUnitId = rewardedAd.adUnitId

            val loadedAdapterResponseInfo = rewardedAd.responseInfo.loadedAdapterResponse
            val adSourceName = loadedAdapterResponseInfo.adSourceName
            val adSourceId = loadedAdapterResponseInfo.adSourceId
            val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
            val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
            val extras = rewardedAd.responseInfo.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

import com.google.android.gms.ads.rewarded.RewardedAd;

public class MainActivity extends Activity {
  private RewardedAd rewardedAd;
  private final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    AdRequest adRequest = new AdRequest.Builder().build();

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, new RewardedAdLoadCallback(){
        @Override
        public void onAdLoaded(@NonNull RewardedAd ad) {
          rewardedAd = ad;
          // Set paid event listener
          rewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
            @Override
            public void onPaidEvent(AdValue adValue) {
              // TODO: 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 = adValue.getValueMicros();
              String currencyCode = adValue.getCurrencyCode();
              int precision = adValue.getPrecisionType();

              // Get the ad unit ID.
              String adUnitId = rewardedAd.getAdUnitId();
              
              AdapterResponseInfo loadedAdapterResponseInfo = rewardedAd.getResponseInfo().
                  getLoadedAdapterResponseInfo();
              String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
              String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
              String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
              String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();

              Bundle extras = rewardedAd.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");
            }
          });
        }
    });
  }
}

מידע נוסף על מקור המודעות הזוכה זמין במאמר אחזור מידע על התגובה למודעה.

שילוב עם שותפי דוחות שיוך לקמפיינים של אפליקציה (AAP)

פרטים מלאים על העברת נתוני הכנסות מפרסום לפלטפורמות ניתוח נתונים זמינים במדריך של השותף:

Partner SDK
Adjust
AppsFlyer
Singular
Tenjin

שיטות מומלצות להטמעה

  • צריך להגדיר את המאזין מיד אחרי שיוצרים את אובייקט המודעה או מקבלים גישה אליו, ובכל מקרה לפני הצגת המודעה. כך תוכלו לוודא שלא תחמיצו שיחות חוזרות בתשלום.
  • שולחים את המידע על ההכנסות מפרסום ברמת החשיפה לשרת הניתוח המועדף מיד כשמתבצעת הקריאה החוזרת בתשלום. כך תוכלו לוודא שלא תאבדו בטעות קריאות חוזרות, וכך תוכלו למנוע אי-התאמות בנתונים.

AdValue

AdValue היא כיתת ערך שמייצגת את הערך הכספי שהרווחתם על מודעה, כולל קוד המטבע של הערך וסוג הדיוק שלו, כפי שמקודדים בהמשך.

PrecisionType תיאור
UNKNOWN ערך מודעה לא ידוע. הערך הזה מוחזר כשה-pingback של ערך ה-LTV מופעל אבל אין מספיק נתונים זמינים.
ESTIMATED הערך המשוער של המודעה על סמך נתונים נצברים.
PUBLISHER_PROVIDED בעל האפליקציה סיפק את ערך המודעה, למשל: עלות בהזנה ידנית לאלף חשיפות בקבוצה לבחירת רשת (Mediation).
PRECISE הערך המדויק ששולם על המודעה הזו.

במקרה של תהליך בחירת הרשת של AdMob, מערכת AdMob מנסה לספק ערך ESTIMATED למקורות מודעות שעברו אופטימיזציה.

במקורות מודעות שלא בוצעה להם אופטימיזציה, או במקרים שבהם אין מספיק נתונים מצטברים כדי לדווח על הערכה משמעותית, המערכת מחזירה את הערך PUBLISHER_PROVIDED.

בדיקת חשיפות ממקורות של מודעות לבידינג

אחרי שאירוע של הכנסות מפרסום ברמת החשיפה מתרחש במקור מודעות לבידינג דרך בקשת בדיקה, אתם מקבלים רק את הערכים הבאים:

  • UNKNOWN: מציין את סוג הדיוק.
  • 0: מציין את ערך המודעה.

בעבר, יכול להיות שתראו את סוג הדיוק כערך שאינו UNKNOWN וערך מודעה גבוה מ-0.

פרטים על שליחת בקשה להצגת מודעה לבדיקה מופיעים במאמר הפעלת מכשירי בדיקה.