中介组

借助 AdMob API,您可以创建、列出和更新中介组,包括:

  • 指定中介组定位,包括区域、广告格式、平台和广告标识符 (IDFA) 定位
  • 向现有中介组添加新的中介组行
  • 查看哪些中介组属于中介 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"]

您需要转换特殊字符,因为所有网址都需要符合统一资源标识符 (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。您可以在 AdMob 界面中找到中介组 ID,也可以使用 accounts.mediationGroups:list 方法找到该 ID。

将 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