Flutter SDK'da abonelik durumunu kontrol etme
Adapty ile abonelik durumunu takip etmek oldukça kolaydır. Kodunuza manuel olarak ürün ID’leri eklemenize gerek yoktur. Bunun yerine, aktif 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 Sunucu Bildirimlerini yapılandırın
- Android için Gerçek Zamanlı Geliştirici Bildirimlerini (RTDN) yapılandırın
Access level ve AdaptyProfile nesnesi
Access level’lar, AdaptyProfile nesnesinin özellikleridir. Uygulamanız başladığında, örneğin kullanıcıyı tanımlarken profili almanızı ve ardından değişiklik olduğunda güncellemenizi öneririz. Bu sayede profil nesnesini her seferinde yeniden istek atmadan kullanabilirsiniz.
Profil güncellemelerinden haberdar olmak için, aşağıdaki Abonelik durumu güncellemelerini dinleme bölümünde açıklandığı gibi profil değişikliklerini dinleyebilirsiniz.
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:
try {
final profile = await Adapty().getProfile();
// check the access
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}
Yanıt parametreleri:
| Parametre | Açıklama |
|---|---|
| Profile | Bir AdaptyProfile nesnesi. Genellikle, kullanıcının uygulamada premium erişime sahip olup olmadığını belirlemek için yalnızca profilin access level durumunu kontrol etmeniz yeterlidir.
|
.getProfile() metodu, access level durumunu öğrenebileceğiniz kullanıcı profilini döndürür. Uygulama başına birden fazla access level tanımlayabilirsiniz. Örneğin bir gazete uygulamanız varsa ve farklı konulara abonelikleri bağımsız olarak satıyorsanız, “sports” ve “science” gibi access level’lar oluşturabilirsiniz. Ancak çoğu durumda tek bir access level yeterlidir; bu durumda varsayılan “premium” access level’ını kullanabilirsiniz.
Varsayılan “premium” access level’ını kontrol etmek için bir örnek:
try {
final profile = await Adapty().getProfile();
if (profile?.accessLevels['premium']?.isActive ?? false) {
// grant access to premium features
}
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}
Abonelik durumu güncellemelerini dinleme
Kullanıcının aboneliği her değiştiğinde Adapty bir olay tetikler.
Adapty’den mesaj alabilmek için birkaç ek yapılandırma yapmanız gerekmektedir:
Adapty().didUpdateProfileStream.listen((profile) {
// handle any changes to subscription state
});
Adapty ayrıca uygulama başlangıcında da bir olay tetikler. Bu durumda önbellekteki abonelik durumu iletilir.
Abonelik durumu önbelleği
Adapty SDK’daki önbellek, profilin abonelik durumunu saklar. Bu sayede sunucu erişilemez olsa bile profilin abonelik durumuyla ilgili bilgilere önbellekten ulaşılabilir.
Ancak önbellekten doğrudan veri isteği yapılamadığını belirtmek gerekir. SDK, profille ilgili güncellemeleri veya değişiklikleri kontrol etmek için sunucuyu her dakika periyodik olarak sorgular. Yeni işlemler veya başka güncellemeler gibi değişiklikler söz konusu olduğunda, önbellekteki verilerin sunucuyla senkronize kalması için bu değişiklikler önbelleğe gönderilir.