您只能借助首次会话延迟功能在首次 SDK 会话期间延迟 SDK 初始化。在该延迟模式下,Adjust SDK 会将所有活动 (例如安装和事件) 记录在内存中,但不会向 Adjust 服务器发送任何数据。
这样,您的应用就有机会收集启动时或许不可用的额外数据,并根据需要,在发送任何数据前变更 SDK 配置。
首次会话延迟的用途和使用理由
首次会话延迟功能可帮您实现下列目标:
- 为用户设置 COPPA 合规。
- 指定外部设备 ID。
- 显示 App Tracking Transparency (ATT) 对话框,然后根据用户响应采取行动。
启用首次会话延迟
要在延迟模式下初始化 SDK,请使用以下设置:
let yourAppToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox
let adjustConfig = ADJConfig(appToken: yourAppToken,
environment: environment)
adjustConfig?.enableFirstSessionDelay()
Adjust.initSdk(adjustConfig)
NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken
environment:environment];
[adjustConfig enableFirstSessionDelay];
[Adjust initSdk:adjustConfig];
此后,SDK 会在内存中初始化,并不会进行任何处理,除非明确调用:
Adjust.endFirstSessionDelay()
[Adjust endFirstSessionDelay];
在延迟模式下变更配置
当 SDK 处于首次会话延迟模式时,您可以更改 COPPA 合规,效果与 initSdk
期间配置设置相同。
COPPA 合规启用方法:
Adjust.enableCoppaComplianceInDelay()
[Adjust enableCoppaComplianceInDelay];
COPPA 合规禁用方法:
Adjust.disableCoppaComplianceInDelay()
[Adjust disableCoppaComplianceInDelay];
SDK 处于首次会话延迟模式时,您可以更改外部设备 ID,效果与 initSdk
期间配置设置相同。
外部设备 ID 设置方法:
Adjust.setExternalDeviceIdInDelay("YourExternalDeviceId")
[Adjust setExternalDeviceIdInDelay:@"YourExternalDeviceId"];