GDPR 合规性
所有版本的 Unity Ads SDK 均符合《通用数据保护条例》(GDPR),该条例于 2018 年 5 月 25 日在欧洲经济区 (EEA) 生效。
请访问我们的法律网站,了解更多关于 Unity 的隐私保护方式 的信息。
实施 Unity 的内置同意解决方案
建议的最佳实践是更新到最新版本的 Unity Ads SDK,但这并非 GDPR 合规性的必要条件。
2.0 之前的 SDK 版本现在只向用户提供情境广告,严格基于地理位置和应用内操作。
2.0 及更高版本的 SDK 会自动向受影响的用户提供选择加入定向广告的机会,发布者无需进行任何操作。在每个应用的基础上,第一次显示 Unity 广告时,一个横幅会提供选择加入行为定向广告的选项。之后,用户可以选择一个信息按钮来管理其隐私选择。
实施自定义同意解决方案
如果您在应用中实施自定义同意解决方案,则必须将用户的同意状态发送到 Unity Ads SDK。
以下部分介绍了作为非 TCF 用户和作为集成 CMP 的 TCF 用户处理自定义同意实施的指南。
非 TCF 用户
如果您使用的是中介提供商,请参阅其文档以确定他们是否支持与 Unity Ads SDK 共享用户同意状态。一些中介,例如 LevelPlay,具有允许您设置用户的同意状态并代表您自动将同意状态传达给 Unity Ads 的 API。
Note: Some mediators might also support Google’s Additional Consent mode, which is a mechanism to share consent with non-TCF vendors like Unity Ads. Mediators, such as LevelPlay, read the Additional Consent string and pass the consent status to Unity Ads where applicable.
否则,请使用 开发者同意 API 直接将同意状态传递给 Unity Ads SDK。
TCF 用户
对与 Google 的附加同意兼容的 Google UMP 和 CMP 的同意支持
如果您使用的是 Google UMP,请参阅 Google 的 管理 GDPR 广告合作伙伴 文档,以在 AdMob 平台上完成设置。
如果您未使用 Google UMP,请参阅您的 CMP 的文档以了解实施 Google 的附加同意的配置支持。
在设置过程中,请执行以下操作以确保 Unity Ads 被包含在 AdMob 中作为自定义广告合作伙伴
- 登录您的 AdMob 帐户。
- 转到 **隐私和消息传递**。
- 选择 **个性化广告** 作为您想要显示的广告类型。
- 转到“查看您的广告合作伙伴”部分,然后编辑 **常用广告合作伙伴**。
- 在广告合作伙伴页面中选择 **自定义广告合作伙伴**,然后启用 Unity Ads。
重要: Unity Ads 不是注册的 TCF 供应商,这意味着 Unity 不会直接读取 TCString
来确定用户同意。在您通过附加同意(或类似机制)为 Unity Ads 收集同意的情况下,一些中介,例如 LevelPlay,会读取此字符串并将同意传达给 Unity Ads。在所有情况下,您仍然需要通过您的中介(如果支持)或使用 开发者同意 API 共享用户的同意状态。
对与其他 CMP 集成的同意支持
当使用另一个集成的 CMP 时,请根据 CMP 指南设置您的未注册 TCF 网络。确保将 Unity Ads 添加为您的 CMP 的非 TCF 供应商。
如果您使用的是中介提供商,请参阅其文档以确定他们是否支持与 Unity Ads SDK 共享用户同意状态。一些中介,例如 LevelPlay,具有 API,允许您设置用户的同意状态并代表您自动将同意状态传达给 Unity Ads。
如果您未使用中介,并打算自己处理用户同意,请根据其 CMP 提供商读取用户的相关同意值,然后通过我们的 开发者同意 API 将同意状态传递给 Unity Ads SDK。
下表详细介绍了在哪里可以找到将用户同意状态传递给 Unity Ads SDK 的说明
TCF CMP 用户 | 非 TCF 用户 | |
---|---|---|
使用中介提供商 | 请参阅您的中介的文档以了解他们是否以及如何支持与 Unity Ads SDK 共享用户同意状态,这通常通过 API 或 Google 的附加同意模式完成。 | 请参阅您的中介的文档以了解他们是否以及如何支持与 Unity Ads SDK 共享用户同意状态,这通常通过 API 完成。 |
没有中介提供商 | 请参阅 开发者同意 API,将同意状态直接传递给 Unity Ads SDK。 | 请参阅 D开发者同意 API,将同意状态直接传递给 Unity Ads SDK。 |
使用开发者同意 API 实施自定义同意
如果发布者或中介通过我们的 开发者同意 API 向我们发送值,则 Unity 选择加入不会显示。请注意,用户仍然可以请求选择退出或数据删除,并且可以在广告显示期间随时访问其数据,方法是选择 Unity 数据隐私图标。
使用以下 API 将同意标志传递给 Unity Ads SDK。
Tip: If the user takes no action to agree or disagree with targeted advertising (for example, closing the prompt), the recommended best practice is to re-prompt them at a later time.
Unity (C#)
// If the user opts in to targeted advertising:
MetaData gdprMetaData = new MetaData("gdpr");
gdprMetaData.Set("consent", "true");
Advertisement.SetMetaData(gdprMetaData);
// If the user opts out of targeted advertising:
MetaData gdprMetaData = new MetaData("gdpr");
gdprMetaData.Set("consent", "false");
Advertisement.SetMetaData(gdprMetaData);
Note: You must commit the changes to the MetaData
object for each value before trying to set another value. The second parameter is an object (a string in this example). Using a Boolean value will result in an error.
iOS (Objective-C)
// If the user opts in to targeted advertising:
UADSMetaData *gdprConsentMetaData = [[UADSMetaData alloc] init];
[gdprConsentMetaData set:@"gdpr.consent" value:@YES];
[gdprConsentMetaData commit];
// If the user opts out of targeted advertising:
UADSMetaData *gdprConsentMetaData = [[UADSMetaData alloc] init];
[gdprConsentMetaData set:@"gdpr.consent" value:@NO];
[gdprConsentMetaData commit];
Note: You must commit the changes to the MetaData
object for each value before trying to set another value.
Android (Java)
// If the user opts in to targeted advertising:
MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();
// If the user opts out of targeted advertising:
MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", false);
gdprMetaData.commit();
Note: You must commit the changes to the MetaData
object for each value before trying to set another value.