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

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

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

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

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

לכל פורמט מודעה יש אירוע OnAdPaid. במהלך מחזור החיים של אירוע מודעה, Google Mobile Ads Unity Plugin עוקב אחרי אירועי חשיפה ומפעיל את ה-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)

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

ערכת SDK של שותף
Adjust
AppsFlyer
Singular
Tenjin

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

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

AdValue

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

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

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

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

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

  • ‫Unknown: מציין את רמת הדיוק.
  • ‫0: מציין את ערך המודעה.
בעבר, יכול להיות שראיתם שרמת הדיוק היא ערך שונה מ-Unknown וערך המודעה גבוה מ-0.

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