中介服務群組

您可以使用 AdMob API 建立、列出及更新中介服務群組,包括:

  • 指定中介服務群組指定目標,包括區域、格式、平台和廣告識別碼指定目標
  • 將新的中介服務群組行項目新增至現有中介服務群組
  • 查看哪些中介服務群組屬於中介服務 A/B 實驗,以及哪些中介服務群組行屬於各個變數:A 或 B

範例

建立 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 資料。這可能包括帳戶資訊、廣告空間和中介服務設定、報表和其他資料。這類資料不含付款或廣告活動詳細資料等私密資料。

建立

如要建立中介服務群組,請指定中介服務群組指定目標資訊,包括相關廣告單元。以下範例會為 2 個廣告單元建立新的 Android 插頁式廣告中介服務群組。建立中介服務群組時,系統會為 InMobi 廣告來源新增一行。您不需要加入 AdMob 聯播網,因為系統會在建立時預設加入。

在下方的程式碼片段中,將 pub-XXXXXXXXXXXXXXXX 替換為您的發布商 ID。

然後將 YYYYYYYYYY 替換為廣告單元 ID 的最後 10 位數,並遵守以下格式:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

由於這個範例中有兩個廣告單元,因此 YYYYY11111 是指第一個廣告單元,而 WWWWW11111 則是指第一個廣告單元的對應。YYYYY22222和WWWWW22222是指第二個廣告單元和廣告單元對應。

curl (指令列)

將 WWWWWWWWWW 替換為廣告單元對應 ID。您可以使用 accounts.adUnits.adUnitMappings.list 方法找出廣告單元對應 ID。

 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 替換為發布商 ID,即可查看中介服務群組。

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"
      }
    },
  }]
}

修補程式

以下是更新中介服務群組的欄位遮罩清單。更新重複欄位 (例如清單中的項目) 時,系統會以新值完全取代現有值。如要更新對應中的個別值,可以透過索引鍵建立索引。

中介服務群組更新作業支援下列欄位遮罩:

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

如要使用新的中介服務群組行更新中介服務群組,請為 mediationGroupLineId 使用不同的負數。如要更新現有的中介服務群組行,請同時在 update_mask 和酬載中參照中介服務群組行 ID,如下所示。

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

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

curl (指令列)

以下範例會將 3 個新的中介服務行加入現有的中介服務群組。 updateMask 包含 3 個中介服務群組行,並以預留位置做為不同的排除值:

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

所有網址都必須符合統一資源 ID (URI) 規格指定的語法,因此您必須轉譯特殊字元,updateMask 會變成:

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

如要執行下列範例,請將 pub-XXXXXXXXXXXXXXXX 替換為發布商 ID,並將 ZZZZZZZZZZ 替換為中介服務群組 ID。中介服務群組 ID 可在 AdMob 使用者介面中找到,或使用 accounts.mediationGroups:list 方法取得。

將 YYYYYYYYYY 替換為廣告單元 ID 的最後 10 位數,格式如下:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`

將 WWWWWWWWWW 替換為廣告單元對應 ID。您可以使用 accounts.adUnits.adUnitMappings.list 方法找出廣告單元對應 ID。

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