消费者隐私法合规性

所有版本的 Unity Ads SDK 都符合以下消费者隐私行为:

  • 《加州消费者隐私法案》(CCPA) 于 2019 年 1 月在加州生效。
  • 《弗吉尼亚州消费者数据隐私法案》(VCDPA) 于 2023 年 1 月在弗吉尼亚州生效。
  • 《科罗拉多州隐私法案》(CPA) 于 2023 年 7 月在科罗拉多州生效。
  • 《康涅狄格州数据隐私法案》(CTDPA) 于 2023 年 7 月在康涅狄格州生效。
  • Quebec Law 25 (QCLAW25) 于 2023 年 9 月在加拿大魁北克省生效。

访问我们的法务站点以了解有关 Unity 的隐私方法的更多信息。

Unity 内置解决方案

Unity 建议您更新到最新版本的 Unity Ads SDK,但这不是 CCPA、VCDPA、CPA、CTDPA 和 Quebec Law 25 合规性的强制要求。SDK 2.0 版及更高版本会自动为受影响的用户提供关于定向投放广告的年龄限制同意流程,无需发行商进行实现。

实现自定义解决方案

如果发行商或聚合平台手动请求用户选择是否接受定向投放广告,他们可以使用以下 API 将同意标志传递给 Unity 广告 SDK。如果 Unity 收到这个标志,则不再出现内置选择弹窗。

注意:如果您已经实现 gdpr API 来征求同意,还可以使用此 API 通过将该实现扩展到受 CCPA、VCDPA、CPA、CTDPA 和 Quebec Law 25 影响的用户来确保 CCPA、VCDPA、CPA 和 CTDPA 合规性。同样,隐私 API 在扩展到受影响的用户时也可适用于 GDPR。

提示:如果用户没有执行任何操作来表示接受或拒绝定向投放广告(例如,直接关闭了提示),我们建议稍后再次提示用户。

Unity (C#)

// If the user opts in to targeted advertising:
MetaData privacyMetaData = new MetaData("privacy");
privacyMetaData.Set("consent", "true");
Advertisement.SetMetaData(privacyMetaData);

// If the user opts out of targeted advertising:
MetaData privacyMetaData = new MetaData("privacy");
privacyMetaData.Set("consent", "false");
Advertisement.SetMetaData(privacyMetaData);

注意:必须先为每个值提交 MetaData 对象的更改,然后才能尝试设置另一个值。第二个参数是一个对象(在本示例中是一个字符串)。使用布尔值将导致错误。

iOS (Objective-C)

// If the user opts in to targeted advertising:
UADSMetaData *privacyConsentMetaData = [[UADSMetaData alloc] init];
[privacyConsentMetaData set:@"privacy.consent" value:@YES];
[privacyConsentMetaData commit];

// If the user opts out of targeted advertising:
UADSMetaData *privacyConsentMetaData = [[UADSMetaData alloc] init];
[privacyConsentMetaData set:@"privacy.consent" value:@NO];
[privacyConsentMetaData commit];

注意:必须先为每个值提交 MetaData 对象的更改,然后才能尝试设置另一个值。

Android (Java)

// If the user opts in to targeted advertising:
MetaData privacyMetaData = new MetaData(this);
privacyMetaData.set("privacy.consent", true);
privacyMetaData.commit();

// If the user opts out of targeted advertising:
MetaData privacyMetaData = new MetaData(this);
privacyMetaData.set("privacy.consent", false);
privacyMetaData.commit();

注意:必须先为每个值提交 MetaData 对象的更改,然后才能尝试设置另一个值。