קבוצות בתהליך בחירת רשת

ה-AdMob API מאפשר ליצור, לרשום ולעדכן קבוצות לבחירת רשת, כולל:

דוגמאות

אחרי יצירת פרטי הכניסה של OAuth 2.0, אפשר להתחיל להשתמש ב-AdMob API. כדי לבקש גישה באמצעות פרוטוקול OAuth 2.0, האפליקציה שלכם זקוקה גם למידע על ההיקף.

הפרטים לגבי היקפי OAuth 2.0:

היקף משמעות
https://www.googleapis.com/auth/admob.monetization הצגה, יצירה ועריכה של הגדרות המונטיזציה ב-AdMob.
https://www.googleapis.com/auth/admob.readonly לראות את כל הנתונים ב-AdMob. המידע הזה יכול לכלול פרטי חשבון, הגדרות של מלאי שטחי הפרסום ושל גישור, דוחות ונתונים אחרים. לא ייקרא מידע אישי רגיש כמו פרטי תשלומים או פרטי קמפיינים.

יצירה

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

בקטע הקוד שלמטה, מחליפים את pub-XXXXXXXXXXXXXXXX במזהה בעל האתר.

לאחר מכן, מחליפים את YYYYYYYYYY ב-10 הספרות האחרונות של מזהה יחידת המודעות, בהתאם לפורמט:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

בדוגמה הזו יש שתי יחידות מודעות, ולכן YYYYY11111 מתייחס ליחידת המודעות הראשונה ו-WWWWW11111 למיפוי של יחידת המודעות הראשונה. ‫YYYYY22222 ו-WWWWW22222 מתייחסים ליחידת המודעות השנייה ולמיפוי יחידת המודעות.

‫curl (שורת פקודה)

מחליפים את WWWWWWWWWW במזהה המיפוי של יחידת המודעות. אפשר למצוא את מזהה המיפוי של יחידת המודעות באמצעות השיטה accounts.adUnits.adUnitMappings.list.

 curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
  "displayName": "Test Mediation Group"
  "targeting": {
    "platform": "ANDROID",
    "format": "INTERSTITIAL"
    "adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"}
  }
  "mediationGroupLines": {
    "-1": {
      "displayName": "test line",
      "adSourceId": "7681903010231960328",
      "cpmMode": "MANUAL",
      "cpmMicros": "150000",
      "state": "ENABLED",
      "adUnitMappings": {
        "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
        "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
      }
  }
}

רשימה

מחליפים את pub-XXXXXXXXXXXXXXXX במזהה בעל האפליקציה כדי לראות את הקבוצות לבחירת רשת.

‫curl (שורת פקודה)

דוגמה לבקשה:

curl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"

דוגמה לתשובה:

{
"mediationGroups": [
  {
    "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ",
    "mediationGroupId": "ZZZZZZZZZZ",
    "displayName": "Test Mediation Group",
    "state": "ENABLED",
    "state": "NOT_RUNNING",
    "targeting": {
      "platform": "iOS",
      "format": "BANNER",
      "targetedRegionCodes": "[CA]",
      "adUnits": ["YYYYY11111", "YYYYY22222"]
    },
    "mediationGroupLines": {
      "11111111111111111": {
        "id": "11111111111111111",
        "displayName": "AdMob Network",
        "adSourceId": "5450213213286189855",
        "cpmMode": "LIVE",
        "state": "ENABLED",
        "experimentVariant": "ORIGINAL"
      },
      "22222222222222222": {
        "id": "22222222222222222",
        "displayName": "test line",
        "adSourceId": "7681903010231960328",
        "cpmMode": "MANUAL",
        "cpmMicros": "150000",
        "adUnitMappings": {
          "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
          "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
        },
        "state": "ENABLED",
        "experimentVariant": "ORIGINAL"
      }
    },
  }]
}

תיקון

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

יש תמיכה באנונימיזציה של השדות הבאים לעדכונים של קבוצות לבחירת רשת:

  • targeting.adUnitIds
  • mediationGroupLines[mediationGroupLineId]
  • mediationGroupLines[mediationGroupLineId].state
  • mediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]

כדי לעדכן קבוצה לבחירת רשת עם שורה חדשה של קבוצה לבחירת רשת, משתמשים במספר שלילי ייחודי בשביל mediationGroupLineId. כדי לעדכן שורות קיימות בקבוצה לבחירת רשת, צריך להפנות למזהה השורה בקבוצה לבחירת רשת גם ב-update_mask וגם במטען הייעודי (payload), כמו שמוצג בהמשך.

"updateMask" {
    paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}

"mediationGroup" {
  "mediationGroupLines": {
   "123": {
     "id": "123"
     "adUnitMappings": {
      "456": "newAdUnitMappingId"
     }
    }
  }
}

‫curl (שורת פקודה)

בדוגמה הבאה, נוספו 3 שורות חדשות לבחירת רשת לקבוצה קיימת לבחירת רשת (Mediation). הקוד updateMask כולל את 3 השורות של קבוצת הרשתות לבחירת רשת (Mediation) עם ערכים שונים להחרגה כמחזיק המקום:

updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]

צריך לתרגם תווים מיוחדים כי כל כתובות ה-URL צריכות להתאים לתחביר שמוגדר במפרט של מזהה משאב אחיד (URI), ולכן updateMask הופך ל:

updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D

כדי להריץ את הדוגמה הבאה, מחליפים את pub-XXXXXXXXXXXXXXXX במזהה בעל האפליקציה ואת ZZZZZZZZZZ במזהה קבוצה לבחירת רשת (Mediation). אפשר למצוא את מזהה הקבוצה לבחירת רשת בממשק המשתמש של AdMob או באמצעות method‏ accounts.mediationGroups:list.

מחליפים את YYYYYYYYYY ב-10 הספרות האחרונות של מזהה יחידת המודעות, לפי הפורמט הבא:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`

מחליפים את WWWWWWWWWW במזהה המיפוי של יחידת המודעות. אפשר למצוא את מזהה המיפוי של יחידת המודעות באמצעות השיטה accounts.adUnits.adUnitMappings.list.

curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"mediationGroupLines": {
  "-1": {
    "displayName": "test line 2",
    "adSourceId": "7681903010231960458",
    "cpmMode": "MANUAL",
    "cpmMicros": "150000",
    "state": "ENABLED",
    "adUnitMappings": {
      "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
    }
},
"-2": {
    "displayName": "test line 3",
    "adSourceId": "7681903010231960328",
    "cpmMode": "MANUAL",
    "cpmMicros": "120000",
    "state": "ENABLED",
    "adUnitMappings": {
      "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
    }
},
"-3": {
    "displayName": "test line 4",
    "adSourceId": "7681903010231960328",
    "cpmMode": "MANUAL",
    "cpmMicros": "130000",
    "state": "ENABLED",
    "adUnitMappings": {
     "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
    }
  }
}
}
EOF