延迟深度链接允许你在用户点击广告后安装应用时,向应用传递自定义数据。例如,你可以在用户安装并首次启动应用后,直接将其导航到应用的特定页面。
工作原理如下:
- 当用户点击你的广告时,Adapty 会保存点击数据。
- 当 Adapty 注册安装事件时,它会从点击中获取延迟数据。
- 用户安装应用并首次启动后,Adapty 检索存储的数据,你的应用即可接收自定义参数,从而在应用代码中对不同的参数值作出响应。
Adapty 支持以下延迟数据参数:
ios_deferred_data
android_deferred_data
deferred_data_sub[1-10]
要添加延迟数据参数,请在推广活动设置中将其附加到你的点击链接上:
- 复制推广活动中的点击链接。
- 将参数附加到链接末尾。例如,如果你希望 iOS 用户落地到”欢迎”页面,你的链接可能如下所示:
https://api-ua.adapty.io/api/v1/attribution/click?adpt_cid=__ADAPTY__ID__&ios_deferred_data=welcome&campaign_id=__CAMPAIGN_ID__&adset_id=__AID__&ad_id=__CID__&campaign_name=__CAMPAIGN_NAME__&adset_name=__AID_NAME__&ad_name=__CID_NAME__&redirect_url=__APP_LINK__
- 在应用代码中响应参数。请注意,延迟数据参数位于
payload 参数中,且 payload 参数是经过转义的 JSON,因此你需要在应用代码中对其进行解析。
例如,以下是处理 ios_deferred_data 为 welcome 的安装场景的方法:
Adapty.delegate = self
nonisolated func onInstallationDetailsSuccess(_ details: AdaptyInstallationDetails) {
guard
let payloadStr = details.payload,
let data = payloadStr.data(using: .utf8),
let payload = try? JSONSerialization.jsonObject(with: data) as? [String: Any],
let deeplink = payload["ios_deferred_data"] as? String,
deeplink == "welcome"
else { return }
DispatchQueue.main.async {
print("Navigate to welcome screen")
// navigate to your screen here
}
}
Adapty.setOnInstallationDetailsListener(object : OnInstallationDetailsListener {
override fun onInstallationDetailsSuccess(details: AdaptyInstallationDetails) {
details.payload?.let {
runCatching {
val json = JSONObject(it)
if (json.optString("android_deferred_data") == "welcome") {
println("Navigate to welcome screen")
// navigate here
}
}.onFailure(Throwable::printStackTrace)
}
}
})
adapty.addEventListener('onInstallationDetailsSuccess', details => {
// Parse the payload JSON and navigate to welcome screen if needed
try {
if (details.payload) {
const payload = JSON.parse(details.payload);
if (payload.ios_deferred_data === 'welcome') {
// Navigate to welcome screen
// Replace with your app's navigation logic
// For example, using React Navigation:
// navigation.navigate('Welcome');
console.log('Navigate to welcome screen');
}
}
} catch (error) {
console.error('Error parsing installation details payload:', error);
}
});
Adapty().onUpdateInstallationDetailsSuccessStream.listen((details) {
final payloadStr = details.payload;
if (payloadStr == null) return;
final payload = json.decode(payloadStr) as Map<String, dynamic>;
if (payload['ios_deferred_data'] == 'welcome') {
print('Navigate to welcome screen');
}
});
设置备用延迟数据参数
在 Meta Ads 和 TikTok for Business 集成中,你可以为延迟数据参数设置备用值。如果无法从点击链接中获取延迟数据,则会使用这些备用值。
设置延迟数据备用值的步骤:
- 在 Adapty UA 看板的推广活动配置中,进入 Deferred Deeplinks 标签页。
- 在各平台的 Deferred deeplink data 字段中,分别输入 iOS 和 Android 的延迟参数值。
- 点击 Save 以应用你的配置。