adjust-icon

设置隐私功能

Adjust SDK 包含处理应用用户隐私的功能。

发送被遗忘权请求

在处理个人数据方面,欧盟的《通用数据保护条例》(GDPR) 和全球类似的隐私法律 (CCPA、LGPD 等) 授予数据主体完全权利,其中包括删除权 (参见 GDPR 第 17条)( 1 )。作为数据处理方,Adjust 有义务支持您 (数据控制方) 处理来自应用用户的此类请求。

您可以通过调用 Adjust2dx::gdprForgetMe() 方法来将用户的删除请求发送至 Adjust 服务器。收到通知后:

  • 我们将从内部系统和数据库中永久删除用户的所有历史个人数据;
  • 此外,Adjust 将不再通过 Adjust SDK 接收来自该用户/设备的数据。 ( 2 )
Adjust2dx::gdprForgetMe();

设置儿童应用

如果您的应用定向到 "儿童" 类别,则必须阻止应用收集设备标识符。为此请进行下列操作:

  1. (仅限安卓):通过将以下内容添加到您的AndroidManifest.xml文件来移除com.google.android.gms.permission.AD_ID权限:

    <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
  2. (仅限 iOS):确保从您的项目中取消AdSupport.frameworkAppTrackingTransparency.framework框架的关联。

配置 COPPA 合规

如果您的应用属于需要遵守《儿童在线隐私保护法》(COPPA) 的类别,则必须在AdjustConfig2dx实例上调用enableCoppaCompliance方法。调用该方法会进行下列操作:

  1. 禁止应用在用户首次 session 与第三方分享数据。
  2. 防止 SDK 读取设备和广告 ID (例如gps_adidandroid_id)。
AdjustConfig2dx adjustConfig = AdjustConfig2dx(appToken, environment);
adjustConfig.enableCoppaCompliance();
Adjust2dx::initSdk(adjustConfig);

配置 Play 商店儿童应用合规 (仅限安卓)

如果您的应用会定向到不满 13 周岁的儿童,且安装地区 位于美国,则需要将其标记为儿童应用 (Kids App)。这可以防止 SDK 读取设备和广告 ID (例如gps_adidandroid_id)。

要将应用标记为儿童应用,请在AdjustConfig2dx实例上调用enablePlayStoreKidsCompliance方法。

AdjustConfig2dx adjustConfig = AdjustConfig2dx(appToken, environment);
adjustConfig.enablePlayStoreKidsCompliance();
Adjust2dx::initSdk(adjustConfig);

配置第三方分享选项

您可以使用 Adjust SDK 来在用户更改其第三方分享设置时进行记录,方法是实例化一个AdjustThirdPartySharing2dx对象并将其传递至Adjust2dx::trackThirdPartySharing

实例化第三方共享对象

要实例化第三方数据分享对象,请创建新的 AdjustThirdPartySharing2dx 实例,并传送下列参数:

isEnabled (bool)

是否启用第三方数据分享。

  • 传递true以启用第三方分享。
  • 传递false以禁用第三方分享。
AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);

完成 AdjustThirdPartySharing2dx 对象实例化后,使用 AdjustThirdPartySharing2dx 实例作为参数调用 Adjust2dx::trackThirdPartySharing 方法,向 Adjust 发送信息。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

按合作伙伴进行分享设置

如果您只想与特定合作伙伴分享指标,或需要设置与特定合作伙伴分享的指标,则必须按照下列步骤操作:

  1. 使用true参数实例化AdjustThirdPartySharing2dx对象。
  2. 使用下列参数调用AdjustThirdPartySharing2dx实例上的addPartnerSharingSetting方法,自定义与每个合作伙伴分享的数据内容:
partnerName (std::string)

合作伙伴 ID。下载可用合作伙伴的完整列表

key (std::string)

要更新的指标。

value (bool)

是否与指定合作伙伴分享指标。

  • 传递false可停止指标分享。
  • 传递true可恢复分享指标。

要与某个合作伙伴分享特定指标,则必须:

  1. all指标设置为false
  2. 将要分享的每个指标设置为true
AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "install", true);
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

您可以使用该方法控制下列指标:

  • ad_revenue
  • all
  • attribution
  • update
  • att_update
  • cost_update
  • event
  • install
  • reattribution
  • reattribution_reinstall
  • reinstall
  • rejected_install
  • rejected_reattribution
  • sdk_click
  • sdk_info
  • session
  • subscription
  • uninstall

示例

如果您想停止与特定合作伙伴分享所有指标,请发送带有false值的all键。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

要重新启用分享,请发送带有true值的all键。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", true);
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

仅与合作伙伴分享事件数据:

  • 传递带有false值的all可停止分享所有指标。
  • 传递带有true值的event可开始分享事件。
AdjustThirdPartySharing2dx adjustThirdPartySharing = new AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "event", true);
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

按合作伙伴添加精细信息

当用户更新第三方数据分享设置时,您可以附加精细信息,以此发送用户决定的更多细节。为此,请使用以下参数在AdjustThirdPartySharing2dx实例上调用addGranularOption方法:

partnerName (std::string)

合作伙伴 ID。下载可用合作伙伴的完整列表

key (std::string)

精细信息键。

value (std::string)

精细信息的值。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addGranularOption("PartnerA", "foo", "bar");
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

管理 Facebook "限制数据使用" 功能

为遵守《加州消费者隐私法案》(CCPA) 的规定,Facebook 提供了 "限制数据使用" (LDU) 功能。借助该功能,在有位于美国加利福尼亚州的用户选择拒绝数据出售时,您就能向 Facebook 发送通知。如果您希望将所有用户的默认许可状态设为拒绝,也可以使用该功能。

您可以使用以下键更新 Facebook LDU 状态:

data_processing_options_country

用户所在的国家/地区。

  • 0: 要求 Facebook 使用地理位置。
  • 1: 美利坚合众国。
data_processing_options_state

通知 Facebook 用户所处的州。

  • 0: 要求 Facebook 使用地理位置。
  • 1000: 加利福尼亚州
  • 1001: 科罗拉多州。
  • 1002: 康涅狄格州。
AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_country", "1");
adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_state", "1000");
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

向 Google 提供许可数据 (《数字市场法案》合规)

要符合欧盟的《数字市场法案》(Digital Markets Act,简称 DMA),Google Ads 和 Google Marketing Platform 需要获得明确的用户许可,才能接收 Adjust 向其 API 发送的归因请求。在下列情况下,您必须传达用户的许可决定:

  • 您有用户位于欧洲经济区 (EEA)。欧洲经济区包括欧盟成员国、瑞士、挪威、冰岛和斯洛文尼亚。
  • 您使用 Google Ads 或 Google Marketing Platform。

要发送该许可,请针对合作伙伴将以下精细选项添加至第三方分享实例google_dma

eea (10)

告知 Adjust 安装应用的用户是 (1) 否(0)位于欧洲经济区。

ad_personalization (10)

告知 Adjust 用户是 (1) 否 (0) 同意通过 Google Ads 和/或 Google Marketing Platform 接收个性化广告。

此参数还为针对 Google Marketing Platform 的npa参数提供信息。

ad_user_data (10)

告知 Adjust 用户是否允许其广告主 ID 被用于归因相关目的。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addGranularOption("google_dma", "eea", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_personalization", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_user_data", "0");
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

如果您的用户不在 EEA,则必须将ad_personalizationad_user_data都设置为1 。如果未设置这些值,Google 不会认领归因并返回错误。

AdjustThirdPartySharing2dx adjustThirdPartySharing = AdjustThirdPartySharing2dx(true);
adjustThirdPartySharing.addGranularOption("google_dma", "eea", "0");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_personalization", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_user_data", "1");
Adjust2dx::trackThirdPartySharing(adjustThirdPartySharing);

设置 URL 策略

通过 URL 策略功能,您可以进行下列设置之一:

  • Adjust 储存您数据的国家/地区 (即数据驻留)。
  • 接收 Adjust SDK 所发送流量的终端 (即 URL 策略)。

当应用运营的国家拥有严格的隐私规定时,此功能会非常有用。在您设置 URL 策略时,Adjust 会将数据储存在指定数据驻留地区,或将流量发送至选定域。

要设置数据驻留国家,请在 AdjustConfig2dx 实例上使用下列参数调用 setUrlStrategy 方法:

urlStrategyDomains (std::vector<std::string>)

接收 SDK 流量的终端。

shouldUseSubdomains (bool)

来源是否应在域名前添加子域名。

isDataResidency (bool)

域名是否用于数据驻留。

请查看下方策略列表。

URL 策略主要和后备域名使用子域名数据驻留
欧盟数据驻留"eu.adjust.com"truetrue
土耳其数据驻留"tr.adjust.com"truetrue
数据驻留"us.adjust.com"truetrue
中国统一 URL 策略"adjust.world""adjust.com"truefalse
中国 URL 策略"adjust.cn""adjust.com"truefalse
仅限中国地区的 URL 策略"adjust.cn"truefalse
印度 URL 策略"adjust.net.in""adjust.com"truefalse
AdjustConfig2dx adjustConfig = AdjustConfig2dx(appToken, environment);
adjustConfig.setUrlStrategy({"eu.adjust.com"}, true, true);
Adjust2dx::initSdk(adjustConfig);

如果您在 Adjust 控制面板中启用了数据隐私设置,那么则需要对 Adjust SDK 做出相应设置。这包括设置许可有效期和用户数据留存期。

要开启或关闭该功能,请使用下列参数调用 trackMeasurementConsent 方法:

measurementConsent (bool)

许可监测是 (true) 否 (false) 启用。

开启后,SDK 会将数据隐私设置发送至 Adjust 服务器。Adjust 服务器随后会将您的数据隐私规则应用于用户,而 Adjust SDK 将会继续如常运行。

Adjust2dx::trackMeasurementConsent(true);