---
title: "React Native SDK'da abonelik durumunu kontrol etme"
description: "Adapty ile React Native uygulamanızda abonelik durumunu nasıl kontrol edeceğinizi öğrenin."
---

Kullanıcıların ücretli içeriğe erişip erişemeyeceğine veya bir paywall görmesi gerekip gerekmediğine karar vermek için profildeki [access level](access-level) değerini kontrol etmeniz gerekir.

Bu makalede, kullanıcılara paywall mı göstereceğinize yoksa ücretli özelliklere erişim mi tanıyacağınıza karar vermek için profil durumuna nasıl erişeceğiniz anlatılmaktadır.

## Abonelik durumunu alma \{#get-subscription-status\}

Kullanıcıya paywall mı yoksa ücretli içerik mi göstereceğinize karar verirken profilindeki [access level](access-level) değerini kontrol edersiniz. İki seçeneğiniz var:

- Anlık olarak en güncel profil verisine ihtiyaç duyduğunuzda (örneğin uygulama açılışında) veya güncellemeyi zorlamak istediğinizde `getProfile` çağrısı yapın.
- Abonelik durumu değiştiğinde otomatik olarak yenilenen yerel bir kopya tutmak için **otomatik profil güncellemelerini** ayarlayın.

### Profili alma \{#get-profile\}

Abonelik durumunu almanın en kolay yolu, profile erişmek için `getProfile` metodunu kullanmaktır:

```typescript showLineNumbers
try {
    const profile = await adapty.getProfile();
} catch (error) {
  // handle the error
}
```

### Abonelik güncellemelerini dinleme \{#listen-to-subscription-updates\}

Uygulamanızda profil güncellemelerini otomatik olarak almak için:

1. Profil değişikliklerini dinlemek amacıyla `adapty.addEventListener('onLatestProfileLoad')` kullanın. Adapty, kullanıcının abonelik durumu her değiştiğinde bu metodu otomatik olarak çağırır.
2. Bu metot çağrıldığında güncellenen profil verilerini saklayın; böylece ek ağ istekleri yapmadan uygulama genelinde kullanabilirsiniz.

```javascript
class SubscriptionManager {
    private currentProfile: any = null;
    
    constructor() {
        // Listen for profile updates
        adapty.addEventListener('onLatestProfileLoad', (profile) => {
            this.currentProfile = profile;
            // Update UI, unlock content, etc.
        });
    }
    
    // Use stored profile instead of calling getProfile()
    hasAccess(): boolean {
        return this.currentProfile?.accessLevels?.['premium']?.isActive ?? false;
    }
}
```

:::note
Adapty, uygulamanız başladığında `onLatestProfileLoad` olay dinleyicisini otomatik olarak çağırır ve cihaz çevrimdışı olsa bile önbelleğe alınmış abonelik verilerini sağlar.
:::

## Profili paywall mantığıyla bağlama \{#connect-profile-with-paywall-logic\}

Paywall gösterme veya ücretli özelliklere erişim tanıma konusunda anlık kararlar vermeniz gerektiğinde kullanıcının profilini doğrudan kontrol edebilirsiniz. Bu yaklaşım; uygulama açılışı, premium bölümlere girilmesi veya belirli içerikler gösterilmeden önce gibi senaryolar için kullanışlıdır.

```javascript
const checkAccessLevel = async () => {
  try {
    const profile = await adapty.getProfile();
    return profile.accessLevels['YOUR_ACCESS_LEVEL']?.isActive === true;
  } catch (error) {
    console.warn('Error checking access level:', error);
    return false; // Show paywall if access check fails
  }
};

const initializePaywall = async () => {
  try {
    await loadPaywall();
    
    const hasAccess = await checkAccessLevel();
    if (!hasAccess) {
      // Show paywall if no access
    }
  } catch (error) {
    console.warn('Error initializing paywall:', error);
  }
};
``` 

## Sonraki adımlar \{#next-steps\}

Abonelik durumunu nasıl takip edeceğinizi öğrendiğinize göre, kullanıcıların satın aldıkları şeylere erişebildiğinden emin olmak için [kullanıcı profilleriyle çalışmayı](react-native-quickstart-identify) öğrenin.