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.
Bir flow’a kaç kullanıcının başladığını ve kaçının sonuna ulaştığını görmek için herhangi bir koda ihtiyacınız yok — flow metrikleri bunu zaten Adapty Kontrol Paneli’nde raporluyor. Akış metriklerinin hesaplamadığı ekran bazında huni oluşturmak veya flow ekranlarını Adapty’nin bilmediği etkinliklerle birleştirmek için bu kılavuzu 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.
Bu ID’ler varsayılan olarak otomatik oluşturulur; bu nedenle uygulamanız welcome yerine scr_oAPBHPa7 gibi değerler alır. Analizleriniz bunları okumaya dayanıyorsa kendi ID’lerinizi belirleyin: Flow Builder’da input’ları ve seçilebilir grupları adlandırın, ardından flow-generator skill’i ile ekranları yeniden adlandırın. Bkz. Analytics’inizin gördüğü ID’leri adlandırın.
Kotlin Multiplatform bu parametreleri ham bir JSON dizesi olarak iletir; bu nedenle herhangi birini okumadan önce paramsJsonString değerini çözümlemeniz gerekir.
Ekran görüntülemeleri, analizler callback’ine diğer tüm flow olaylarıyla aynı şekilde ulaşır. Bunu nereye kaydedeceğinizi öğrenmek için Flow ve paywall olaylarını yönetin 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.