Adjust SDK 包含处理应用用户隐私的功能。
发送删除请求
static void gdprForgetMe()在处理个人数据方面,欧盟的《通用数据保护条例》(GDPR) 和全球类似的隐私法律 (CCPA、LGPD 等) 授予数据主体完全权利,其中包括删除权 (参见 GDPR 第 17条)( 1 )。作为数据处理方,Adjust 有义务支持您 (数据控制方) 处理来自应用用户的此类请求。
您可以通过调用 gdprForgetMe 方法来将用户的删除请求发送至 Adjust 服务器。收到通知后:
- 我们将从内部系统和数据库中永久删除用户的所有历史个人数据;
- 此外,Adjust 将不再通过 Adjust SDK 接收来自该用户/设备的数据。 ( 2 )
Adjust.gdprForgetMe();针对特定用户的第三方分享
您可以使用 Adjust SDK 来记录用户对第三方数据分享设置的变更。请使用 AdjustThirdPartySharing 类配置第三方数据分享设置。
实例化 AdjustThirdPartySharing 对象
AdjustThirdPartySharing(bool? _isEnabled)要启用或禁用 Adjust SDK 第三方数据分享,请实例化一个 AdjustThirdPartySharing 对象。该对象中包含的变量控制 Adjust 处理第三方数据分享的方式。
要实例化第三方数据分享对象,请创建新的 AdjustThirdPartySharing 实例,并传送下列参数:
isEnabled(bool):第三方数据分享是否启用。传送true可启用第三方分享;传送false可禁用第三方分享。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);//...Adjust.trackThirdPartySharing(adjustThirdPartySharing);完成 AdjustThirdPartySharing 对象实例化后,您就能以参数形式使用 AdjustThirdPartySharing 实例调用 Adjust.trackThirdPartySharing 方法,以向 Adjust 发送信息。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(false);//...Adjust.trackThirdPartySharing(adjustThirdPartySharing);发送精细信息
void addGranularOption(String partnerName, String key, String value)当用户更新第三方数据分享设置时,您可以附加较精细的信息,以此发送用户决定的更多细节。为此,请使用下列参数调用addGranularOption方法:
partnerName(String):使用精细设置的合作伙伴的名称。key(String):选项 key。value(String):选项值。
可用合作伙伴如下:
| 合作伙伴名称 | 字符串值 |
|---|---|
| Apple Ads | apple_ads |
facebook | |
| Google Ads | adwords |
| Google Marketing Platform | google_marketing_platform |
| Snapchat | snapchat |
| 腾讯 | tencent |
| TikTok SAN | tiktok_san |
| X (前 Twitter) | twitter |
| Yahoo Gemini | yahoo_gemini |
| Yahoo Japan Search | yahoo_japan_search |
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);//...adjustThirdPartySharing.addGranularOption("PartnerA", "key", "value");//...Adjust.trackThirdPartySharing(adjustThirdPartySharing);管理 Facebook “限制数据使用” 功能
为遵守《加州消费者隐私法案》(CCPA) 的规定,Facebook 提供了 “限制数据使用” (LDU) 功能。借助该功能,在有位于美国加利福尼亚州的用户选择拒绝数据出售时,您就能向 Facebook 发送通知。如果您希望将所有用户的默认许可状态设为拒绝,也可以使用该功能。
您可以通过向 addGranularOption 方法传递下列参数来更新 Facebook LDU 状态。
| 参数 | 描述 |
|---|---|
partner_name | 请使用facebook来开启或关闭 LDU。 |
data_processing_options_country | 用户所在的国家/地区
|
data_processing_options_state | 通知 Facebook 用户所处的州。
|
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);//...adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_country", "1");adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_state", "1000");//...Adjust.trackThirdPartySharing(adjustThirdPartySharing);向 Google 提供许可数据 (《数字市场法案》合规)
要符合欧盟的《数字市场法案》(Digital Markets Act,简称 DMA),Google Ads 和 Google Marketing Platform 需要获得明确的用户许可,才能接收 Adjust 向其 API 发送的归因请求。要发送该许可,您需要针对合作伙伴将以下精细选项添加至第三方分享实例google_dma。
| 密钥 | 值 | 描述 |
|---|---|---|
eea | 1 (是) | 0 (否) | 告知 Adjust 安装应用的用户是否位于欧洲经济区。 欧洲经济区包括欧盟成员国、瑞士、挪威、冰岛和斯洛文尼亚。 |
ad_personalization | 1 (是) | 0 (否) | 告知 Adjust 用户是否同意通过 Google Ads 和/或 Google Marketing Platform 接收个性化广告。此参数还为针对 Google Marketing Platform 的npa参数提供信息。 |
ad_user_data | 1 (是) | 0 (否) | 告知 Adjust 用户是否允许其广告主 ID 被用于归因相关目的。 |
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);adjustThirdPartySharing.addGranularOption('google_dma', 'eea', '1');adjustThirdPartySharing.addGranularOption('google_dma', 'ad_personalization', '1');adjustThirdPartySharing.addGranularOption('google_dma', 'ad_user_data', '1');Adjust.trackThirdPartySharing(adjustThirdPartySharing);更新合作伙伴分享设置
void addPartnerSharingSetting(String partnerName, String key, bool value)默认情况下,Adjust 会与您在应用设置中配置的合作伙伴分享所有指标。您可以使用 Adjust SDK,为每个合作伙伴分别更新第三方数据分享设置。为此,请使用下列参数调用 addPartnerSharingSetting 方法:
| 参数 | 数据类型 | 描述 |
|---|---|---|
partnerName | String | 合作伙伴名称。下载可用合作伙伴的完整列表 |
key | String | 与合作伙伴分享的指标 |
value | Boolean | 用户的选择 |
您可以使用key来指定要禁用或重新启用的指标。如果您想启用/禁用所有指标的分享,可以使用all键。可用指标的完整列表如下:
ad_revenueallattributionupdateatt_updatecost_updateeventinstallreattribution
reattribution_reinstallreinstallrejected_installrejected_reattributionsdk_clicksdk_infosessionsubscriptionuninstall
当您针对合作伙伴的指标设置false值时,Adjust 将停止与该合作伙伴分享该指标。
示例
如果您想停止与特定合作伙伴分享所有指标,请发送带有false值的all键。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);Adjust.trackThirdPartySharing(adjustThirdPartySharing);要重新启用分享,请发送带有true值的all键。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);您可以使用不同的键多次调用addPartnerSharingSetting方法来停止或开始共享特定指标。例如,如果您只想与合作伙伴分享事件信息,则可以传递:
all值为false以禁用所有信息分享。event值为true以启用事件共享。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "event", true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);禁用第三方分享
static void disableThirdPartySharing()要为所有用户禁用第三方数据分享,请调用 disableThirdPartySharing 方法。Adjust 服务器收到此信息后,会停止向第三方分享该用户的数据,Adjust SDK 将会继续如常运行。
Adjust.disableThirdPartySharing();设置 URL 策略
String? urlStrategy;通过 URL 策略功能,您可以进行下列设置之一:
- Adjust 储存您数据的国家/地区 (即数据驻留)。
- 接收 Adjust SDK 所发送流量的终端 (即 URL 策略)。
当应用运营的国家拥有严格的隐私规定时,此功能会非常有用。在您设置 URL 策略时,Adjust 会将数据储存在指定数据驻留地区,或将流量发送至选定域名。
要设置数据驻留国家/地区,请将下列 URL 策略之一指定到 config 实例 urlStrategy 属性上。
| 值 | 描述 |
|---|---|
AdjustConfig.DataResidencyEU | 将数据驻留地区设为欧盟 |
AdjustConfig.DataResidencyTR | 将数据驻留地区设为土耳其 |
AdjustConfig.DataResidencyUS | 将数据驻留地区设为美利坚合众国 |
AdjustConfig.UrlStrategyChina | 将 URL 策略指定到 app.adjust.world 域 |
AdjustConfig.UrlStrategyCn | 将 URL 策略指定到 app.adjust.cn 域 |
AdjustConfig.UrlStrategyIndia | 将 URL 策略指定到 app.adjust.net.in 域 |
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);//...adjustConfig.urlStrategy = AdjustConfig.DataResidencyEU;//...Adjust.start(adjustConfig);针对特定用户的许可监测
static void trackMeasurementConsent(bool measurementConsent)如果您正在 Adjust 控制面板中使用数据隐私设置,那么则需要对 Adjust SDK 做出相应设置。这包括设置许可有效期和用户数据留存期。
要开启或关闭该功能,请使用下列参数调用 trackMeasurementConsent 方法:
measurementConsent(bool):许可监测是 (true) 否 (false) 启用。
开启后,SDK 会将数据隐私设置发送至 Adjust 服务器。Adjust 服务器随后会将您的数据隐私规则应用于用户,Adjust SDK 将会继续如常运行。
Adjust.trackMeasurementConsent(true);儿童隐私
从 Adjust SDK 4.32.0 及以上版本默认包含 com.google.android.gms.permission.AD_ID 权限。如要确保应用符合 COPPA 的要求或您的应用不针对 Google Play 商店,则可以通过添加一个remove指令来将其移除。
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>请查看 Google 的 AdvertisingIdClient.Info documentation 文档,了解更多与该许可相关的信息。
COPPA 合规
bool? coppaCompliantEnabled要让您的应用符合 COPPA (儿童在线隐私保护法) 规定,请为 config 实例 coppaCompliantEnabled 属性指定 bool 值。将该属性设为 true。
- 禁止应用在用户首次
session前 与第三方分享数据。 - 防止 SDK 读取设备和广告 ID (例如
gps_adid和android_id)。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);//...adjustConfig.coppaCompliantEnabled = true;//...Adjust.start(adjustConfig);您可以使用 false 参数调用该方法来禁用 COPPA 合规。
Play 商店儿童应用 (仅限安卓)
bool? playStoreKidsAppEnabled如果您的应用会定向到不满 13 周岁的儿童,且安装地区 不 位于美国,则需要将其标记为儿童应用 (Kids App)。这可以防止 SDK 读取设备和广告 ID (例如gps_adid和android_id)。
要将应用标记为 “儿童应用”,请为 config 实例 playStoreKidsAppEnabled 属性指定一个 bool 值。设为 true,可将应用标记为儿童应用;设为 false,可将应用标记为非儿童应用。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox);//...adjustConfig.playStoreKidsAppEnabled = true;//...Adjust.start(adjustConfig);