中介组

借助 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 插页式广告的中介组。1 个中介组 行。您无需添加 AdMob 广告联盟,因为默认情况下会在创建时添加该广告联盟。

在以下代码段中,将 pub-XXXXXXXXXXXXXXXX 替换为您的发布商 ID

然后,将 YYYYYYYYYY 替换为您的广告单元的后 10 位数字 ID、合规 转换为:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

由于此示例中有两个广告单元,YYYYY11111 是指第一个广告 和 WWWWW11111 映射到第一个广告单元的映射。YYYYY22222WWWWW22222 是指第二个广告单元和广告单元映射。

curl(命令行)

WWWWWWWWWW 替换为您的广告单元映射 ID。广告单元映射 ID 可以使用 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 替换为您的发布商 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 和 如下所示

"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 界面中或使用 accounts.mediationGroups:list 找到 方法。

YYYYYYYYYY 替换为您的广告单元的后 10 位数字 ID,格式如下:

ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`

WWWWWWWWWW 替换为您的广告单元映射 ID。广告单元映射 ID 可以使用 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