Kotlin Multiplatform SDK'da abonelik durumunu kontrol etme
Adapty ile abonelik durumunu takip etmek oldukça kolaydır. Ürün ID’lerini kodunuza elle eklemenize gerek yok; bunun yerine aktif bir access level kontrol ederek kullanıcının abonelik durumunu zahmetsizce doğrulayabilirsiniz.
Abonelik durumunu kontrol etmeye başlamadan önce Gerçek Zamanlı Geliştirici Bildirimlerini (RTDN) ayarlayın.
Access level ve AdaptyProfile nesnesi
Access level’lar, AdaptyProfile nesnesinin özellikleridir. Profili uygulamanız başladığında, örneğin bir kullanıcıyı tanımladığınızda, almanızı ve değişiklik olduğunda güncellemenizi öneririz. Böylece profil nesnesini defalarca istek göndermeden kullanabilirsiniz.
Profil güncellemelerinden haberdar olmak için aşağıdaki Abonelik durumu güncellemelerini dinleme bölümünde anlatıldığı şekilde profil değişikliklerini dinleyin.
Adapty SDK’nın bir mobil uygulamaya nasıl entegre edildiğini gerçek bir örnekle görmek ister misiniz? Tam kurulumu, paywall’ların gösterimini, satın alma işlemlerini ve diğer temel işlevleri içeren örnek uygulamalarımıza göz atın.
Sunucudan access level alma
Sunucudan access level almak için .getProfile() metodunu kullanın:
import com.adapty.kmp.Adapty
Adapty.getProfile().onSuccess { profile ->
// check the access
}.onError { error ->
// handle the error
}
Yanıt parametreleri:
| Parametre | Açıklama |
|---|---|
| Profil | Bir AdaptyProfile nesnesi. Genellikle kullanıcının uygulamaya premium erişimi olup olmadığını belirlemek için yalnızca profilin access level durumunu kontrol etmeniz yeterlidir.
|
.getProfile() metodu, access level durumunu alabileceğiniz kullanıcı profilini sağlar. Uygulama başına birden fazla access level tanımlayabilirsiniz. Örneğin bir gazete uygulamanız varsa ve farklı konulara abonelik satıyorsanız “sports” ve “science” gibi access level’lar oluşturabilirsiniz. Ancak çoğu durumda yalnızca bir access level’a ihtiyaç duyarsınız; bu durumda varsayılan “premium” access level’ı kullanabilirsiniz.
Varsayılan “premium” access level’ını kontrol etmeye yönelik bir örnek:
import com.adapty.kmp.Adapty
Adapty.getProfile().onSuccess { profile ->
if (profile.accessLevels["premium"]?.isActive == true) {
// grant access to premium features
}
}.onError { error ->
// handle the error
}
Abonelik durumu güncellemelerini dinleme
Kullanıcının aboneliği her değiştiğinde Adapty bir event tetikler.
Adapty’den mesaj almak için birkaç ek yapılandırma yapmanız gerekir:
import com.adapty.kmp.Adapty
import com.adapty.kmp.OnProfileUpdatedListener
Adapty.setOnProfileUpdatedListener { profile ->
// handle any changes to subscription state
}
Adapty, uygulama başlangıcında da bir event tetikler. Bu durumda önbellekteki abonelik durumu iletilir.
Abonelik durumu önbelleği
Adapty SDK’daki önbellek, profilin abonelik durumunu saklar. Bu sayede sunucu kullanılamaz olsa bile önbellekteki veriler, profilin abonelik durumu hakkında bilgi vermek için kullanılabilir.
Ancak önbellekten doğrudan veri isteği yapılamadığını belirtmek gerekir. SDK, profilin herhangi bir güncellemesini veya değişikliğini kontrol etmek için her dakika periyodik olarak sunucuyu sorgular. Yeni işlemler veya başka güncellemeler gibi değişiklikler varsa, sunucuyla senkronize tutmak amacıyla önbellekteki verilere aktarılır.