onAppOpenAttribution
срабатывает каждый раз, когда вы открываете приложение из разных глубоких ссылок (в вашем случае One-Link).
Я могу получить параметры (кампания, медиа-источник и т. Д.)...) One-Link, если мое приложение не устанавливается.
Справа, в первый раз срабатывают два обратных вызова onAppOpenAttribution
и onConversionDataReceived
.
Но если мое приложение было установлено, запущено, а затем я нажимаю на другую One-Link, чтобы открыть мое приложение
Это может произойти, если вы попытаетесь открыть приложение из One-Link, которое не принадлежит Appsflyer.
Например, эта ссылка (Universal Link) https://rndemotest.onelink.me/7y5s/f78c46d5
предоставит вам источник мультимедиа, кампанию и т. Д. Через onAppOpenAttribution
, где 7y5s
- это ваш идентификатор одной ссылки, определенный в разделе «ONELINK CONFIGURATION»панели инструментов.
[EDIT]
Убедитесь, что вы используете последнюю версию AppsFlyer SDK,
Глубокие ссылки с короткими ссылками для iOSUniversal Links или Android App Links поддерживаются только в SDK версии 4.8.0
Как правило, вы должны получитьответ как {"link": "<URL>"}
для Полная ссылка ae {"link":"https://abc.onelink.me/2347196006?pid=User%20invite&c=CMTT2019einvite&af_dp=abc%3A%2F%2F"}
Для One-Link вы должны получить всю информацию, содержащую медиа-источник, ....
Кстати, вот пример кода, как обрабатывать onAppOpenAttribution
ответ:
func onAppOpenAttribution(_ attributionData: [AnyHashable : Any]!) {
var attDataString:String = ""
var params = [String: String]()
print("")
print("<-------------------------------------------------->")
print("onAppOpenAttribution is:")
if let pid = attributionData[AnyHashable("pid")] as? String{
attDataString.append("PID: " + pid + "\n\n")
print(helper(module: "pid", message: pid))
}
if let is_retargeting = attributionData[AnyHashable("is_retargeting")] as? String{
attDataString.append("is_retargeting: " + is_retargeting + "\n\n")
print(helper(module: "is_retargeting", message: is_retargeting))
}
if let campaign = attributionData[AnyHashable("c")] as? String{
attDataString.append("Campaign: " + campaign + "\n\n")
print(helper(module: "campaign", message: campaign))
}
if let link = attributionData[AnyHashable("link")] as? String{
attDataString.append("Link: " + link + "\n\n")
print(helper(module: "link", message: link))
}
if let af_dp = attributionData[AnyHashable("af_dp")] as? String{
attDataString.append("af_dp: " + af_dp + "\n\n")
print(helper(module: "af_dp", message: af_dp))
}
print(attributionData)
print("<-------------------------------------------------->")
print("")
// dump(attributionData)
}
func helper(module:String!, message:String!) -> String!{
var sb:String = ""
sb.append(" " + module + "=")
var pad:Int = 17 - module.characters.count
while pad > 0 {
pad-=1
sb.append( " " )
}
sb.append(" " + message)
return sb
}