跳转至

DMA同意横幅的显示

自2024年3月6日起,作为对欧盟和欧洲经济区内强制性DMA法规的响应,Google要求在通过Firebase或营销归因工具向Google传输广告/测量数据时获得用户的明确同意。

诸如Alphabet、Amazon、Apple、ByteDance、Meta和Microsoft等守门人必须在收集个人信息以提供个性化广告时获得用户的明确同意。

为了解决这个问题,Hive SDK 提供了 DMA 同意横幅曝光功能 以支持 Google 的“欧盟用户同意政策”合规性。

当应用**DMA同意横幅曝光**功能时,您可以显示一个横幅,以检查用户对收集个人信息用于广告和测量目的的同意。

 

基本操作流程

当个人信息收集同意适用于您的应用时,它将从以下SDK操作流程的**第3步**开始运行。

  1. 在SDK初始化和登录期间显示服务条款同意
  2. 显示CMP同意弹出窗口,例如ADIZ
  3. 调用Analytics.showConsentModeIfRequire()条件性地显示个人信息收集同意UI
    • 如果用户已经同意,则不显示同意横幅UI。只有在同意已过期或需要额外同意时才会出现。
    • [ConsentMode]对象参数设置为null时,同意列表会根据是否将第三方营销跟踪工具添加到Hive SDK自动生成
  4. 调用Analytics.showConsentMode()始终显示个人信息收集同意UI
    • 如果有先前的同意记录,则根据该值显示UI并设置同意
    • 可以配置应用内设置按钮,以便用户可以随时再次同意或检查同意状态
    • [ConsentMode]对象参数设置为null时,同意列表会根据是否将第三方营销跟踪工具添加到Hive SDK自动生成

显示同意横幅用户界面

Hive SDK通过Hive Analytics的ContentMode类对象提供同意横幅用户界面显示功能。

同意横幅用户界面的配置根据ContentMode对象的功能参数设置大致分为“默认同意横幅用户界面”和“自定义同意横幅用户界面”。

当 [ConsentMode] 对象参数设置为 null 时,以下“默认同意列表”会根据是否将第三方营销跟踪工具添加到 SDK 自动生成。

当用户在应用中完成个人信息收集同意时,Hive SDK 通过回调传递每个项目的同意结果。
通过回调传递的值作为 ConsentStatus 对象的列表提供。

  • id: 同意项的唯一标识符
    • 目的 ad_user_data, ad_personalization, analytics_storage
    • 每个 MMP 供应商用于 ad_personalization 目的: google, adjust, appsflyer, singular, airbridge
  • granted: 同意项的同意状态
    • 同意时为 Analytics.CONSENT_GRANTED, 拒绝时为 Analytics.CONSENT_DENIED
  • consentDate: 用户做出同意决定的时间(以毫秒为单位)
  • expiredDate: 同意过期的时间(以毫秒为单位)

与 Hive SDK 提供的默认同意横幅 UI 不同,这包括可以自定义的 UI 和文本,以匹配您应用程序的特征。 输入与 [ContentMode] 对象提供的每个参数映射的修改文本,如下所示。

  • ConsentMode.title: 显示在同意横幅顶部的文本。
  • ConsentMode.companyName: 显示基本信息时,必须提供公司名称,并在同意表单的标题和内容中设置。
  • ConsentMode.privacyPolicy: 当按下同意横幅底部的“隐私政策”按钮时操作的 URL。
  • ConsentMode.adUserData: 广告用户数据使用的同意项 (ad_user_data)。
  • ConsentMode.adPersonalization: 个性化广告使用的同意项 (ad_personalized)。
  • ConsentMode.analyticsStorage: 分析和统计数据收集的同意项 (analytics_storage)。 (目前仅支持“Google”)
  • ConsentForm.id: 同意项的唯一标识符。可以包括目的 (ad_user_data, ad_personalization, analytics_storage) 和每个 MMP 供应商用于个性化广告目的 ("google", "adjust", "appsflyer", "singular", "airbridge")。
  • ConsentForm.title: 同意项的标题文本。
  • ConsentForm.content: 同意项的描述文本。
  • ConsentStatus.id: 同意项的唯一标识符。参考 ConsentForm.id 内容。
  • ConsentStatus.granted: 同意项的同意状态值。Analytics.CONSENT_GRANTED 表示已同意,Analytics.CONSENT_DENIED 表示已拒绝。

与第三方同意管理平台(CMP)集成

在显示同意横幅弹出窗口时,您可以通过利用符合 TCF 标准的文件来配置,以避免与第三方同意管理平台(CMP)显示重复的同意横幅用户界面。

当调用Analytics.showConsentModeIfRequire()并将checkCmp参数设置为true时,如果根据TCF标准存储了文件,则读取该文件并视为已配置同意。 checkCmp参数的默认值为true。

例如,当使用 ADIZ 时,您可以访问 Google AdMob 控制台以创建 GDPR 消息,然后初始化 ADIZ。 有关详细的配置说明,请参阅 Hive ADIZ > 创建 GDPR 消息

配置同意横幅曝光

本节解释如何在开发环境中为每个Hive SDK引擎配置同意横幅曝光。

Hive SDK Unity

  1. 从Unity项目的顶部菜单Hive > Hive Dependencies打开Hive Dependencies窗口。
  2. 检查并保存如下所示的Analytics Consent-Mode选项以激活它。

Hive SDK Android

在应用级别的build.gradle中声明“分析同意模式”库。


implementation "com.com2us.android.hive:hive-analytics-consent-mode:${HIVE_SDK_VERSION}"    // 输入Hive SDK版本,当不使用BoM时

Hive SDK iOS

Podfile中声明“分析同意模式”框架。


pod 'HiveAnalyticsConsentMode', '${HIVE_SDK_VERSION}'       # 输入 SDK 版本