# 广告单位 API v1

> 使用广告单位 API v1 以编程方式配置和检索移动端广告单位设置，从而简化广告放置/位置管理。

使用此 API 可在 LevelPlay 后台上管理广告单位。API 支持以下内容：

* 创建和更新广告单位
* 管理广告单位配置

每个调用的请求限制为 1 个应用程序。

## 速率限制##rate-limits

如果请求在 30 分钟内超过 4000 个请求，API 将返回 429 HTTP 状态代码。

## 身份验证类型##authentication-type

[Bearer API 身份验证](/grow/levelplay/platform/api/authentication.md)

## GET##get

### 描述##description

获取应用程序广告单位的列表。 

### 方法##method

GET [https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey})

### 请求参数##request-parameters

| Name（名称） | 类型  | 描述                | 示例        |
| -------- | --- | ----------------- | --------- |
| appKey   | 字符串 | 应用程序密钥（在我们的平台上显示） | 142401ac1 |

### 请求示例 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 响应参数##response-parameters

| Name（名称）              | 描述                                                     | 示例               |
| --------------------- | ------------------------------------------------------ | ---------------- |
| mediationAdUnitId     | LevelPlay 平台在创建广告单元时生成的唯一广告单元 ID                       | fgx25t56dq201bd2 |
| mediationAdUnitName   | 广告单元名称                                                 | interstitial-1   |
| adFormat              | 奖励、插页式、横幅或原生                                           | 间隙               |
| hasAbTest             | 指示 A/B 测试是否激活（true 表示激活，否则为 false）                     | false            |
| isPaused              | 指示广告单元当前是否暂停（如果暂停，则为 true，如果激活，则为 false）               | false            |
| 奖励                    | 表示奖励、奖励的名称和金额。仅与奖励广告格式相关                               |                  |
| **这些是“奖励”参数中的以下奖励字段** |                                                        |                  |
| rewardItemName        | 指定奖励物品的名称                                              | 虚拟项              |
| rewardAmount          | 指示奖励的金额或价值                                             | 1                |
| settings              | 属于广告单元的设置列表                                            |                  |
| **这些是“设置”数组中的以下设置字段** |                                                        |                  |
| testGroup             | 与其相关的设置测试                                              | A                |
| cappingEnabled        | 指示是否强制执行了上限或限制（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关 | true             |
| cappingLimit          | 指定广告单元的最大上限值                                           | 2                |
| cappingInterval       | 定义时间间隔“d”（天）或“h”（小时）                                   | d                |
| pacingEnabled         | 指示节奏是否激活（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关       | false            |
| pacingMinutes         | 指定起搏间隔（以分钟为单位）                                         | 5.2              |
| bannerRefreshRate     | 设置横幅的刷新速率（以秒为单位）。仅与横幅广告格式相关                            | 10               |

### 响应示例##response-example

```text
[
    {
        "mediationAdUnitId": "fgx25t56dq201bd2",
        "mediationAdUnitName":"横幅",
        "adFormat": "banner",
        "hasAbTest": true,
        "isPaused": false,
        "settings": [
            {
                "testGroup":"A",
                "bannerRefreshRate":15
            },
            {
                "testGroup":"B",
                "bannerRefreshRate":20
            }
        ]
    },
    {
        "mediationAdUnitId":"8oe7wr90gbsbaj74",
        "mediationAdUnitName":"Interstitial",
        "adFormat": "interstitial",
        "hasAbTest": false,
        "isPaused": false,
        "settings": [
            {
                "testGroup": null,
                "cappingEnabled": false,
                "pacingEnabled": false
            }
        ]
    },
    {
        "mediationAdUnitId": "v5ipmsg9d4hiqp60",
        "mediationAdUnitName":"Native",
        "adFormat": "native",
        "hasAbTest": false,
        "isPaused": false,
        "settings": [
            {
                "testGroup": null
            }
        ]
    },
    {
        "mediationAdUnitId":"33o8iowbyf3vvof2",
        "mediationAdUnitName":Rewarded（奖励广告）：
        "adFormat": "rewarded",
        "hasAbTest": false,
        "isPaused": false,
        "reward": {
            "rewardItemName":“Virtual Item”，
            "rewardAmount":1
        },
        "settings": [
            {
                "testGroup": null,
                "cappingEnabled": true,
                "cappingLimit":2,
                "cappingInterval": "d",
                "pacingEnabled": true,
                "pacingMinutes":5.2
            }
        ]
    }
]
```

## 创建##create

使用此 API 可创建聚合广告单位。此 API 允许您通过单个 API 调用创建多个广告单位。“设置”参数允许您为每个广告单元定义指定的配置。

* 此 API 允许您通过单个 API 调用创建多个广告单位
* 可使用对此 API 的 GET 调用来访问 Ad Unit ID 值

### 方法##method

POST [https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey})

### 请求参数##request-parameters

| Name（名称） | 类型  | 描述                | 示例        |
| -------- | --- | ----------------- | --------- |
| appKey   | 字符串 | 应用程序密钥（在我们的平台上显示） | 142401ac1 |

### 请求示例 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 支持的参数##supported-parameters

| Name（名称）              | 类型  | 描述                                                                            | 必需 | 示例             |
| --------------------- | --- | ----------------------------------------------------------------------------- | -- | -------------- |
| mediationAdUnitName   | 字符串 | 新创建的广告单元的名称长度应在 1 到 255 范围内                                                   | ✓  | Interstitial-1 |
| adFormat              | 字符串 | 奖励、插页式、横幅、原生                                                                  | ✓  | 间隙             |
| 奖励                    | 对象  | 表示奖励、奖励的名称和金额。仅与奖励广告格式相关 如果广告格式获得奖励，则为必填项                                     | x  |                |
| rewardItemName        | 字符串 | 指定奖励物品的名称 长度应在 1 到 32 范围内                                                     | ✓  | 虚拟项            |
| rewardAmount          | 数字  | 指示奖励的金额或价值                                                                    | ✓  | 1              |
| settings              | 数组  | 设置列表。如果未指定，则将设置默认。                                                            | x  |                |
| **这些是“设置”数组中的以下设置字段** |     |                                                                               |    |                |
| testGroup             | 字符串 | 与其相关的 AB 测试组。testGroup 值应为“null”，如果没有 AB 测试，则不发送                              | x  | null           |
| cappingEnabled        | 布尔值 | 指示是否强制执行了上限或限制（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关                        | x  | true           |
| cappingLimit          | 数字  | 指定广告单元的最大上限值                                                                  | x  | 5              |
| cappingInterval       | 字符串 | 定义时间间隔“d”（天）或“h”（小时）                                                          | x  | d              |
| pacingEnabled         | 布尔值 | 指示节奏是否激活（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关                              | x  | true           |
| pacingMinutes         | 数字  | 指定节奏间隔（以分钟为单位）。浮点数最大值为 1000                                                   | x  | 4.6            |
| bannerRefreshRate     | 数字  | 设置横幅的刷新速率（以秒为单位）。仅与横幅广告格式相关。未发送时的默认：25 可能的值有 0、10、15、20、25、30、45、60、120 和 240 | x  | 10             |

### 请求示例##request-example

```text
[
  {
    "mediationAdUnitName": "interstitial-1",
    "adFormat": "interstitial",
    "settings": [
      {
        "testGroup": null,
        "cappingEnabled": true,
        "cappingInterval": "d",
        "cappingLimit":5,
        "pacingEnabled": true,
        "pacingMinutes":4.6
      }
    ]
  },
  {
    "mediationAdUnitName": "banner-1",
    "adFormat": "banner",
    "settings": [
      {
        "bannerRefreshRate":10
      }
    ]
  },
  {
    "mediationAdUnitName": "rewarded-1",
    "adFormat": "rewarded",
    "reward": {
      "rewardItemName":“Virtual Item”，
      "rewardAmount":1
    }
  }
]
```

## 更新##update

### 描述##description

使用此 API 可更新聚合广告单位设置

通过单个 API 调用即可更新多个广告单位

### 方法##method

PUT [https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey})

### 请求参数##request-parameters

| Name（名称） | 类型  | 描述                | 示例        |
| -------- | --- | ----------------- | --------- |
| appKey   | 字符串 | 应用程序密钥（在我们的平台上显示） | 142401ac1 |

### 请求示例 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 支持的参数##supported-parameters

| Name（名称）              | 类型  | 描述                                                                             | 必需 | 示例               |
| --------------------- | --- | ------------------------------------------------------------------------------ | -- | ---------------- |
| mediationAdunitId     | 字符串 | 在 GET 请求中发送的广告单元 ID                                                            | ✓  | fgx25t56dq201bd2 |
| mediationAdUnitName   | 字符串 | 新创建的广告单元的名称长度应在 1 到 255 范围内                                                    | x  | interstitial-1   |
| isPaused              | 布尔值 | 指示广告单元当前是否暂停（如果暂停，则为 true，如果激活，则为 false）应为 true 表示暂停广告单元，应为 false 表示取消暂停广告单元   | x  | false            |
| 奖励                    | 对象  | 表示奖励、奖励的名称和金额。仅与奖励广告格式相关 如果广告格式获得奖励，则为必填项                                      | x  |                  |
| rewardItemName        | 字符串 | 指定奖励物品的名称 长度应在 1 到 32 范围内                                                      | ✓  | 虚拟项              |
| rewardAmount          | 数字  | 指示奖励的金额或价值                                                                     | ✓  | 1                |
| settings              | 数组  | 设置列表。如果未指定，则将设置默认。                                                             | x  |                  |
| **这些是“设置”数组中的以下设置字段** |     |                                                                                |    |                  |
| testGroup             | 字符串 | 与其相关的 AB 测试组。 null/"A"/"B"                                                     | x  | null             |
| cappingEnabled        | 布尔值 | 指示是否强制执行了上限或限制（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关                         | x  | true             |
| cappingLimit          | 数字  | 指定广告单元的最大上限值                                                                   | x  | 5                |
| cappingInterval       | 字符串 | 定义时间间隔“d”（天）或“h”（小时）                                                           | x  | d                |
| pacingEnabled         | 布尔值 | 指示节奏是否激活（如果已启用，则为 true，否则为 false）。仅与奖励和插页式广告格式相关                               | x  | true             |
| pacingMinutes         | 数字  | 指定节奏间隔（以分钟为单位）。浮点数最大值为 1000                                                    | x  | 4.6              |
| bannerRefreshRate     | 数字  | 设置横幅的刷新速率（以秒为单位）。仅与横幅广告格式相关。未发送时的默认：25 可能的值有 0、10、15、20、25、30、45、60、120 和 240。 | x  | 10               |

### 请求示例##request-example

```text
[
  {
    "mediationAdUnitId": "fgx25t56dq201bd2",
    "mediationAdUnitName": "interstitial-1",
    "settings": [
      {
        "testGroup": null,
        "cappingEnabled": true,
        "cappingInterval": "d",
        "cappingLimit":5,
        "pacingEnabled": false
      }
    ]
  },
  {
    "mediationAdUnitId": "agv25t56g6hj01bd2",
    "mediationAdUnitName": "banner-1",
    "settings": [
      {
        "testGroup":"A",
        "bannerRefreshRate":30
      },
      {
        "testGroup":"B",
        "bannerRefreshRate":10
      }
    ]
  },
  {
    "mediationAdUnitId": "qtr25t56dq201bd2",
    "reward": {
      "rewardItemName":“Virtual Item”，
      "rewardAmount":1
    }
  }
]

```

## 成功##success

成功响应将随 HTTP 代码 200 一起发送。

## 报错##errors

如果在请求中发送的组之一失败，则会发送带有 HTTP 代码 400 的报错数组，并导致整个请求被拒绝。

每个报错后都会有报错消息。

### 示例##example

```text
{
    "errorsArray": [
        {
            "code": "ERR-4332",
            "errorMessage": "cappingInterval value must be either 'd' (days) or 'h' (hours)",
            "params": {
                "[0].settings[0].cappingInterval": "s"
            }
        }
    ],
    "code": 400
}

```
