# 颤动的调节高级设置

> 为 GDPR 和 COPPA 合规性配置高级监管设置，包括同意管理和用户数据处理。

## 使用 LevelPlay 管理 GDPR 同意

LevelPlay 的聚合平台可以将用户的同意选择通道到支持的广告网络。从 LevelPlay SDK 7.7.0 版本开始，从以下实体收集的一般数据保护条例 (GDPR) 同意将自动与 LevelPlay SDK 共享，以确保 GDPR 合规性：

* Google 的 CMP 解决方案 (Google UMP)
* 任何支持 Google Additional Consent 的兼容 CMP

### 先决条件

在更新用户的同意状态并将其传递给 LevelPlay SDK 之前，请确保以下几点：

* 安装并使用 LevelPlay SDK 9.5.0 或更高版本。
* 通过将网络密钥映射提交到布尔值来为每个网络单独设置同意，布尔值指示用户是否已授予每个网络收集和共享数据的权限。

### 手动更新用户的同意状态

您使用的 API 取决于您的 LevelPlay SDK 版本。

#### LevelPlay SDK 9.5.0 及更高版本

1. **Android**

   ```kotlin
   LevelPlayPrivacySettings.setGDPRConsent(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setGDPRConsent(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetGDPRConsent(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setGDPRConsent(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setGDPRConsent(true);
   ```

#### LevelPlay SDK 9.4.0 版

对于 LevelPlay SDK 9.4.0 版本，请使用以下 API，其中使用网络密钥到布尔值的映射为每个网络单独设置同意。

> **Important:**
>
> 对此方法的每次调用都会完全替换以前存储的所有 GDPR 同意。只有包含在提供的映射中的网络才会在调用后具有同意条目，并且您应该从映射中省略网络以删除其存储的同意。

1. **Android**

   ```kotlin
   val consents = mapOf(
    “UnityAds”为 true，
    “IronSource”为 false）

   LevelPlayPrivacySettings.setGDPRConsents(consents)
   ```

2. **iOS**

   ```swift
   let consents：[字符串：NSNumber] = [
   "UnityAds": true,
   "IronSource": false
   ]

   LPMPrivacySettings.setGDPRConsents(consents)
   ```

3. **Unity**

   ```cs
    字典<string, bool>
   consents = new Dictionary<string, bool>
   { 
   { "UnityAds", true }, 
   { "IronSource", false }
   };

   LevelPlayPrivacySettings.SetGDPRConsents(consents);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setGDPRConsents(
     { 
       'UnityAds'：true、
       'IronSource'：false 
     }
   );
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setGDPRConsents(
     { 
       'UnityAds'：true、
       'IronSource'：false 
     }
   );
   ```

以下列表详细说明了可在代码中使用的网络密钥：

* UnityAds
* AdMob
* AppLovin
* APS
* BidMachine
* 比戈
* Chartboost
* Facebook
* 費伯河
* HyprMx
* InMobi
* 线条
* Mintegral
* MobileFuse
* Moloco
* MyTarget
* Ogury
* Pangle
* PubMatic
* Smaato
* SuperAwesome
* Verve
* 巫毒
* Vungle
* Yandex
* YSO

#### LevelPlay SDK 9.3.0 及更低版本

对于 LevelPlay SDK 9.3 及更低版本，请使用以下 API。

> **Note:**
>
> 已弃用此 API，将在未来的 SDK 版本中移除。

1. **Android**

   如果用户同意，请将以下标志设置为 true：

   ```java
   LevelPlay.setConsent(true);
   ```

   如果用户不同意，请将以下标志设置为 false：

   ```java
   LevelPlay.setConsent(false);
   ```

2. **iOS**

   如果用户同意，请将以下标志设置为 true：

   ```objective-c
   [LevelPlay setConsent:YES];
   ```

   如果用户不同意，请将以下标志设置为 false：

   ```objective-c
   [LevelPlay setConsent:NO];
   ```

3. **Unity**

   如果用户同意，请将以下标志设置为 true：

   ```cs
   LevelPlay.setConsent(true);
   ```

   如果用户不同意，请将以下标志设置为 false：

   ```cs
   LevelPlay.setConsent(false);
   ```

4. **Flutter**

   如果用户提供了同意，请将以下标志设置为 true：

   ```java
   LevelPlay.setConsent(true);
   ```

   如果用户不同意，请将以下标志设置为 false：

   ```java
   LevelPlay.setConsent(false);
   ```

5. **React Native**

   如果用户提供了同意，请将以下标志设置为 true：

   ```java
   LevelPlay.setConsent(true);
   ```

   如果用户不同意，请将以下标志设置为 false：

   ```java
   LevelPlay.setConsent(false);
   ```

## 在 LevelPlay 中管理消费者隐私行为合规性

> **Important:**
>
> 发行商应自行咨询法律顾问，以确定美国各州隐私法律等消费者隐私法律的适用要求。上述信息仅供合规辅助参考，不构成法律意见。

LevelPlay 的聚合平台允许发布者将`do not sell`请求通道到支持 API 的相关网络，从而支持发布者根据消费者隐私法（例如加州消费者隐私法）限制销售或共享终端用户的个人信息。每个网络负责根据各自的策略处理此信号。

Unity Ads SDK 支持以下隐私框架：

* 《加州消费者隐私法》(CCPA) 于 2019 年 1 月在加州生效。
* 《巴西通用数据保护法》(LGPD) 于 2021 年 8 月生效。
* 《弗吉尼亚州消费者数据隐私法》(VCDPA) 于 2023 年 1 月在弗吉尼亚州生效。
* 《科罗拉多州隐私法》(CPA) 于 2023 年 7 月在科罗拉多州生效。
* 《康涅狄格州数据隐私法》(CTDPA) 于 2023 年 7 月在康涅狄格州生效。
* Quebec Law 25 (QCLAW25) 于 2023 年 9 月在加拿大魁北克省生效。
* 《犹他州消费者隐私法》(UCPA) 于 2023 年 12 月在犹他州生效。
* 《佛罗里达州数字权利法案》(FDBR) 于 2024 年 7 月在佛罗里达州生效。
* 《俄勒冈州消费者隐私法》(OCPA) 于 2024 年 7 月在俄勒冈州生效。
* 《德克萨斯州数据隐私和安全法》(TDPSA) 于 2024 年 7 月在德克萨斯州生效。
* 《蒙大拿州消费者数据隐私法》(MCDPA) 于 2024 年 10 月在蒙大拿州生效。
* 《爱荷华州消费者数据保护法》(ICDPA) 于 2025 年 1 月 1 日在爱荷华州生效。
* 《内布拉斯加州数据隐私法》(NDPA) 于 2025 年 1 月 1 日在内布拉斯加州生效。
* 《新罕布什尔州数据隐私法》(NHDPA) 于 2025 年 1 月 1 日在新罕布什尔州生效。
* 《特拉华州个人数据隐私法》(DPDPA) 于 2025 年 1 月 1 日在特拉华州生效。
* 《新泽西州数据隐私法》(NJDPA) 于 2025 年 1 月 16 日在新泽西州生效。
* 《田纳西州信息保护法》(TIPA) 于 2025 年 7 月 1 日在田纳西州生效。
* 《明尼苏达州消费者数据隐私法》(MNCDPA) 于 2025 年 7 月 31 日在明尼苏达州生效。
* 《马里兰州在线数据隐私法》(MODPA) 于 2025 年 10 月 1 日在马里兰州生效。
* 《罗德岛州数据透明度和隐私保护法》(RIDTPPA) 于 2026 年 1 月 1 日在罗德岛州生效。
* 《肯塔基州消费者数据保护法》(KCDPA) 于 2026 年 1 月 1 日在肯塔基州生效。
* 《印第安纳州消费者数据保护法》(ICDPA) 于 2026 年 1 月 1 日在印第安纳州生效。

访问我们的法务站点以了解有关 [Unity 的隐私方法](https://unity.com/legal)的更多信息。

使用 `do not sell` 设置可将信号通道到支持的广告网络，指示用户是否已选择不出售或共享其个人信息。

从 LevelPlay SDK 6.14.0 及更高版本开始，建议的最佳做法是在初始化 SDK 之前设置 API，以确保符合隐私框架。

### 先决条件

在更新用户的同意状态并将其传递给 LevelPlay SDK 之前，请确保已安装并使用 Level 播放 SDK 9.4.0 或更高版本。

### 手动更新用户的同意状态

您使用的 API 取决于您的 LevelPlay SDK 版本。

#### LevelPlay SDK 9.4.0 及更高版本

如果用户已选择不出售或共享其个人信息，请使用以下 API：

1. **Android**

   ```Kotlin
   LevelPlayPrivacySettings.setCCPA(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setCCPA(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetCCPA(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setCCPA(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setCCPA(true);
   ```

#### LevelPlay SDK 9.3.0 及更低版本

对于 LevelPlay SDK 9.3 及更低版本，请使用以下 API。

> **Note:**
>
> 已弃用此 API，将在未来的 SDK 版本中移除。

1. **Android**

   如果用户已选择不出售或共享其个人信息：

   ```java
   LevelPlay.setMetaData("do_not_sell","true");
   ```

   如果用户同意出售其个人信息：

   ```java
   LevelPlay.setMetaData("do_not_sell","false");
   ```

2. **iOS**

   如果用户已选择不出售或共享其个人信息：

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"do_not_sell" value:@"YES"];
   ```

   如果用户同意出售其个人信息：

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"do_not_sell" value:@"NO"];
   ```

3. **Unity**

   如果用户已选择不出售或共享其个人信息：

   ```cs
   LevelPlay.setMetaData("do_not_sell","true");
   ```

   如果用户同意出售其个人信息：

   ```cs
   LevelPlay.setMetaData("do_not_sell","false");
   ```

4. **Flutter**

   如果用户已选择不出售或共享其个人信息：

   ```dart
   LevelPlay.setMetaData({'do_not_sell': ['true']});
   ```

   如果用户同意出售其个人信息：

   ```java
   LevelPlay.setMetaData({'do_not_sell': ['false']});
   ```

5. **React Native**

   如果用户已选择不出售或共享其个人信息：

   ```javascript
   LevelPlay.setMetaData('do_not_sell', ['true']);
   ```

   如果用户同意出售其个人信息：

   ```java
   LevelPlay.setMetaData('do_not_sell', ['false']);
   ```

## 管理具有年龄限制的面向儿童的应用程序的用户级别设置

LevelPlay 的聚合平台使面向儿童的应用程序的发布者能够根据适用法律（例如，根据子项在线隐私保护法 COPPA）的允许或要求，告知指定的终端用户是否接受面向儿童的处理。然后，网络负责根据自己的策略和配置来处理信号。

面向子项的应用的发布者负责确定他们的 app 是否必须将所有终端用户视为子项，或者是否允许在终端用户级别进行标记。建议的最佳做法是在为面向儿童的应用程序实施用户级别设置之前咨询法律顾问有关您的义务。

使用 `is_child_directed` 标志可指示指定的终端用户是否为儿童。从 LevelPlay SDK 7.1.0 及更高版本开始，建议的最佳做法是在初始化 SDK 之前设置 API，以确保符合隐私框架。

### 先决条件

在更新用户的同意状态并将其传递给 LevelPlay SDK 之前，请确保已安装并使用 Level 播放 SDK 9.4.0 或更高版本。

### 将终端用户标记为子项定向

您使用的 API 取决于您的 LevelPlay SDK 版本。

#### LevelPlay SDK 9.4.0 及更高版本

使用以下 API 在所有[支持的网络](/grow/levelplay/platform/legal-resources/children-child-directed-apps.md.md)中将终端用户标记为面向子项。

1. **Android**

   ```kotlin
   LevelPlayPrivacySettings.setCOPPA(true)
   ```

2. **iOS**

   ```swift
   LPMPrivacySettings.setCOPPA(true)
   ```

3. **Unity**

   ```cs
   LevelPlayPrivacySettings.SetCOPPA(true);
   ```

4. **Flutter**

   ```dart
   LevelPlayPrivacySettings.setCOPPA(true);
   ```

5. **React Native**

   ```js
   LevelPlayPrivacySettings.setCOPPA(true);
   ```

#### LevelPlay SDK 9.3.0 及更低版本

对于旧版 LevelPlay SDK 9.3.0 及更低版本，请使用以下 API。

> **Note:**
>
> 已弃用此 API，将在未来的 SDK 版本中移除。

如果最终用户是适用法规定义的子项，请根据每个网络调用以下 API。有关网络密钥和相关值的完整列表，请参阅 [Unity LevelPlay - 面向子项和子项的应用程序](/grow/levelplay/platform/legal-resources/children-child-directed-apps.md.md)。

1. **Android**

   例如，对于 ironSource 广告服务网络，如果终端用户是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData("is_child_directed","true");
   ```

   如果终端用户不是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData("is_child_directed","false");
   ```

2. **iOS**

   例如，对于 ironSource 广告服务网络，如果终端用户是儿童，请使用以下 API：

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"is_child_directed" value:@"YES"];
   ```

   如果终端用户不是儿童，请使用以下 API：

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"is_child_directed" value:@"NO"];
   ```

3. **Unity**

   例如，对于 ironSource 广告服务网络，如果终端用户是儿童，请使用以下 API：

   ```cs
   LevelPlay.setMetaData("is_child_directed","true");
   ```

   如果终端用户不是儿童，请使用以下 API：

   ```cs
   LevelPlay.setMetaData("is_child_directed","false");
   ```

4. **Flutter**

   例如，对于 ironSource 广告服务网络，如果终端用户是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData({'is_child_directed': ['true']});
   ```

   如果终端用户不是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData({'is_child_directed': ['false']});
   ```

5. **React Native**

   例如，对于 ironSource 广告服务网络，如果终端用户是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData('is_child_directed', ['true']);
   ```

   如果终端用户不是儿童，请使用以下 API：

   ```java
   LevelPlay.setMetaData('is_child_directed', ['false']);
   ```

## Google 播放 家庭策略##google-play-families-policy

如果您的任何应用参与了 Google 播放的 [Designed for Families 计划](https://support.google.com/googleplay/android-developer/answer/9893335)，列在 Google 播放的 Family 部分中，或将子项作为目标受众之一，请遵循以下步骤。

此外，请确保在 LevelPlay 平台上标记您的应用以符合 COPPA 要求。

### 针对子项的应用指南##guidance-for-apps-directed-at-children

如果您的应用程序主要面向子项，请执行以下步骤：

1. Integrate LevelPlay SDK 7.2.1+

2. 更新应用程序的清单文件以防止访问 Android 广告 ID (AAID)：

   ```xml
   <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
   ```

3. 使用 LevelPlay 元数据 API 可防止标记为子项的终端用户访问 AAID。确保在初始化 LevelPlay SDK 之前执行此操作。

   ```as
   LevelPlay.setMetaData({
         'is_deviceid_optout': ['true'],
         'is_child_directed': ['true']
       });
   ```

4. 更新应用程序的 Gradle：

   ```java
   implementation 'com.google.android.gms:play-services-appset:16.1.0'
   ```

### 面向混合受众的应用程序指南##guidance-for-apps-directed-at-a-mixed-audience

如果您的应用面向混合受众，请执行以下步骤：

1. Integrate LevelPlay SDK 7.2.1+

2. 更新应用程序的清单文件以允许访问 Android 广告 ID (AAID)：

   ```xml
   <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
   ```

3. 使用 LevelPlay 元数据 API 可防止仅子项或年龄不明的用户访问 AAID，并将这些用户标记为子项。确保在初始化 LevelPlay SDK 之前执行此操作。

   ```as
   LevelPlay.setMetaData({
         'is_deviceid_optout': ['true'],
         'is_child_directed': ['true'],
         'Google_Family_Self_Certified_SDKS': ['true']
       });
   ```

4. 更新应用程序的 Gradle：

   ```java
   implementation 'com.google.android.gms:play-services-appset:16.1.0'
   implementation 'com.google.android.gms:play-services-ads-identifier:18.2.0'
   ```

> **Note:**
>
> 阻止访问 GAID（Android 广告 ID）可能会影响您的
> Monetization 性能。确保仅进行这些集成更改
> 所需的应用程序和用户。
