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

הפלטפורמה: Android iOS Unity

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

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

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

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

לכל פורמט מודעה יש אירוע OnAdPaid. במהלך מחזור החיים של אירוע שקשור למודעה, ערכת Google Mobile Ads SDK עוקבת אחרי אירועי חשיפה ומפעילה את ה-handler עם AdValue שמייצג את הערך שהרווחתם.

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

private void LoadRewardedAd()
{
   // Send the request to load the ad.
   AdRequest adRequest = new AdRequest();
   RewardedAd.Load("AD_UNIT_ID", adRequest, (RewardedAd rewardedAd, LoadAdError error) =>
   {
      // If the operation failed with a reason.
      if (error != null)
      {
         Debug.LogError("Rewarded ad failed to load an ad with error : " + error);
         return;
      }

      rewardedAd.OnAdPaid += this.HandleAdPaidEvent;
   });
}

public void HandleAdPaidEvent(AdValue adValue)
{
    // TODO: Send the impression-level ad revenue information to your
    // preferred analytics server directly within this callback.

    long valueMicros = adValue.Value;
    string currencyCode = adValue.CurrencyCode;
    PrecisionType precision = adValue.Precision;

    ResponseInfo responseInfo = rewardedAd.GetResponseInfo();
    string responseId = responseInfo.GetResponseId();

    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
    string adSourceId = loadedAdapterResponseInfo.AdSourceId;
    string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
    string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
    string adSourceName = loadedAdapterResponseInfo.AdSourceName;
    string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
    long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
    Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;

    Dictionary<string, string> extras = responseInfo.GetResponseExtras();
    string mediationGroupName = extras["mediation_group_name"];
    string mediationABTestName = extras["mediation_ab_test_name"];
    string mediationABTestVariant = extras["mediation_ab_test_variant"];
}

זיהוי שם של מקור מודעות של אירוע בהתאמה אישית

במקורות מודעות של אירועים מותאמים אישית, המאפיין AdSourceName מחזיר את שם מקור המודעות Custom Event. אם אתם משתמשים בכמה אירועים בהתאמה אישית, שם מקור המודעות לא מספיק מפורט כדי להבדיל בין כמה אירועים בהתאמה אישית. כדי לאתר אירוע מותאם אישית ספציפי, פועלים לפי השלבים הבאים:

  1. קבלת המאפיין AdapterClassName.
  2. מגדירים שם ייחודי למקור המודעות.

בדוגמה הבאה מוגדר שם ייחודי של מקור מודעות לאירוע מותאם אישית:

private string GetAdSourceName(AdapterResponseInfo loadedAdapterResponseInfo)
{
    if (loadedAdapterResponseInfo == null)
    {
        return string.Empty;
    }

    string adSourceName = loadedAdapterResponseInfo.AdSourceName;

    if (adSourceName == "Custom Event")
    {

        #if UNITY_ANDROID
            if (loadedAdapterResponseInfo.AdapterClassName ==
                "com.google.ads.mediation.sample.customevent.SampleCustomEvent")
            {
                adSourceName = "Sample Ad Network (Custom Event)";
            }
        #elif UNITY_IPHONE
            if (loadedAdapterResponseInfo.AdapterClassName == "SampleCustomEvent")
            {
                adSourceName = "Sample Ad Network (Custom Event)";
            }
        #endif

    }
    return adSourceName;
}

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

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

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

Partner SDK
Adjust
AppsFlyer
Singular
Tenjin

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

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

AdValue

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

AdValue.PrecisionType תיאור
Unknown ערך לא מוכר של מודעה. הערך הזה מוחזר כשהפינגבק של ערך חיי הלקוח מופעל, אבל אין מספיק נתונים זמינים.
Estimated הערך המשוער של המודעה על סמך נתונים נצברים.
PublisherProvided בעל האפליקציה סיפק את ערך המודעה, למשל: עלות בהזנה ידנית לאלף חשיפות בקבוצה לבחירת רשת (Mediation).
Precise הערך המדויק של המודעה.

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

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

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

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

בעבר, יכול להיות שסוג הדיוק היה מוצג כערך אחר במקום Unknown וערך המודעה היה גבוה מ-0.

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