ADJConfig 类 使用 ADJConfig
类存储 Adjust SDK 的使用设置。
在初始化 Adjust SDK 之前您需要设置
ADJConfig
类。这是因为 SDK 会在运行时从该类中复制属性。
要设置 SDK,您需要将应用相关信息传递至 config 对象。请指定您的应用识别码、环境和日志级别。
+ (nullable ADJConfig *) configWithAppToken: (nonnull NSString *) appToken
environment: (nonnull NSString *) environment
allowSuppressLogLevel: (BOOL) allowSuppressLogLevel
全部展开
NSString *yourAppToken = @"{YourAppToken}";
NSString *environment = ADJEnvironmentSandbox;
ADJConfig *adjustConfig = [ADJConfig configWithAppToken:yourAppToken environment:environment allowSuppressLogLevel:YES];
let appToken = "{YourAppToken}"
let environment = ADJEnvironmentSandbox
let adjustConfig = ADJConfig(appToken: appToken, environment: environment, allowSuppressLogLevel: true)
var yourAppToken = yourAppToken;
var environment = AdjustConfig.EnvironmentSandbox;
var adjustConfig = new AdjustConfig(yourAppToken, environment);
Adjust.appDidLaunch(adjustConfig);
全部展开
configWithAppToken
字符串 应用的应用识别码。唯一标识符,可以在您的控制面板中找到,长度始终为 12 字符。 是 environment
字符串 应用的当前环境。我们利用该环境来区分真实流量和测试流量。请务必始终让该值保持有意义。这一点在进行收入跟踪时尤为重要。 是 allowSuppressLogLevel
布尔 设为 true 时允许使用 ADJLogLevelSuppress
并取代生产环境的默认值。 否
environment
AdjEnvironmentProduction
指示应用程序正处于生产环境。数据为实时数据。 environment
AdjEnvironmentSandbox
指示应用程序正在测试中,在控制面板中不会显示为实时数据。
默认状态下,Adjust SDK 将与 Apple 的 SKAdNetwork 分享信息。如果您不希望与 Apple 分享这些信息,可以禁用分享行为。
- (void) deactivateSKAdNetworkHandling
全部展开
[adjustConfig.deactivateSKAdNetworkHandling];
adjustConfig.deactivateSKAdNetworkHandling()
如果您向应用中添加了 AdServices.framework
Adjust SDK 就可以访问 AdServices 信息。要阻止该行为,请切换 allowAdServicesInfoReading
属性。
- (BOOL) allowAdServicesInfoReading
全部展开
[adjustConfig setAllowAdServicesInfoReading:NO];
adjustConfig?.allowAdServicesInfoReading = false
默认状态下Adjust SDK 将从 iAd 框架中读取信息用于 ASA 跟踪。您可以通过切换 allowiAdInfoReading
属性来禁用此功能。
Apple 已于 2023 年 2 月 7 日弃用 iAd 框架。此属性无任何作用。
- (BOOL) allowiAdInfoReading
[adjustConfig setAllowiAdInfoReading:NO];
Adjust SDK 会读取设备的广告主 ID (IDFA) 以提高归因的准确性。您可以切换 allowIdfaReading
属性来阻止该行为。
- (BOOL) allowIdfaReading
全部展开
[adjustConfig allowIdfaReading:NO];
adjustConfig?.allowIdfaReading = false
您可以为应用设置默认跟踪链接。如果没有其他可读取的跟踪链接信息,Adjust SDK 就会使用该跟踪链接。
- (NSString *) defaultTracker
全部展开
[adjustConfig setDefaultTracker:@"{TrackerToken}"];
adjustConfig?.defaultTracker = "{TrackerToken}"
adjustConfig.setDefaultTracker(trackerToken);
defaultTracker
字符串 您希望设置的默认跟踪链接的跟踪码。
在应用激活之前,某些信息可能不可用。如果您需要等待数据,则可以延迟 SDK 首次启动。您可以指定 SDK 初始化的延迟时间 (以秒计)。
SDK 延迟仅适用于用户首次打开应用后的会话。此后,SDK 会在应用激活时立刻初始化,不会再延迟。
全部展开
[adjustConfig setDelayStart:5.5];
adjustConfig?.delayStart = 5.5
adjustConfig.setDelayStart(5.5);
delayStart
数字 (双精度浮点数) 您希望的延迟时间 (以秒计)。最大值为 10 秒。
Adjust SDK 可以通知您用户归因发生的变更。要启用通知,请注册一个委托 (delegate) 以记录归因变更。该信息将以 JSON 对象的方式供您访问。
由于 Adjust 在归因时会考虑各种不同的来源,因此,该信息并不会实时提供。
- (NSObject< AdjustDelegate > *) delegate
全部展开
[adjustConfig setDelegate:self];
adjustConfig?.delegate = self
adjustConfig.setAttributionCallback(function(attribution){
// In this example, we're just displaying alert with attribution content.
alert('Tracker token = ' + attribution.trackerToken+ '\n' +
'Tracker name = ' + attribution.trackerName + '\n' +
'Network = ' + attribution.network + '\n' +
'Campaign = ' + attribution.campaign + '\n' +
'Adgroup = ' + attribution.adgroup + '\n' +
'Creative = ' + attribution.creative + '\n' +
'Click label = ' + attribution.clickLabel + '\n' +
'Adid = ' + attribution.adid);
});
delegate
对象 将此项设为 self
以将配置注册为委托。
若要在应用中触发大量事件,请考虑启用事件缓冲,以降低事件发送频率。启用事件缓冲后,Adjust SDK 不再实时发送事件,而是每分钟发送一次。缓冲会先保存事件,直至 Adjust SDK 将事件发送给 Adjust 后端。
- (BOOL) eventBufferingEnabled
全部展开
[adjustConfig setEventBufferingEnabled:YES];
adjustConfig?.eventBufferingEnabled = true
adjustConfig.setEventBufferingEnabled(true);
您可以变更 logLevel
属性,调整从 Adjust SDK 收到的日志级别。部分日志级别仅在应用程序处于 sandbox 环境中运行时才可用。
全部展开
[adjustConfig setLogLevel:ADJLogLevelVerbose];
adjustConfig?.logLevel = ADJLogLevelVerbose
adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose)
全部展开
logLevel
ADJLogLevel
enum要返回的日志级别。
ADJLogLevelVerbose
启用完整日志。
ADJLogLevelDebug
启用更详细的日志以进行问题调试。
ADJLogLevelInfo
返回信息、警告、错误和断言日志。
ADJLogLevelWarn
返回警告、错误和断言日志。
ADJLogLevelError
只返回错误和断言日志。
ADJLogLevelAssert
只返回断言日志。
ADJLogLevelSuppress
禁用所有日志。
SDK 允许您指定是否同归因信息一起发送成本数据。
全部展开
[adjustConfig setNeedsCost:YES];
adjustConfig?.needsCost = true
默认状态下,只有应用在前台打开时,Adjust SDK 才会发送事件信息。不过,您可以进行设置,让 SDK 在应用后台运行时发送事件。
- (BOOL) sendInBackground
全部展开
[adjustConfig setSendInBackground:YES];
adjustConfig?.sendInBackground = true
adjustConfig.setSendInBackground(true);
您可以添加自定义设备标识符,以在自己的 BI 系统中跟踪设备和用户。这是一种外部设备标识符,可以被设为您选择的任何值。
在获得标识符之前,您可能需要延迟 SDK 初始化 。
externalDeviceId
的优先级低于广告 ID 等其他标识符,因此仅适用于新设备。现有设备将继续通过优先级更高的标识符进行归因。
- (NSString *) externalDeviceId
全部展开
[adjustConfig setExternalDeviceId:@"yourExternalDeviceId"];
adjustConfig?.externalDeviceId = "yourExternalDeviceId"
AdjustConfig.setExternalDeviceId("YourExternalDeviceId");
Adjust SDK 可以使用 URL 策略设置来优先选择地区终端。如果您正在使用数据驻留功能,可以利用该设置。
- (NSString *) urlStrategy
全部展开
[adjustConfig setUrlStrategy:ADJDataResidencyEU];
adjustConfig?.urlStrategy = ADJDataResidencyEU
adjustConfig.urlStrategy(ADJDataResidencyEU)
ADJDataResidencyEU
将数据驻留地区设为欧盟 ADJDataResidencyTR
将数据驻留地区设为土耳其 ADJDataResidencyUS
将数据驻留地区设为美国 ADJUrlStrategyChina
将 URL 策略指向 app.adjust.world
域 ADJUrlStrategyCn
将 URL 策略指向 app.adjust.cn
域 ADJUrlStrategyIndia
将 URL 策略指向 app.adjust.net.in
域