אחזור מידע על התגובה למודעה

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

במקרים שבהם מודעה נטענת בהצלחה, לאובייקט המודעה יש את השיטה GetResponseInfo(). לדוגמה, interstitialAd.GetResponseInfo() מקבל את פרטי התגובה של מודעת מעברון טעונה.

במקרים שבהם המודעות לא נטענות ומוצגת רק שגיאה, פרטי התגובה זמינים דרך LoadAdError.GetResponseInfo().

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        ResponseInfo errorInfo = error.GetResponseInfo();
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo loadInfo = insterstitialAd.GetResponseInfo();
  });
}

פרטי התגובה

לפניכם דוגמה לפלט שמוחזרת על ידי ResponseInfo.ToString(), שמוצגים בו נתוני ניפוי הבאגים שמוחזרים לגבי מודעה שנטענה:

Android

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

iOS

 ** Response Info **
    Response ID: CIzs0ZO5kPoCFRqWAAAdJMINpQ
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID: 7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

  ** Extras Dictionary **
    {
        "mediation_group_name" = Campaign;
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name: Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
    {
    }
    Error: (null)
    Latency: 0.391

השיטות באובייקט ResponseInfo כוללות:

שיטה תיאור
GetAdapterResponses הפונקציה מחזירה את הרשימה של AdapterResponseInfo שמכילה מטא-נתונים לכל מתאם שכלול בתגובה של המודעה. אפשר להשתמש בה כדי לנפות באגים בתהליך בחירת הרשת (Mediation) ובביצוע הבידינג ב-Waterfall. הסדר של הרשימה תואם לסדר של רשימת הרשתות בתהליך בחירת הרשת של הבקשה הזו להצגת מודעה.

מידע נוסף זמין במאמר פרטי התגובה של המתאם.

GetLoadedAdapterResponseInfo הפונקציה מחזירה את הערך של AdapterResponseInfo שמתאים למתאם שהטעין את המודעה.
GetMediationAdapterClassName הפונקציה מחזירה את שם הכיתה של מתאם בחירת הרשת של רשת המודעות שהטעינה את המודעה.
GetResponseId מזהה התגובה הוא מזהה ייחודי של התגובה לבקשת מודעה. אפשר להשתמש במזהה הזה כדי לזהות ולחסום את המודעה במרכז בקרת המודעות (ARC).
GetResponseExtras הפונקציה מחזירה מידע נוסף על התגובה למודעה. התוספות יכולות להחזיר את המפתחות הבאים:
  • mediation_group_name: השם של הקבוצה לבחירת רשת (Mediation)
  • mediation_ab_test_name: השם של בדיקת ה-A/B של תהליך בחירת הרשת, אם רלוונטי
  • mediation_ab_test_variant: הווריאנט שנעשה בו שימוש בבדיקת ה-A/B של תהליך בחירת הרשת, אם רלוונטי

דוגמה לקריאת ערכים מ-ResponseInfo טעון:

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo responseInfo = insterstitialAd.GetResponseInfo();
    string responseId = responseInfo.GetResponseId();
    string mediationAdapterClassName = responseInfo.GetMediationAdapterClassName();
    List<AdapterResponseInfo> adapterResponses = responseInfo.GetAdapterResponses();
    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
    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"]; 
  });
}

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

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

זוהי דוגמה לפלט שחוזרת הפונקציה AdapterResponseInfo:

Android

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

iOS

  Network: GADMAdapterGoogleAdMobAds
  Ad Source Name: Reservation campaign
  Ad Source ID: 7068401028668408324
  Ad Source Instance Name: [DO NOT EDIT] Publisher Test Interstitial
  Ad Source Instance ID: [DO NOT EDIT] Publisher Test Interstitial
  AdUnitMapping:
  {
  }
  Error: (null)
  Latency: 0.391

AdapterResponseInfo מספק את השיטות הבאות לכל רשת מודעות:

שיטה תיאור
AdError הפונקציה מקבלת את השגיאה שמשויכת לבקשה לרשת. הפונקציה מחזירה את הערך null אם הרשת טעינת מודעה בהצלחה, או אם לא בוצע ניסיון לטעינת מודעה מהרשת.
AdSourceId הפונקציה מקבלת את מזהה מקור המודעות שמשויך לתשובה של המתאם. בקמפיינים, הערך 6060308706800320801 מוחזר עבור סוג היעד 'קמפיין של מודעות בתהליך בחירת הרשת', והערך 7068401028668408324 מוחזר עבור סוגי היעדים 'חשיפות' ו'קליקים'. במקורות מודעות מפורטת רשימה של מזהי מקורות מודעות אפשריים כשמודעה מוצגת על ידי רשת מודעות.
AdSourceInstanceId הפונקציה מקבלת את מזהה המופע של מקור המודעות שמשויך לתשובה של המתאם.
AdSourceInstanceName הפונקציה מקבלת את השם של מופע מקור המודעות שמשויך לתשובה של המתאם.
AdSourceName הפונקציה מקבלת את מקור המודעות שמייצג את רשת המודעות הספציפית שמציגה את החשיפות. בקמפיינים, הערך Mediated House Ads מוחזר עבור סוג היעד 'קמפיין של מודעות בתהליך בחירת הרשת', והערך Reservation Campaign מוחזר עבור סוגי היעדים 'חשיפות' ו'קליקים'. במקורות מודעות מפורטת רשימה של השמות האפשריים של מקורות המודעות כשמודעה מוצגת על ידי רשת מודעות.
AdapterClassName הפונקציה מקבלת שם של כיתה שמזהה את רשת המודעות.
AdUnitMapping הפונקציה מקבלת את הגדרת תצורת הרשת מ-AdMob UI.
LatencyMillis הפונקציה מקבלת את משך הזמן שרשת המודעות הקדישה לטעינת מודעה. הפונקציה מחזירה את הערך 0 אם לא בוצע ניסיון להתחבר לרשת.

זו דוגמה לקריאת ערכים מ-AdapterResponseInfo טעון:

private void LoadInterstitialAd()
{
  AdRequest adRequest = new AdRequest();
  InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
  {
    // If the operation failed with a reason.
    if (error != null)
    {
        Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
        return;
    }

    ResponseInfo responseInfo = insterstitialAd.GetResponseInfo();
    AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
    AdError adError = loadedAdapterResponseInfo.AdError;
    string adSourceId = loadedAdapterResponseInfo.AdSourceId;
    string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
    string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
    string adSourceName = loadedAdapterResponseInfo.AdSourceName;
    string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
    Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
    long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
  });
}