StoreKit Ad Network (SKAdNetwork) 是 Apple 的归因框架,可针对应用安装和重装进行归因。SKAdNetwork 的工作流程如下:
- Apple 会收集归因信息,并通知相关广告渠道。
- 然后,广告渠道会通过回调将这些信息传输给 Adjust。
- Adjust 在 Datascape 中展示 SKAdNetwork 数据。
关闭 SKAdNetwork 通讯
void deactivateSKAdNetworkHandling()v4.23.0 及以上版本的 Adjust SDK 会默认与 SKAdNetwork 通讯。SDK 在初始化时会注册 SKAdNetwork 归因。
您的 config 对象包含一个isSKAdNetworkHandlingActive 布尔属性,该属性控制此行为。您可以通过 no 参数调用 deactivateSKAdNetworkHandling 方法来禁用 SKAdNetwork 通讯。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.Sandbox, true);//...adjustConfig.deactivateSKAdNetworkHandling();//...Adjust.start(adjustConfig);更新转化值
static void updateConversionValue(int conversionValue)转化值是用来在 SKAdNetwork 中监测用户行为的机制。您可以将 64 个条件映射至 0-63 的转化值,并在用户安装时将此整数值发送至 SKAdNetwork。该信息可帮助您进一步了解用户在安装后的最初几日内是如何与应用交互的。
如果您通过 Adjust 管理转化值,那么服务器会在 SDK 中更新该值。您也可以通过 updateConversionValue 方法更新转化值。该方法会包装 Apple 的 updateConversionValue 方法。接受代表更新后的转化值的整数参数。
Adjust.updateConversionValue(6);监听转化值变更
typedef void ConversionValueUpdatedCallback(num? conversionValue);如果您使用 Adjust 管理转化值,那么 Adjust 服务器就会将转化值更新发送到 SDK。您可以设置委托函数,使用 conversionValueUpdatedCallback 方法监听更新。请以参数形式传送您的函数。
AdjustConfig adjustConfig = new AdjustConfig(yourAppToken, environment);config.conversionValueUpdatedCallback = (num? conversionValue) { print('[Adjust]: Received conversion value update: ' + conversionValue!.toString());};Adjust.start(adjustConfig);示例
该示例展示了如何在转化值更新时记录下列内容:
- 确认转化值发生更新的消息
- 新的转化值
import 'package:adjust_sdk/adjust.dart';import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:flutter/services.dart';
initPlatformState() async { AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox); config.logLevel = AdjustLogLevel.verbose;
config.conversionValueUpdatedCallback = (num? conversionValue) { print('[Adjust]: Received conversion value update: ' + conversionValue!.toString()); };
Adjust.start(config);
}SKAdNetwork 4.0 回传
SKAdNetwork 4.0 回调中包含额外信息,帮助广告主更好地了解用户。Adjust 服务器更新转化值时,这些额外信息就会通过负载发送。您可以使用 Skad4ConversionValueUpdatedCallback 回传方法访问这些信息。
| 参数 | 数据类型 | 描述 |
|---|---|---|
fineValue | NSNumber | Adjsut 服务器发送的转化值 |
coarseValue | NSString | 粗粒度转化值。如果应用安装量不足,未能达到隐私阈值,就会启用粗粒度转化值。
如果低、中、高三个值的条件都不满足,Apple 就会发送 none。 |
lockWindow | NSNumber | 是否在转化值窗口结束前发送回调。1 表示回调会在转化窗口结束前发送。在 SKAdNetwork 4.0 回调中默认为 0;在更旧的 SKAdNetwork 版本中默认为 nil。 |
示例
该示例展示了如何记录了细粒度转化值和粗粒度转化值,以及 SKAdNetwork 回调是否在转化值窗口结束前发送。
import 'package:adjust_sdk/adjust.dart';import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'package:flutter/services.dart';
initPlatformState() async { AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox); config.logLevel = AdjustLogLevel.verbose;
config.Skad4ConversionValueUpdatedCallback = (num? conversionValue, String? coarseValue, bool? lockWindow) { print('[Adjust]: Conversion value updated. Callback received'); print('[Adjust]: Conversion value: ' + conversionValue!.toString()); print('[Adjust]: Coarse conversion value: ' + coarseValue!); print('[Adjust]: Will send before conversion value window ends: ' lockWindow!.toString()); };
Adjust.start(config);}设置直接安装回调
您可以进行应用配置,将赢得归因的 SKAdNetwork 回调副本发送给 Adjust。借此在数据分析中使用 SKAdNetwork 信息。
要设置直接安装回调,您需要将 Adjust 回传 URL 添加至 Info.plist 文件:
- 在 Xcode Project navigator 中选择 Info.plist 。
- 在属性列表编辑器中点击 key 旁边的添加按钮,点击
Return。 - 输入 key 名称:
NSAdvertisingAttributionReportEndpoint。 - 在弹出菜单中将 Type (类型) 设置为 String (字符串) 。
- 输入地址:
https://adjust-skadnetwork.com。