Unity SDK'da abonelik durumunu kontrol etme
Adapty ile abonelik durumunu takip etmek çok kolay. Ürün ID’lerini kodunuza manuel olarak eklemenize gerek yok. 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 Server Notifications kurulumunu yapın
- Android için Real-time Developer Notifications (RTDN) kurulumunu 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) alıp ardından değişiklik olduğunda güncellemenizi öneririz. Bu sayede profil nesnesini tekrar tekrar 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.
Access level’ı sunucudan alma
Access level’ı sunucudan almak için .GetProfile() metodunu kullanın:
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// check the access
});
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” adında access level’lar oluşturabilirsiniz. Ancak çoğu zaman yalnızca bir access level’a ihtiyaç duyulur; bu durumda varsayılan “premium” access level’ı kullanabilirsiniz.
Varsayılan “premium” access level’ını kontrol etmek için bir örnek:
Adapty.GetProfile((profile, error) => {
if (error != null) {
// handle the error
return;
}
// "premium" is an identifier of default access level
var accessLevel = profile.AccessLevels["premium"];
if (accessLevel != null && accessLevel.IsActive) {
// grant access to premium features
}
});
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:
// Extend `AdaptyEventListener ` with `OnLoadLatestProfile ` method:
public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
public void OnLoadLatestProfile(AdaptyProfile 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’daki önbellek, profilin abonelik durumunu saklar. Bu sayede sunucu kullanılamaz olsa bile profil abonelik durumu hakkında bilgi sağlamak için önbellekteki verilere erişilebilir.
Ancak önbellekten doğrudan veri isteği yapılamadığını belirtmek gerekir. SDK, profille ilgili güncelleme veya değişiklikleri kontrol etmek için sunucuyu her dakika periyodik olarak sorgular. Yeni işlemler ya da diğer güncellemeler gibi değişiklikler varsa, sunucuyla senkronizasyonu korumak amacıyla önbellekteki verilere yansıtılır.