Kotlin Multiplatform SDK'da flow ekran görüntülemelerini takip edin
Bir kullanıcı flow içindeki bir ekranı her açtığında, SDK uygulamanıza flow_screen_showed olayını bildirir. Bunu Amplitude, Mixpanel veya kullandığınız herhangi bir ürün analitiğine ileterek flow ekranlarını uygulamanızın diğer olaylarıyla birlikte analiz edebilirsiniz.
Kullanıcıların bir flow’da ne kadar ilerlediğini görmek için herhangi bir koda ihtiyacınız yok — flow metrikleri zaten Adapty Kontrol Paneli’nde görüntülemeleri, tamamlamaları ve ekran bazında çıkış oranlarını gösteriyor. Bu kılavuzu, aynı verilere kendi analitiğinizde ihtiyaç duyduğunuzda ve bunları Adapty’nin bilmediği etkinliklerle birleştirmek istediğinizde kullanın.
Başlamadan önce
İhtiyacınız olanlar:
- Adapty Kotlin Multiplatform SDK v4 veya üzeri: Flow analitik callback’i önceki sürümlerde mevcut değildir.
- Bu özellik yayınlandıktan sonra yayımlanan bir flow sürümü: Adapty, ekran olaylarını bir flow yayınlandığında oluşturur; bu nedenle daha önce yayımlanmış bir flow hiçbir şey raporlamaz. Uygulamanıza hiç olay ulaşmıyorsa flow’un yeni bir sürümünü yayımlayıp tekrar deneyin.
Ne alırsınız
Bir flow, kullanıcı ekranlarından birini her açtığında flow_screen_showed olayını raporlar. Adapty bu olayları kendi flow analitiğinde sayar ve uygulamanıza da iletir; böylece aynı dönüşüm hunisini kendi analitiğinizde oluşturabilirsiniz.
| Parametre | Açıklama |
|---|---|
instanceId | Kullanıcının açtığı ekranın ID’si. |
screen_order | Ekranın flow içindeki sırası. |
is_last_screen | Ekranın gidebileceği başka bir yer kalmadığında true olur. Dallanan bir flow birden fazla farklı ekranda sona erebilir ve her biri true raporlar. |
Bu olayda hem isBackendEvent hem de isCustomerEvent true değerini alır: Adapty saymaya devam eder ve uygulamanız da olayı alır.
Kotlin Multiplatform bu parametreleri ham bir JSON dizesi olarak iletir; bu nedenle herhangi birini okumadan önce paramsJsonString değerini çözümleyin.
Ekran görüntülemeleri, diğer tüm flow olaylarıyla aynı analytics callback’ine ulaşır. Nereye kaydedeceğinizi öğrenmek için Flow ve paywall olaylarını yönetme bölümüne bakın.
Her ekran görüntülemesini analitiğinize iletin
Geri aramayı okumadan önce event adıyla eşleştirme yapın; çünkü bir flow, diğer olayları da aynı geri arama üzerinden raporlar.
override fun flowViewDidReceiveAnalyticEvent(
view: AdaptyUIFlowView,
name: String,
paramsJsonString: String,
) {
if (name != "flow_screen_showed") return
val params = Json.parseToJsonElement(paramsJsonString).jsonObject
val screenId = params["instanceId"]?.jsonPrimitive?.contentOrNull
val screenOrder = params["screen_order"]?.jsonPrimitive?.intOrNull
// Send screenId and screenOrder to your analytics provider here.
}
Kullanıcı sona ulaştığında kod çalıştırma
is_last_screen, flow’un ilerleyemediği bir ekranda true olur. İçerik kilidini açmak, onboarding’i tamamlandı olarak işaretlemek veya kendi tamamlanma etkinliğinizi göndermek için bunu kullanabilirsiniz; builder’da bunun için bir düğme eylemi eklemenize gerek yoktur.
override fun flowViewDidReceiveAnalyticEvent(
view: AdaptyUIFlowView,
name: String,
paramsJsonString: String,
) {
if (name != "flow_screen_showed") return
val params = Json.parseToJsonElement(paramsJsonString).jsonObject
if (params["is_last_screen"]?.jsonPrimitive?.booleanOrNull != true) return
// The user reached the end of the flow.
}
Sonuncu ekrana ulaşmak, flow’u kapatmakla aynı şey değildir. Kullanıcı son ekranı görüp herhangi bir işlem yapmadan flow’u kapatabilir; ayrıca dallanan bir flow birden fazla farklı ekranda sona erebilir. Flow’un kendisinin kapandığını anlamak için bunun yerine flowViewDidDisappear kullanın.