iOS SDK'da abonelik durumunu kontrol etme
Adapty ile abonelik durumunu takip etmek çok kolaydır. Ürün kimliklerini kodunuza elle girmenize 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 App Store Server Notifications ayarlarını yapın.
Access level ve AdaptyProfile nesnesi
Access level’lar, AdaptyProfile nesnesinin özelliklerdir. Profili; uygulamanız başladığında, örneğin bir kullanıcıyı tanımladığınızda, alıp değişiklik olduğunda güncellemenizi öneririz. Bu sayede profil nesnesini defalarca 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 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:
Yanıt parametreleri:
| Parametre | Açıklama |
|---|---|
| Profile | Bir AdaptyProfile nesnesi. Genel olarak, 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 size kullanıcı profilini döndürür; bu profil üzerinden access level durumunu öğrenebilirsiniz. Bir uygulamada 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” adında access level’lar oluşturabilirsiniz. Ancak çoğu zaman yalnızca bir access level’a ihtiyaç duyarsınız; böyle durumlarda varsayılan “premium” access level’ı kullanabilirsiniz.
Varsayılan “premium” access level’ını kontrol etmek için bir örnek:
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 bazı ek yapılandırmalar yapmanız gerekir:
Adapty.delegate = self
// To receive subscription updates, extend `AdaptyDelegate` with this method:
nonisolated func didLoadLatestProfile(_ profile: AdaptyProfile) {
// handle any changes to subscription state
}
Adapty, uygulama başlangıcında da bir olay tetikler. Bu durumda önbelleğe alınmış abonelik durumu iletilir.
Abonelik durumu önbelleği
Adapty SDK’daki önbellek, profilin abonelik durumunu saklar. Bu sayede sunucuya erişilemese bile önbelleğe alınan veriler kullanılarak profil abonelik durumu hakkında bilgi edinilebilir.
Ancak önbellekten doğrudan veri isteği yapılamayacağını belirtmek gerekir. SDK, profilde herhangi bir güncelleme veya değişiklik olup olmadığını kontrol etmek için sunucuyu her dakika periyodik olarak sorgular. Yeni işlemler veya başka güncellemeler gibi değişiklikler varsa, bunlar sunucuyla senkronize kalması için önbelleğe alınan verilere yansıtılır.