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)

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:

ParametreAçı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 her zaman API’yi sorgulamaya çalıştığından en güncel sonucu döndürür. Herhangi bir nedenle (örneğin internet bağlantısı yoksa) Adapty SDK sunucudan bilgi alamazsa önbellekteki veriler döndürülür. Adapty SDK’nın AdaptyProfile önbelleğini düzenli aralıklarla güncelleyerek bilgileri mümkün olduğunca güncel tuttuğunu da belirtmek gerekir.

.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.