针对获得用户同意后共享数据的资源
根据我们的《商业产品(数据)条款》,在集成 TikTok 应用事件 SDK 时,你必须具备收集和处理用户数据的有效法律依据。在受《电子隐私指令》(ePrivacy Directive) 及类似数据保护框架约束的管辖区,通常要求在通过 SDK 发起任何数据传输之前,事先征得终端用户的知情同意。
TikTok 应用事件 SDK 旨在自动记录标准移动应用事件,例如应用安装、应用启动和应用内购买。这些事件会在用户打开应用时传输给 TikTok,用于启用洞察报告、受众创建和投放优化。
我们整理了相关资源,帮助你遵守法律要求(包括《欧盟数据保护法》和《TikTok 数据条款》),在应用体验中建立或集成同意机制。
征得同意前延迟监测
TikTok 应用事件 SDK 专为在用户打开应用时自动将数据传输至 TikTok 而设计。TikTok 提供工具,让你能够在用户完成应用内同意流程前,延迟数据传输。这样,不会在获得用户同意之前传输数据。
Android
默认情况下,SDK 会在初始化后自动开始记录并发送事件。如果需要在发送数据前征得用户的同意,请在配置时调用disableAutoStart()。这样,SDK 会将事件保存在本地队列中,不会立即发送。
(code curl http)
TTConfig ttConfig = new TTConfig(getApplicationContext(), "YOUR_APP_SECRET")
.setAppId("YOUR_APP_ID")
.setTTAppId("YOUR_TIKTOK_APP_ID")
.disableAutoStart(); // Add this line
TikTokBusinessSdk.initializeSdk(ttConfig);
(/code)
征得用户同意后,调用startTrack(),开始将所有已在队列中和后续的事件发送到 TikTok。
(code curl http)
// Call this after user provides consent
TikTokBusinessSdk.startTrack();
(/code)
iOS
默认情况下,SDK 会在初始化后自动开始记录并发送事件。如果需要在发送数据前征得用户的同意,请在配置时调用disableTracking()。这样,SDK 会将事件保存在本地队列中,不会立即发送。
(code curl http)
// Swift
guard let config = TikTokConfig(accessToken: "YOUR_APP_SECRET", appId: "YOUR_APP_ID", tiktokAppId: "YOUR_TIKTOK_APP_ID") else {
return true
}
config.disableTracking() // Add this line
TikTokBusiness.initializeSdk(config)
(/code)
(code curl http)
// Objective-C
TikTokConfig *config = [TikTokConfig configWithAccessToken:@"YOUR_APP_SECRET" appId:@"YOUR_APP_ID" tiktokAppId:@"YOUR_TIKTOK_APP_ID"];
[config disableTracking]; // Add this line
[TikTokBusiness initializeSdk:config];
(/code)
征得用户同意后,调用 setTrackingEnabled(true),开始将所有已在队列中和后续的事件发送到 TikTok。
(code curl http)
// Swift
// Call this after user provides consent
TikTokBusiness.setTrackingEnabled(true)
(/code)
(code curl http)
// Objective-C
// Call this after user provides consent
[TikTokBusiness setTrackingEnabled:YES];
(/code)
Unity
默认情况下,SDK 会在初始化后自动开始记录并发送事件。如果需要先征得用户的同意,请在配置时调用DisableTrack()。这样,SDK 会将事件保存在本地队列中,不会立即发送。
(code curl http)
TikTokConfig config = new TikTokConfig(/*...*/);
config.DisableTrack(); // Add this line
TikTokBusinessSDK.InitializeSdk(config);
(/code)
征得用户同意后,调用 StartTrack(),发送所有已在队列中和后续的事件。
(code curl http)
// Call this after user provides consent
TikTokBusinessSDK.StartTrack();
(/code)
禁用自动事件收集
TikTok 应用事件 SDK 旨在自动记录标准移动应用事件,例如应用安装、应用启动和应用内购买。你可以选择禁用自动事件记录。
重要说明
禁用自动事件记录后,将不再默认监测应用安装和应用启动等事件。如果你需要这些事件用于度量或分析,必须在应用代码中部署手动记录,以手动捕获并发送这些事件。
Android
(code curl http)
TTConfig ttConfig = new TTConfig(getApplicationContext(), "YOUR_APP_SECRET")
// ... other configurations
// Option 1: Disable ALL automatic events (Install, Launch, 2DRetention, Purchase)
.disableAutoEvents()
// Option 2: Disable specific automatic events
.disableInstallLogging() // Disable install reporting only
.disableLaunchLogging() // Disable automatic app launch reporting only
.disableRetentionLogging() // Disable automatic 2DRetention reporting only
.disableAutoIapTrack() // Disable automatic Purchase reporting only
TikTokBusinessSdk.initializeSdk(ttConfig);
(/code)
iOS
(code curl http)
// Swift
guard let config = TikTokConfig(accessToken: "YOUR_APP_SECRET", appId: "YOUR_APP_ID", tiktokAppId: "YOUR_TIKTOK_APP_ID") else {
return true
}
// Option 1: Disable ALL automatic events
config.disableAutomaticTracking()
// Option 2: Disable specific automatic events
config.disableInstallTracking()
config.disableLaunchTracking()
config.disableRetentionTracking()
config.disablePaymentTracking()
TikTokBusiness.initializeSdk(config)
(/code)
(code curl http)
// Objective-C
TikTokConfig *config = [TikTokConfig configWithAccessToken:@"YOUR_APP_SECRET" appId:@"YOUR_APP_ID" tiktokAppId:@"YOUR_TIKTOK_APP_ID"];
// Option 1: Disable ALL automatic events
[config disableAutomaticTracking];
// Option 2: Disable specific automatic events
[config disableInstallTracking];
[config disableLaunchTracking];
[config disableRetentionTracking];
[config disablePaymentTracking];
[TikTokBusiness initializeSdk:config];
(/code)
Unity
(code curl http)
TikTokConfig config = new TikTokConfig(/*...*/);
// Option 1: Disable ALL automatic events
config.DisableAutoTrack();
// Option 2: Disable specific automatic events
config.DisableInstallTrack();
config.DisableLaunchTrack();
config.DisableRetentionTrack();
config.DisablePayTrack();
TikTokBusinessSDK.InitializeSdk(config);
(/code)
禁用强化数据回传
强化数据回传(SDK 1.4.0 及以上版本可用)会通过应用事件 SDK 自动收集应用内页面信息,例如元数据和按钮点击信息。你可以选择禁用自动元数据收集。你可以通过 3 种方式控制数据收集:
|控制类型{15%}|接口{20%}|用途{40%}|范围{15%}|
|---|---|---|---|
|前端开关|TikTok 事件管理工具|在所有设备上启用或禁用该功能。可使用该功能直接修改设置,无需发布新版本的应用。<br><br>优先于客户端全局开关,并遵从客户端的低性能标记(如有)。|全局|
|客户端全局开关|SDK 配置|在所有设备上禁用该功能。需发布新版本的应用才能更改此设置。<br><br>优先级次于前端开关(服务器端设置具有优先级)。|全局|
|客户端低性能标记|SDK 配置|针对低性能设备优化功能的性能(如有自定义设备分级逻辑)。<br><br>当启用全局开关时强制执行。|特定设备|
1. 事件管理工具前端开关
可在事件管理工具中,从应用的“设置”选项卡访问该开关。借助这一开关,你可以在 TikTok 事件管理工具中动态启用/禁用该功能,无需重新编译和重新发布应用。此开关优先于全局禁用标记,并遵从低性能设备标记。
此开关也强制优先考虑服务器端设置。首次部署 SDK 时,该开关的初始状态将与客户端的设置保持一致。在事件管理工具中做出的任何进一步更改,都将覆盖客户端的设置。
2. 客户端全局开关
在 SDK 配置中添加这一设置,可在所有设备上全局禁用该功能。如果你希望完全关闭这项功能,而不考虑设备类型或运行时条件,请使用此设置。
Android
(code curl http)
TTConfig ttConfig = new TTConfig(getApplicationContext(), "YOUR_APP_SECRET")
.setAppId("YOUR_APP_ID")
.setTTAppId("YOUR_TIKTOK_APP_ID")
.disableAutoEnhancedDataPostbackEvent() // Disable Enhanced data postback
TikTokBusinessSdk.initializeSdk(ttConfig);
(/code)
iOS
(code curl http)
// Swift
guard let config = TikTokConfig(accessToken: "YOUR_APP_SECRET", appId: "YOUR_APP_ID", tiktokAppId: "YOUR_TIKTOK_APP_ID") else {
return true
}
// Add this line to disable Enhanced data postback
config.disableAutoEnhancedDataPostbackEvent()
TikTokBusiness.initializeSdk(config)
(/code)
(code curl http)
// Objective-C
TikTokConfig *config = [TikTokConfig configWithAccessToken:@"YOUR_APP_SECRET" appId:@"YOUR_APP_ID" tiktokAppId:@"YOUR_TIKTOK_APP_ID"];
// Add this line to disable Enhanced data postback
[config disableAutoEnhancedDataPostbackEvent];
[TikTokBusiness initializeSdk:config];
(/code)
Unity
(code curl http)
// C#
TikTokConfig config = new TikTokConfig("YOUR_IOS_APP_SECRET", "YOUR_IOS_APP_ID", "YOUR_IOS_TIKTOK_APP_ID", "YOUR_ANDROID_APP_SECRET", "YOUR_ANDROID_APP_ID", "YOUR_ANDROID_TIKTOK_APP_ID");
// Add this line to disable Enhanced data postback
config.DisableEnhancedDataPostbackTrack();
TikTokBusinessSDK.InitializeSdk(config);
(/code)
3. 客户端低性能设备标记
在 SDK 配置中添加此设置,仅为标记为低性能的设备优化性能。如果你有自定义逻辑来为设备性能分类,并希望这项功能默认开启,但在性能受限的设备上禁用,请使用此设置。
Android
(code curl http)
TTConfig ttConfig = new TTConfig(getApplicationContext(), "YOUR_APP_SECRET")
.setAppId("YOUR_APP_ID")
.setTTAppId("YOUR_TIKTOK_APP_ID")
.setIsLowPerformanceDevice(true); // Optimise feature performance on this device only
TikTokBusinessSdk.initializeSdk(ttConfig);
(/code)
iOS
(code curl http)
// Swift
guard let config = TikTokConfig(accessToken: "YOUR_APP_SECRET", appId: "YOUR_APP_ID", tiktokAppId: "YOUR_TIKTOK_APP_ID") else {
return true
}
// Add this line to optimise feature performance on this device only
config.setIsLowPerformanceDevice(true)
TikTokBusiness.initializeSdk(config)
(/code)
(code curl http)
// Objective-C
TikTokConfig *config = [TikTokConfig configWithAccessToken:@"YOUR_APP_SECRET" appId:@"YOUR_APP_ID" tiktokAppId:@"YOUR_TIKTOK_APP_ID"];
// Add this line to optimise feature performance on this device only
[config setIsLowPerformanceDevice:YES];
[TikTokBusiness initializeSdk:config];
(/code)
Unity
(code curl http)
// C#
TikTokConfig config = new TikTokConfig("YOUR_IOS_APP_SECRET", "YOUR_IOS_APP_ID", "YOUR_IOS_TIKTOK_APP_ID", "YOUR_ANDROID_APP_SECRET", "YOUR_ANDROID_APP_ID", "YOUR_ANDROID_TIKTOK_APP_ID");
// Add this line to optimise feature performance on this device only
config.SetIsLowPerformanceDevice(true);
TikTokBusinessSDK.InitializeSdk(config);
(/code)