Adapty User Acquisition'da ertelenmiş derin bağlantılar
Ertelenmiş deeplink’ler, kullanıcılar reklamlarınıza tıkladıktan sonra uygulamanızı yüklediğinde özel verileri uygulamanıza aktarmanızı sağlar. Örneğin, kullanıcıları uygulamayı yükleyip ilk kez başlattıklarında doğrudan belirli bir ekrana yönlendirebilirsiniz.
Adapty yükleme olayını kaydettiğinde, tıklamadan gelen ertelenmiş verileri alır.
Kullanıcı uygulamanızı yükleyip ilk kez başlattığında Adapty saklanan verileri getirir ve uygulamanız özel parametreleri alarak uygulama kodunda farklı değerlere tepki verebilir.
Adapty aşağıdaki ertelenmiş veri parametrelerini destekler:
ios_deferred_data
android_deferred_data
deferred_data_sub[1-10]
Ertelenmiş veri parametreleri eklemek için bunları kampanya ayarlarınızdaki tıklama bağlantısına ekleyin:
Kampanyanızın tıklama bağlantısını kopyalayın.
Parametreleri bağlantıya ekleyin. Örneğin, iOS kullanıcılarınızın ‘Welcome’ ekranına yönlendirilmesini istiyorsanız bağlantınız şöyle görünebilir:
Uygulama kodunuzda parametrelere yanıt verin. Ertelenmiş veri parametrelerinin payload parametresinin içinde olduğunu ve payload parametresinin kaçışlı bir JSON olduğunu unutmayın; bu nedenle uygulama kodunuzda bunu ayrıştırmanız gerekir.
Örneğin, ios_deferred_data değerinin welcome olduğu kurulumları şu şekilde yönetebilirsiniz:
Adapty.delegate = selfnonisolated 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().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'); }});