← 返回目录
📁 Marketing API › Ad Measurement › Guides › TikTok App Events SDK › Compliance best practices

针对获得用户同意后共享数据的资源

根据我们的《商业产品(数据)条款》,在集成 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)

内容来源:TikTok API for Business 官方文档 · 本地归档

在接这个接口时卡住了?
Stuck wiring this API into production? We build ad-delivery tooling on these platforms — campaign automation, reporting pipelines, error-handling and migration between API versions.
联系我们 · Talk to us 每日平台更新简报 →