# Unity Ads iOS SDK API 参考 - Swift

> 通过访问 Unity Ads SDK 公共 API 参考，可以查看在 Swift 中可用于集成和控制 iOS 应用广告行为的类、方法和属性。

在将 Unity Ads 集成到 iOS 应用程序时，请使用 Swift 中的 Unity Ads Android SDK API 参考此参考。

使用此 API 之前，请确保已导入`UnityAds`库以便在 app 中启用 Monetization。请参阅[导入 UnityAds 库](/ads-ios/4.19.0/sdk-integration/import-library.md)以了解更多信息。

## 类##classes

### UADSBannerAd##uadsbannerad

`UADSBannerAd` 类管理横幅广告服务的加载和展示。

### load(\_:completion)##load(\_:completion)

1. **Swift**

   ```swift
   public 类 UADSBannerAd：NSObject {
       public static func 加载(_ 配置：UADSBannerLoadConfiguration、
                                 完成：@escaping (UADSBannerAd?、UnityAdsError?) -> Void)
   }
   ```

加载具有指定配置的横幅广告。

| **参数** | **描述**                                                             |
| ------ | ------------------------------------------------------------------ |
| 配置     | 加载横幅广告的选项。                                                         |
| 完成     | 加载横幅时调用的回调。如果加载成功，则返回加载的 UADSBannerAd 实例，如果加载失败，则返回 UnityAdsError。 |

### onAdExpired##onadexpired

1. **Swift**

   ```swift
   public var onAdExpired：（(UADSBannerAd) -> Void）？
   ```

广告到期时触发的回调。将此属性设置为在加载的横幅广告过期且不再有效时收到通知。

### 视图##view

1. **Swift**

   ```swift
   public 类 UADSBannerAd：UIView {
       public var 视图：UIView
   }
   ```

用于访问横幅广告实例的视图属性。使用此属性可将横幅广告插入到app的现有视图层级视图视图中所需的位置。

### UADSBannerView##uadsbannerview

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSBannerAd`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsbannerad)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSBannerView` 是用于加载和显示横幅广告服务的上一类。

### UADSBannerViewDelegate##uadsbannerviewdelegate

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSBannerAdDelegate`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsbanneraddelegate)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSBannerViewDelegate` 是先前用于处理横幅广告事件的委托协议。

## UADSBannerLoadConfiguration##uadsbannerloadconfiguration

`UADSBannerLoadConfiguration` 类封装了加载横幅广告服务所需的选项。这包括指定放置/位置 ID、横幅大小、可选广告标记、可选委托以及任何其他参数。

1. **Swift**

   ```swift
   public 类 UADSBannerLoadConfiguration：NSObject {
       @objc public 私有变量 var placementId：字符串
       @objc public 私有变量 var adMarkup：字符串？
       @objc public 私有变量 var bannerSize：CGSize
       @objc public 私有变量 var delegate：UADSBannerAdDelegate
       @objc public 私有变量 var mediationAdUnitId：字符串？
       @objc public 私有变量 var mediationInfo：UADSMediationInfo？
       @objc public 私有变量 var extras：[字符串：字符串]
   }
   ```

| **属性**              | **描述**                                | **必需** |
| ------------------- | ------------------------------------- | ------ |
| `placementId`       | Unity Monetization（变现）后台中定义的放置/位置 ID。 | 是      |
| `adMarkup`          | 通过竞价加载广告时使用的广告标记数据。                   | 否      |
| `bannerSize`        | 横幅广告的大小。                              | 是      |
| `delegate`          | 委托处理横幅广告事件。                           | 是      |
| `mediationAdUnitId` | 聚合合作伙伴后台中定义的广告单元或放置/位置 ID。            | 否      |
| `mediationInfo`     | 指定有关聚合集成的详细信息。                        | 否      |
| `extras`            | 其他自定义键值对。                             | 否      |

## UADSBannerLoadConfigurationBuilder##uadsbannerloadconfigurationbuilder

使用 `UADSBannerLoadConfigurationBuilder` 创建并返回 `UADSBannerLoadConfiguration` 类的实例。

### init(placementId, bannerSize, delegate)##init(placementid-bannersize-delegate)

1. **Swift**

   ```swift
   public init(placementId：字符串、
               bannerSize：CGSize、
               delegate：UADSBannerAdDelegate)
   ```

创建新的 `UADSBannerLoadConfigurationBuilder` 实例。

| **属性**        | **描述**                                | **必需** |
| ------------- | ------------------------------------- | ------ |
| `placementId` | Unity Monetization（变现）后台中定义的放置/位置 ID。 | 是      |
| `bannerSize`  | 横幅广告的大小。                              | 是      |
| `delegate`    | 委托处理横幅广告事件。                           | 是      |

**返回**：`UADSBannerLoadConfigurationBuilder` 实例。

### with(adMarkup:)\_##with(admarkup:)\_

1. **Swift**

   ```swift
   public func with(adMarkup:字符串) -> 自我
   ```

向`UADSBannerLoadConfigurationBuilder`添加 adMarkup。

| **参数**   | **描述**              |
| -------- | ------------------- |
| adMarkup | 通过竞价加载广告时使用的广告标记数据。 |

**返回**：更新的`UADSBannerLoadConfigurationBuilder`实例。

### with(mediationAdUnitId:)\_##with(mediationadunitid:)\_

1. **Swift**

   ```swift
   public func with(mediationAdUnitId:字符串) -> 自我
   ```

向`UADSBannerLoadConfigurationBuilder`添加聚合广告单元 ID。

| **参数**            | **描述**                     |
| ----------------- | -------------------------- |
| mediationAdUnitId | 聚合合作伙伴后台中定义的广告单元或放置/位置 ID。 |

**返回**：更新的`UADSBannerLoadConfigurationBuilder`实例。

### with(mediationInfo:)\_##with(mediationinfo:)\_

1. **Swift**

   ```swift
   public func with(mediationInfo:UADSMediationInfo) -> 自我
   ```

向`UADSBannerLoadConfigurationBuilder`添加聚合信息。

| **参数**        | **描述**                    |
| ------------- | ------------------------- |
| mediationInfo | 有关聚合集成的详细信息（名称、版本、适配器版本）。 |

**返回**：更新的`UADSBannerLoadConfigurationBuilder`实例。

### with(extras:)\_##with(extras:)\_

1. **Swift**

   ```swift
   public func with(extras: [字符串：字符串]) -> 自我
   ```

向`UADSBannerLoadConfigurationBuilder`添加额外的键值参数。

| **参数** | **描述**      |
| ------ | ----------- |
| extras | 横幅加载的自定义参数。 |

**返回**：更新了 UADSBannerLoadConfigurationBuilder 实例。

### build()\_##build()\_

1. **Swift**

   ```swift
   public func 构建() -> UADSBannerLoadConfiguration
   ```

构建并返回 `UADSBannerLoadConfiguration` 实例。

**返回**：`UADSBannerLoadConfiguration` 实例。

### UADSBannerLoadOptions##uadsbannerloadoptions

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 改用 [`UADSBannerLoadConfiguration`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsbannerloadconfiguration) 和 [`UADSBannerLoadConfigurationBuilder`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsbannerloadconfigurationbuilder) 。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSBannerLoadOptions` 是指定横幅加载选项的上一类。

## UADSInitializationConfiguration##uadsinitializationconfiguration

1. **Swift**

   ```swift
   public 类 UADSInitializationConfiguration：NSObject {
       @objc public 私有变量 var gameId：字符串
       @objc public 私有变量 var isTestModeEnabled：布尔
       @objc public 私有变量 var logLevel：UADSLogLevel
       @objc public 私有变量 var mediationInfo：UADSMediationInfo？
       @objc public 私有变量 var extras：[字符串：字符串]
   }
   ```

`UADSInitializationConfiguration` 类创建一个对象，其中包含初始化 Unity Ads SDK 所需的 app 基本信息。

| **属性**              | **描述**                                    | **必需** |
| ------------------- | ----------------------------------------- | ------ |
| `gameId`            | Unity Ads Monetization（变现）后台中的唯一游戏标识符。    | 是      |
| `isTestModeEnabled` | 启用测试模式的布尔值。如果为 true，则仅显示测试广告服务。默认为 false。 | 否      |
| `logLevel`          | 指定日志输出的细节级别。默认为 INFO。                     | 否      |
| `mediationInfo`     | 包含有关聚合集成信息的对象。                            | 否      |
| `extras`            | 用于自定义配置的其他键值参数的映射。                        | 否      |

## UADSInitializationConfigurationBuilder##uadsinitializationconfigurationbuilder

使用 `UADSInitializationConfigurationBuilder` 创建并返回 `UADSInitializationConfiguration` 类的实例。

### Initialize##initialize

1. **Swift**

   ```swift
   public static func initialize(_ 配置：UADSInitializationConfiguration、
                                 完成：@escaping (UnityAdsError?) -> Void)
   ```

使用指定配置初始化 Unity Ads SDK。当初始化以成功或失败完成时，将调用完成处理程序。

| **参数** | **描述**                                                |
| ------ | ----------------------------------------------------- |
| 配置     | UADSInitializationConfiguration 对象，其中包含初始化 SDK 的必要设置。 |
| 完成     | 完成时调用完成回调，指示成功或详细说明失败原因并报错和报错代码。                      |

### init(gameId:)\_##init(gameid:)\_

1. **Swift**

   ```swift
   public init(gameId：字符串)
   ```

创建新的 `UADSInitializationConfigurationBuilder` 实例。

| **参数** | **描述**                                  |
| ------ | --------------------------------------- |
| gameId | 游戏的唯一标识符，由 Unity Ads 管理工具或 Unity 编辑器提供。 |

**返回**：`UADSInitializationConfigurationBuilder` 实例。

### with(testMode:)\_##with(testmode:)\_

1. **Swift**

   ```swift
   public func with(testMode：Bool） -> 自我
   ```

设置测试模式。

| **参数**   | **描述**                            |
| -------- | --------------------------------- |
| testMode | 将此标志设置为 `true` 可指示测试模式并仅显示测试广告服务。 |

**返回**：更新的`UADSInitializationConfigurationBuilder`实例。

### with(logLevel:)\_##with(loglevel:)\_

1. **Swift**

   ```swift
   public func with(logLevel:UADSLogLevel） -> 自
   ```

设置日志级别（定义日志中包含的细节量），从 None 到 Full 调试信息。

| **参数**                    | **描述**       |
| ------------------------- | ------------ |
| [logLevel](#uadsloglevel) | 指定日志输出的细节级别。 |

**返回**：更新的`UADSInitializationConfigurationBuilder`实例。

### with(mediationInfo:)\_##with(mediationinfo:)\_

1. **Swift**

   ```swift
   public func with(mediationInfo:UADSMediationInfo) -> 自我
   ```

设置聚合信息，提供有关 app 聚合集成的详细信息，包括聚合名称、版本和适配器版本。

| **参数**        | **描述**         |
| ------------- | -------------- |
| mediationInfo | 指定有关聚合集成的详细信息。 |

**返回**：更新的`UADSInitializationConfigurationBuilder`实例。

### with(extras:)\_##with(extras:)\_

1. **Swift**

   ```swift
   public func with(extras: [字符串：字符串]) -> 自我
   ```

设置其他参数。

| **参数** | **描述**         |
| ------ | -------------- |
| extras | 用于自定义配置的其他键值对。 |

**返回**：更新的`UADSInitializationConfigurationBuilder`实例。

### build()##build()

1. **Swift**

   ```swift
   public func build() -> UADSInitializationConfiguration
   ```

构建并返回 `UADSInitializationConfiguration` 实例。

**返回**：`UADSInitializationConfiguration` 实例。

## UADSInterstitialAd##uadsinterstitialad

`UADSInterstitialAd` 类管理全屏插页式广告服务的加载和显示。

### load(\_:completion)##load(\_:completion)

1. **Swift**

   ```swift
   public 类 UADSInterstitialAd：NSObject {
       public static func 加载(_ 配置：UADSLoadConfiguration、
                                 完成：@escaping (UADSInterstitialAd?、UnityAdsError?) -> Void)
   }
   ```

加载具有指定配置的插页式广告。

| **参数** | **描述**                                                                |
| ------ | --------------------------------------------------------------------- |
| 配置     | 包含广告加载选项的 UADSLoadConfiguration 实例。                                   |
| 完成     | 加载过程完成后调用的回调。如果成功，则返回 UADSInterstitialAd 实例，如果加载失败，则返回 UnityAdsError。 |

### show(\_:delegate:)##show(\_:delegate:)

1. **Swift**

   ```swift
   public 类 UADSInterstitialAd：NSObject {
       public func show(_ 配置：UADSShowConfiguration? = nil,
                          delegate：UADSInterstitialShowDelegate)
   }
   ```

显示加载的插页式广告。

| **参数**   | **描述**                                      |
| -------- | ------------------------------------------- |
| 配置       | 用于展示广告的可选配置。                                |
| delegate | 符合 UADSInterstitialShowDelegate 的委托来处理广告事件。 |

### onAdExpired##onadexpired

注册在广告到期时触发的回调。

1. **Swift**

   ```swift
   public 类 UADSInterstitialAd：NSObject {
       public var onAdExpired：（(UnityAd) -> Void）？
   }
   ```

## UADSLoadConfiguration##uadsloadconfiguration

`UADSLoadConfiguration` 类封装了加载 Unity Ads 所需的选项。这包括指定放置/位置 ID、可选的广告标记以及任何其他参数。

1. **Swift**

   ```swift
   public 类 UADSLoadConfiguration：NSObject {
       @objc public 私有变量 var placementId：字符串
       @objc public 私有变量 var adMarkup：字符串？
       @objc public 私有变量 var mediationAdUnitId：字符串？
       @objc public 私有变量 var mediationInfo：UADSMediationInfo？
       @objc public 私有变量 var extras：[字符串：字符串]
   }
   ```

创建新的 `UADSLoadConfiguration` 实例。

| **属性**              | **描述**                                | **必需** |
| ------------------- | ------------------------------------- | ------ |
| `placementId`       | Unity Monetization（变现）后台中定义的放置/位置 ID。 | 是      |
| `adMarkup`          | 通过竞价加载广告时使用的广告标记数据。如果为零，则为瀑布流。        | 否      |
| `mediationAdUnitId` | 聚合合作伙伴后台中使用的放置/位置 ID。                 | 否      |
| `mediationInfo`     | 指定有关聚合集成的详细信息。                        | 否      |
| `extras`            | 用于配置的其他自定义键值对。                        | 否      |

| \*\*注意：\*\*所有竞价实现都需要 adMarkup 属性。对于瀑布流实现，可将 adMarkup 设置为 nil。 |
| ------------------------------------------------------------- |

## UADSLoadConfigurationBuilder##uadsloadconfigurationbuilder

使用 `UADSLoadConfigurationBuilder` 创建并返回 `UADSLoadConfiguration` 类的实例。

### init(placementId:)##init(placementid:)

1. **Swift**

   ```swift
   public init(placementId：字符串)
   ```

创建新的 `UADSLoadConfigurationBuilder` 实例。

| **参数**        | **描述**                                |
| ------------- | ------------------------------------- |
| `placementId` | Unity Monetization（变现）后台中定义的放置/位置 ID。 |

**返回**：`UADSLoadConfigurationBuilder` 实例。

### with(adMarkup:)\_##with(admarkup:)\_

1. **Swift**

   ```swift
   public func with(adMarkup:字符串) -> 自我
   ```

向`UADSLoadConfigurationBuilder`添加 adMarkup。

| **参数**   | **描述**                                  |
| -------- | --------------------------------------- |
| adMarkup | 通过竞价加载广告时使用的广告标记数据。如果为 null，则广告请求使用瀑布流。 |

**返回**：更新的`UADSLoadConfigurationBuilder`实例。

### with(mediationAdUnitId:)\_##with(mediationadunitid:)\_

1. **Swift**

   ```swift
   public func with(mediationAdUnitId:字符串) -> 自我
   ```

将聚合广告单元 ID 添加到`UADSLoadConfigurationBuilder`。

| **属性**              | **描述**                |
| ------------------- | --------------------- |
| `mediationAdUnitId` | 聚合合作伙伴后台中使用的放置/位置 ID。 |

**返回**：更新的`UADSLoadConfigurationBuilder`实例。

### with(mediationInfo:)\_##with(mediationinfo:)\_

1. **Swift**

   ```swift
   public func with(mediationInfo:UADSMediationInfo) -> 自我
   ```

向`UADSLoadConfigurationBuilder`添加聚合信息。

| **参数**        | **描述**                      |
| ------------- | --------------------------- |
| mediationInfo | 指定有关聚合集成的详细信息（名称、版本、适配器版本）。 |

**返回**：更新的`UADSLoadConfigurationBuilder`实例。

### with(extras:)\_##with(extras:)\_

1. **Swift**

   ```swift
   public func with(extras: [字符串：字符串]) -> 自我
   ```

向`UADSLoadConfigurationBuilder`添加额外的配置键值对。

| **参数** | **描述**           |
| ------ | ---------------- |
| extras | 用于广告加载的自定义参数的字典。 |

**返回**：更新的`UADSLoadConfigurationBuilder`实例。

### build()##build()

1. **Swift**

   ```swift
   public func 构建() -> UADSLoadConfiguration
   ```

构建并返回 `UADSLoadConfiguration` 实例。

**返回**：`UADSLoadConfiguration` 实例。

### UADSLoadOptions##uadsloadoptions

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSLoadConfigurationBuilder`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsloadconfigurationbuilder)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSLoadOptions` 是用于指定广告加载选项的上一类。

## UADSMediationInfo##uadsmediationinfo

指定有关聚合集成的详细信息。

1. **Swift**

   ```swift
   public 类 UADSMediationInfo：NSObject {
       public init(name:字符串，版本：字符串、 adapterVersion：字符串)
   }
   ```

| **参数**         | **描述**                   |
| -------------- | ------------------------ |
| name           | app 中集成的聚合平台的名称。         |
| 版本             | app 中集成的聚合 SDK 版本。       |
| adapterVersion | 聚合合作伙伴的 Unity Ads 适配器版本。 |

**返回**：`UADSMediationInfo` 实例。

### UADSMediationMetaData##uadsmediationmetadata

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSMediationInfo`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsmediationinfo)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSMediationMetaData` 是传递聚合合作伙伴信息的上一类。

## 隐私##privacy

Privacy 是一组枚举和一类提供 API 来管理 Unity Ads 的隐私设置和用户同意。这使开发者能够处理符合 GDPR、PIPL 和其他法规的各种隐私设置和同意。

1. **Swift**

   ```swift
   public 类 Privacy：NSObject {
       public static func set(privacy：PrivacyFlag，值：PrivacyValue) {}
       public static func set(consent:PrivacyConsent，值：PrivacyConsentValue) {}
       // 设置新标志，如果写入现有标志，则抛出异常
       public static func setPrivacy(_ flag:字符串，同意：PrivacyConsentValue) throws {}
       public static func setPrivacy(_ flag:字符串，值：PrivacyValue) 抛出 {
   }
   ```

### UADSMetaData##uadsmetadata

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 在 [`UnityAds`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#unityads) 上使用键入的隐私方法：`setUserConsent()`、`setUserOptOut()` 和 `setNonBehavioral()`。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSMetaData` 是用于设置 GDPR 和其他隐私相关标志的上一类。

## UADSRewardedAd##uadsrewardedad

`UADSRewardedAd` 类管理奖励广告服务的加载和展示。

### load(\_:completion)\_##load(*:completion)*

1. **Swift**

   ```swift
   public 类 UADSRewardedAd：NSObject {
       public static func 加载(_ 配置：UADSLoadConfiguration、
                                 完成：@escaping (UADSRewardedAd?、UnityAdsError?) -> Void)
   }
   ```

加载具有指定选项的奖励广告。

| **参数** | **描述**                                                 |
| ------ | ------------------------------------------------------ |
| 配置     | 包含广告加载选项的 UADSLoadConfiguration 实例。                    |
| 完成     | 在广告加载完成后调用的回调。如果成功，则返回 UADSRewardedAd 实例，如果加载失败，则返回报错。 |

### show(\_:delegate:)##show(\_:delegate:)

1. **Swift**

   ```swift
   public 类 UADSRewardedAd：NSObject {
       public func show(_ 配置：UADSShowConfiguration? = nil,
                          delegate：UADSRewardedShowDelegate）
   }
   ```

显示加载的奖励广告。

| **参数**   | **描述**              |
| -------- | ------------------- |
| 配置       | 显示广告的可选设置。          |
| delegate | 一种可选的委托，用于处理奖励广告事件。 |

### onAdExpired##onadexpired

注册在广告到期时触发的回调。

1. **Swift**

   ```swift
   public 类 UADSRewardedAd：NSObject {
       public var onAdExpired：（(UnityAd) -> Void）？
   }
   ```

## UADSShowConfiguration##uadsshowconfiguration

`UADSShowConfiguration` 类指定了在显示 Unity Ads 时要以键/值对形式通道的其他参数。

1. **Swift**

   ```swift
   public 类 UADSShowConfiguration：NSObject {
       @objc public 私有变量 var viewController：UIViewController？
       @objc public 私有变量 var customRewardString：字符串？
       @objc public 私有变量 var extras：[字符串：字符串]
   }
   ```

使用可选的附加参数创建一个新的`UADSShowConfiguration`实例。

| **属性**               | **描述**                   | **必需** |
| -------------------- | ------------------------ | ------ |
| `viewController`     | 用于展示广告的视图控制器。            | 否      |
| `customRewardString` | 广告展示的自定义奖励标识符。           | 否      |
| `extras`             | 在展示广告时要包含的其他键值参数。默认为空字典。 | 否      |

## UADSShowConfigurationBuilder##uadsshowconfigurationbuilder

使用 `UADSShowConfigurationBuilder` 创建并返回 `UADSShowConfiguration` 类的实例。

### \*init()##\*init()

1. **Swift**

   ```swift
   public init()
   ```

创建 UADSShowConfigurationBuilder 的新实例。

### with(viewController:)##with(viewcontroller:)

1. **Swift**

   ```swift
   public func with(viewController：UIViewController) -> 自
   ```

设置展示广告的视图控制器。

| **参数**           | **描述**      |
| ---------------- | ----------- |
| `viewController` | 展示广告的视图控制器。 |

**返回**：更新的 UADSShowConfigurationBuilder 实例。

### with(customRewardString:)##with(customrewardstring:)

1. **Swift**

   ```swift
   public func with(customRewardString：字符串) -> 自我
   ```

为广告展示设置自定义奖励标识符。

| **参数**               | **描述**        |
| -------------------- | ------------- |
| `customRewardString` | 广告展示的唯一奖励 ID。 |

**返回**：更新的`UADSShowConfigurationBuilder`实例。

### with(extras:)##with(extras:)

1. **Swift**

   ```swift
   public func with(extras: [字符串：字符串]) -> 自我
   ```

在展示广告时添加额外的键值参数。

| **参数**   | **描述**      |
| -------- | ----------- |
| `extras` | 广告展示的自定义参数。 |

**返回**：更新的`UADSShowConfigurationBuilder`实例。

### build()##build()

1. **Swift**

   ```swift
   public func 构建() -> UADSShowConfiguration
   ```

构建并返回 `UADSShowConfiguration` 实例。

**返回**：`UADSShowConfiguration` 实例。

### UADSShowOptions##uadsshowoptions

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSShowConfigurationBuilder`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsshowconfigurationbuilder)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSShowOptions` 是用于指定广告展示选项的上一类。

## UADSTokenConfiguration##uadstokenconfiguration

1. **Swift**

   ```swift
   public 类 UADSTokenConfiguration：NSObject {
       @objc public 私有变量 var adFormat：UADSAdFormat
       @objc public 私有变量 var mediationInfo：UADSMediationInfo？
       @objc public 私有变量 var mediationAdUnitId：字符串？
       @objc public 私有变量 var placementId：字符串？
       @objc public 私有变量 var bannerSize：CGSize?
       @objc public 私有变量 var extras：[字符串：字符串] = [:]
   }
   ```

`UADSTokenConfiguration` 类创建一个对象，其中包含获取竞价令牌所需的基本信息。

| **属性**              | **描述**                                | **必需** |
| ------------------- | ------------------------------------- | ------ |
| `adFormat`          | 要为其生成令牌的广告格式类型。                       | 是      |
| `mediationInfo`     | 指定有关聚合集成的详细信息。                        | 否      |
| `mediationAdUnitId` | 聚合合作伙伴后台中使用的放置/位置 ID。                 | 否      |
| `placementId`       | Unity Monetization（变现）后台中定义的放置/位置 ID。 | 否      |
| `bannerSize`        | 横幅广告的大小（如果令牌请求横幅广告）。                  | 否      |
| `extras`            | 用于自定义配置的其他键值对。                        | 否      |

## UADSTokenConfigurationBuilder##uadstokenconfigurationbuilder

使用 `UADSTokenConfigurationBuilder` 创建并返回 `UADSTokenConfiguration` 类的实例。

### init(adFormat:)##init(adformat:)

1. **Swift**

   ```swift
   public init(adFormat：UADSAdFormat）
   ```

创建新的 `UADSTokenConfigurationBuilder` 实例。

| **参数**   | **描述**                                 |
| -------- | -------------------------------------- |
| adFormat | UADSAdFormat 的实例，指定广告类型（插页式、奖励式、横幅广告）。 |

**返回**：`UADSTokenConfigurationBuilder` 实例。

#### with(mediationInfo:)##with(mediationinfo:)

1. **Swift**

   ```swift
   public func with(mediationInfo:UADSMediationInfo) -> 自我
   ```

指定有关聚合集成的详细信息。

| **参数**        | **描述**         |
| ------------- | -------------- |
| mediationInfo | 指定有关聚合集成的详细信息。 |

**返回**：更新的`UADSTokenConfigurationBuilder`实例。

### withMediationAdUnitId:\_##withmediationadunitid:\_

1. **Swift**

   ```swift
   public func with(mediationAdUnitId:字符串) -> 自我
   ```

将聚合广告单元 ID 添加到`UADSTokenConfiguration`。

| **属性**              | **描述**                |
| ------------------- | --------------------- |
| `mediationAdUnitId` | 聚合合作伙伴后台中使用的放置/位置 ID。 |

**返回**：更新的`UADSUADSTokenConfigurationBuilder`实例。

### withPlacementId:\_##withplacementid:\_

1. **Swift**

   ```swift
   public func with(placementId:字符串) -> 自我
   ```

指定 Unity Monetization Dashboard（变现后台）中定义的放置/位置 ID。

| **参数**      | **描述**                                |
| ----------- | ------------------------------------- |
| placementId | Unity Monetization（变现）后台中定义的放置/位置 ID。 |

**返回**：更新的`UADSUADSTokenConfigurationBuilder`实例。

### withBannerSize:\_##withbannersize:\_

1. **Swift**

   ```swift
   public func with(bannerSize:CGSize） -> 自我
   ```

如果令牌请求横幅广告，指定横幅广告的大小。

| **参数**     | **描述**                |
| ---------- | --------------------- |
| bannerSize | 横幅广告的大小（如果有令牌请求横幅广告）。 |

**返回**：更新的`UADSUADSTokenConfigurationBuilder`实例。

#### with(extras:)##with(extras:)

1. **Swift**

   ```swift
   public func with(extras: [字符串：字符串]) -> 自我
   ```

指定用于自定义配置的其他键值对。

| **参数** | **描述**         |
| ------ | -------------- |
| extras | 用于自定义配置的其他键值对。 |

**返回**：更新的`UADSTokenConfigurationBuilder`实例。

### build()##build()

1. **Swift**

   ```swift
   public func 构建() -> UADSTokenConfiguration
   ```

构建并返回 `UADSTokenConfiguration` 实例。

**返回**：`UADSTokenConfiguration` 实例。

## UnityAds##unityads

`UnityAds` 类是一个静态类，用作 SDK 的主要入口点。它处理初始化和令牌检索，并提供对全局 SDK 属性的访问。

### 初始化##initialization

#### initialize(\_, completion:)##initialize(\_-completion:)

使用指定配置初始化 Unity Ads SDK。当初始化以成功或失败完成时，将调用完成代码块。

1. **Swift**

   ```swift
   public static func initialize(_ 配置：UADSInitializationConfiguration，完成：@escaping (UnityAdsError?) -> Void)
   ```

| **参数** | **描述**                                                |
| ------ | ----------------------------------------------------- |
| 配置     | UADSInitializationConfiguration 对象，其中包含初始化 SDK 所需的设置。 |
| 完成     | 在 SDK 初始化完成后调用的回调。如果初始化失败，则返回 UnityAdsError。          |

### GetToken##gettoken

#### getToken(\_, completion:)##gettoken(\_-completion:)

根据提供的`UADSTokenConfiguration`获取竞价令牌并将其传递给完成代码块。

1. **Swift**

   ```swift
   public static func getToken(_ 配置：UADSTokenConfiguration，完成：@escaping（字符串？） -> Void）
   ```

| **参数** | **描述**                                         |
| ------ | ---------------------------------------------- |
| 配置     | 一个`UADSTokenConfiguration`对象，指定广告格式、聚合信息和其他参数。 |
| 完成     | 如果已成功获取，则使用令牌调用完成代码块，如果发生报错，则为 null。           |

### 静态变量##static-variables

#### IsInitialized##isinitialized

一个布尔属性，用于确定 Unity Ads SDK 是否成功初始化。

1. **Swift**

   ```swift
   @objc public static func isInitialized() -> 工具
   ```

**返回**：如果`true`，Unity Ads 已成功初始化。

#### getVersion##getversion

一个字字符串属性，用于确定当前使用的 Unity Ads SDK 版本。

1. **Swift**

   ```swift
   public static func getVersion() -> 字符串
   ```

**返回**：Unity Ads SDK 的当前安装版本。

#### userIdentifier##useridentifier

为 app 的每个用户设置唯一 ID。

1. **Swift**

   ```swift
   public static var userIdentifier：字符串
   ```

### 隐私##privacy

#### setUserConsent()##setuserconsent()

显示用户对个性化广告服务的选择。

1. **Swift**

   ```swift
   public static func setUserConsent(_ consentGranted:Bool）
   ```

#### setUserOptOut()##setuseroptout()

为用户提供了退出数据收集和个性化广告服务的选项。

1. **Swift**

   ```swift
   public static func setUserOptOut(_ optOut:Bool）
   ```

#### setNonBehavioral()##setnonbehavioral()

启用上下文（非个性化）广告服务的显示。

1. **Swift**

   ```swift
   public static func setNonBehavioral(_ nonBehavioral:Bool）
   ```

### UnityAdsInitializationDelegate##unityadsinitializationdelegate

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用带有 [`UnityAds.initialize(_:completion:)`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#unityads) 的完成代码块。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsInitializationDelegate` 是 SDK 初始化回调的先前委托协议。

### UnityAdsLoadDelegate##unityadsloaddelegate

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用带有 [`UADSInterstitialAd.load(_:completion:)`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsinterstitialad) 或 [`UADSRewardedAd.load(_:completion:)`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsrewardedad) 的完成代码块。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsLoadDelegate` 是以前的广告加载回调委托协议。

### UnityAdsShowDelegate##unityadsshowdelegate

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSInterstitialShowDelegate`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsinterstitialshowdelegate) 或 [`UADSRewardedShowDelegate`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsrewardedshowdelegate)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsShowDelegate` 是以前的广告展示回调委托协议。

## 枚举##enums

### UADSAdFormat##uadsadformat

定义 Unity Ads 支持的不同类型的广告格式。

1. **Swift**

   ```swift
   public enum UADSAdFormat：Int {int
       case specified = 0, interstitial, reward, banner
   }
   ```

| **参数**       | **描述**                         |
| ------------ | ------------------------------ |
| 未指定          | 没有指定的广告格式。                     |
| interstitial | 在 app 中的自然暂停时显示的全屏广告服务。        |
| 奖励           | 在完成后向用户授予奖励的广告服务。              |
| banner       | App 布局中显示的矩形广告服务，通常锚定在屏幕顶部或底部。 |

### UnityAdsAdFormat##unityadsadformat

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 [`UADSAdFormat`](/ads-ios/4.19.0/sdk-integration/api/ios-api-swift.md#uadsadformat)。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsAdFormat` 是广告格式类型的上一个枚举。

### UADSLogLevel##uadsloglevel

定义 Unity Ads 的日志记录级别。

1. **Swift**

   ```swift
   public enum UADSLogLevel：Int {int
       已禁用案例、报错、信息、调试
   }
   ```

| **参数** | **描述**                                      |
| ------ | ------------------------------------------- |
| 已禁用    | 无日志输出。                                      |
| 报错     | 仅记录初始化/加载/显示操作中的关键错误和失败。                    |
| info   | 记录关键操作事件（例如初始化开始/完成、加载开始/完成、显示开始/完成以及令牌生成）。 |
| debug  | 记录所有信息以及详细的内部操作，例如网络请求和内部错误。                |

### UADSShowFinishState##uadsshowfinishstate

表示广告展示后的完成状态。

1. **Swift**

   ```swift
   public enum UADSShowFinishState：Int {int
       case skipped = 0，已完成
   }
   ```

| **参数** | **描述**             |
| ------ | ------------------ |
| 跳过     | 用户在广告结束之前关闭或跳过了广告。 |
| 已完成    | 广告一直播放到最后。         |

## 协议##protocols

### UADSBannerAdDelegate##uadsbanneraddelegate

1. **Swift**

   ```swift
   public protocol UADSBannerAdDelegate：NSObjectProtocol {
       func bannerImpression(_ banner：UADSBannerAd)
       func bannerDidClick(_ banner:UADSBannerAd)
       func bannerDidFailShow(_ banner:UADSBannerAd，报错：UnityAdsError)
   }
   ```

| **方法**                        | **描述**                                |
| ----------------------------- | ------------------------------------- |
| `bannerImpression(_:)`        | 成功显示横幅广告（记录展示量）时调用。                   |
| `bannerDidClick(_:)`          | 用户点击横幅广告时调用。                          |
| `bannerDidFailShow(_:error:)` | 如果横幅无法显示，则调用，并带有解释失败的`UnityAdsError`。 |

### UADSInterstitialShowDelegate##uadsinterstitialshowdelegate

1. **Swift**

   ```swift
   public protocol UADSInterstitialShowDelegate：NSObjectProtocol {
       func showDidStart(_ unityAd:UADSInterstitialAd)
       func showDidClick(_ unityAd:UADSInterstitialAd)
       func showDidComplete(_ unityAd:UADSInterstitialAd，状态为：UADSShowFinishState）
       func showDidFailed(_ unityAd:UADSInterstitialAd，报错：UnityAdsError)
   }
   ```

| **方法**                     | **描述**                                                       |
| -------------------------- | ------------------------------------------------------------ |
| `showDidStart(_:)`         | 在插页式广告开始显示时调用。                                               |
| `showDidClick(_:)`         | 在点击插页式广告时调用。                                                 |
| `showDidComplete(_:with:)` | 在广告展示完成时调用。提供`UADSShowFinishState`（`skipped` 或 `completed`）。 |
| `showDidFailed(_:error:)`  | 如果广告无法显示，则调用 ，并带有解释失败的`UnityAdsError`。                       |

### UADSRewardedShowDelegate##uadsrewardedshowdelegate

1. **Swift**

   ```swift
   public protocol UADSRewardedShowDelegate：NSObjectProtocol {
       func showDidStart(_ unityAd:UADSRewardedAd)
       func showDidClick(_ unityAd:UADSRewardedAd)
       func showDidComplete(_ unityAd:UADSRewardedAd，状态为：UADSShowFinishState）
       func showDidFailed(_ unityAd:UADSRewardedAd，报错：UnityAdsError)
       func showDidReceiveReward(_ unityAd:UADSRewardedAd)
   }
   ```

| **方法**                     | **描述**                                                       |
| -------------------------- | ------------------------------------------------------------ |
| `showDidStart(_:)`         | 奖励广告开始展示时调用。                                                 |
| `showDidClick(_:)`         | 在点击奖励广告时调用。                                                  |
| `showDidComplete(_:with:)` | 在广告展示完成时调用。提供`UADSShowFinishState`（`skipped` 或 `completed`）。 |
| `showDidFailed(_:error:)`  | 如果广告无法显示，则调用 ，并带有解释失败的`UnityAdsError`。                       |
| `showDidReceiveReward(_:)` | 当用户从广告中获取奖励时调用。                                              |

## UnityAdsError##unityadserror

1. **Swift**

   ```swift
   public protocol UnityAdsError {
       var 代码：Int { get }
       var 消息：字符串 { get }
   }
   ```

| **参数** | **描述**                         |
| ------ | ------------------------------ |
| code   | 一个数字报错代码，用于标识 Unity Ads 报错的类型。 |
| 消息     | 报错消息，提供有关报错的其他详细信息。            |

### UADSBannerErrorCode##uadsbannererrorcode

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 `UnityAdsError` 协议。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UADSBannerErrorCode` 是横幅指定的报错代码的上一个枚举。

### UnityAdsInitializationError##unityadsinitializationerror

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 `UnityAdsError` 协议。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsInitializationError` 是初始化报错类型的上一个枚举。

### UnityAdsLoadError##unityadsloaderror

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 `UnityAdsError` 协议。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsLoadError` 是广告加载报错类型的上一个枚举。

### UnityAdsShowError##unityadsshowerror

> **Warning:**
>
> **在版本 4.19.0 中已弃用。计划在版本 5.0.0 中删除。**
>
> 请改用 `UnityAdsError` 协议。请参阅 [iOS 弃用 API](/ads-ios/4.19.0/sdk-integration/api/ios-deprecated-apis.md) 以了解迁移详细信息。

`UnityAdsShowError` 是广告展示报错类型的上一个枚举。
