React Native SDK'da abonelik durumunu kontrol etme
Adapty ile abonelik durumunu takip etmek son derece kolaydır. Ürün kimliklerini kodunuza manuel olarak eklemenize gerek yok. Bunun yerine, etkin bir access level olup olmadığını kontrol ederek kullanıcının abonelik durumunu zahmetsizce doğrulayabilirsiniz.
Abonelik durumunu kontrol etmeye başlamadan önce (Genişletmek için tıklayın)
- iOS için App Store Server Notifications ayarlarını yapın
- Android için Real-time Developer Notifications (RTDN) ayarlarını yapı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 ardından değişiklik olduğunda güncellemenizi öneririz. Bu sayede profil nesnesini defalarca istemek zorunda kalmadan kullanabilirsiniz.
Profil güncellemelerinden haberdar olmak için aşağıdaki Abonelik durumu güncellemelerini dinleme bölümünde açıklandığı ş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.
Access level’ı sunucudan alma
Access level’ı sunucudan almak için .getProfile() metodunu kullanın:
try {
const profile = await adapty.getProfile();
} catch (error) {
// handle the error
}
Yanıt parametreleri:
| Parametre | Açıklama |
|---|---|
| Profile | 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 bağımsız abonelikler satıyorsanız “sports” ve “science” 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’ını kullanabilirsiniz.
Varsayılan “premium” access level’ını kontrol etmek için bir örnek:
try {
const profile = await adapty.getProfile();
const isActive = profile.accessLevels?.["premium"]?.isActive;
if (isActive) {
// grant access to premium features
}
} catch (error) {
// handle the error
}
Abonelik durumu güncellemelerini dinleme
Kullanıcının aboneliği her değiştiğinde Adapty bir olay tetikler.
Adapty’den mesaj almak için bazı ek yapılandırmalar yapmanız gerekir:
// Create an "onLatestProfileLoad" event listener
adapty.addEventListener('onLatestProfileLoad', profile => {
// handle any changes to subscription state
});
Adapty, uygulama başlangıcında da bir olay tetikler. Bu durumda önbellekteki abonelik durumu iletilir.
Abonelik durumu önbelleği
Adapty SDK’da uygulanan önbellek, profilin abonelik durumunu depolar. Bu sayede sunucu erişilemez olsa bile önbellekteki veriler kullanılarak profilin abonelik durumu hakkında bilgi edinilebilir.
Ancak önbellekten doğrudan veri talep etmenin mümkün olmadığını belirtmek gerekir. SDK, profille ilgili güncelleme veya değişiklik olup olmadığını kontrol etmek için her dakika periyodik olarak sunucuyu sorgular. Yeni işlemler veya başka güncellemeler gibi herhangi bir değişiklik varsa, önbellekteki verilerle sunucu arasında senkronizasyon sağlamak amacıyla bu değişiklikler önbelleğe iletilir.