---
title: "React Native SDK'da özel paywallınızda satın almaları etkinleştirin"
description: "Uygulama içi satın almaları etkinleştirmek için Adapty SDK'yı özel React Native paywalllarınıza entegre edin."
---

Bu kılavuz, Adapty'yi özel paywalllarınıza nasıl entegre edeceğinizi açıklar. Paywall uygulaması üzerinde tam kontrolü elinizde tutarken Adapty SDK ürünleri getirir, yeni satın almaları işler ve önceki satın almaları geri yükler.

:::important
**Bu kılavuz, özel paywall uygulayan geliştiriciler içindir.** Satın almaları etkinleştirmenin en kolay yolunu istiyorsanız [Adapty Paywall Builder](react-native-quickstart-paywalls)'ı kullanın. Paywall Builder ile paywallları kodsuz bir görsel düzenleyicide oluşturursunuz, Adapty tüm satın alma mantığını otomatik olarak yönetir ve uygulamanızı yeniden yayımlamadan farklı tasarımları test edebilirsiniz.
:::

## Başlamadan önce \{#before-you-start\}

### Ürünleri ayarlayın \{#set-up-products\}

Uygulama içi satın almaları etkinleştirmek için üç temel kavramı anlamanız gerekir:

- [**Ürünler**](product) – kullanıcıların satın alabileceği her şey (abonelikler, consumable'lar, süresiz erişim)
- [**Paywalllar**](paywalls) – hangi ürünlerin sunulacağını tanımlayan yapılandırmalar. Adapty'de paywalllar, ürünleri almanın tek yoludur; ancak bu tasarım sayesinde uygulama kodunuza dokunmadan ürünleri, fiyatları ve teklifleri değiştirebilirsiniz.
- [**Placement'lar**](placements) – uygulamanızda paywallları nerede ve ne zaman göstereceğiniz (`main`, `onboarding`, `settings` gibi). Kontrol panelinde placement'lar için paywalllar ayarlarsınız, ardından kodunuzda placement ID'si ile bunları talep edersiniz. Bu, A/B testleri yapmanızı ve farklı kullanıcılara farklı paywalllar göstermenizi kolaylaştırır.

Özel paywall üzerinde çalışıyor olsanız bile bu kavramları anladığınızdan emin olun. Temel olarak bunlar, uygulamanızda sattığınız ürünleri yönetme yönteminizdir.

Özel paywallinizi uygulamak için bir **paywall** oluşturmanız ve bunu bir **placement**'a eklemeniz gerekir. Bu yapılandırma, ürünlerinizi almanıza olanak tanır. Kontrol panelinde ne yapmanız gerektiğini anlamak için [buradaki](quickstart) hızlı başlangıç kılavuzunu takip edin.

### Kullanıcıları yönetin \{#manage-users\}

Kendi tarafınızda backend kimlik doğrulaması ile veya olmadan çalışabilirsiniz.

Ancak Adapty SDK, anonim ve kimliği doğrulanmış kullanıcıları farklı şekilde ele alır. Ayrıntıları anlamak ve kullanıcılarla doğru şekilde çalıştığınızdan emin olmak için [kimlik doğrulama hızlı başlangıç kılavuzunu](react-native-quickstart-identify) okuyun.

## Adım 1. Ürünleri alın \{#step-1-get-products\}

Özel paywallınız için ürünleri almak üzere şunları yapmanız gerekir:

1. `getPaywall` metoduna [placement](placements) ID'sini geçirerek `paywall` nesnesini alın.
2. `getPaywallProducts` metodunu kullanarak bu paywall için ürünler dizisini alın.

```typescript showLineNumbers

async function loadPaywall() {
  try {
    const paywall: AdaptyPaywall = await adapty.getPaywall('YOUR_PLACEMENT_ID');
    const products: AdaptyPaywallProduct[] = await adapty.getPaywallProducts(paywall);
    
    // Use products to build your custom paywall UI
  } catch (error) {
    // Handle the error
  }
}
```

## Adım 2. Satın almaları kabul edin \{#step-2-accept-purchases\}

Kullanıcı özel paywallınızdaki bir ürüne dokunduğunda, seçilen ürünle birlikte `makePurchase` metodunu çağırın. Bu işlem satın alma akışını yönetir ve güncellenmiş profili döndürür.

```typescript showLineNumbers

async function purchaseProduct(product: AdaptyPaywallProduct) {
  try {
    const purchaseResult: AdaptyPurchaseResult = await adapty.makePurchase(product);
    
    switch (purchaseResult.type) {
      case 'success':
        // Purchase successful, profile updated
        break;
      case 'user_cancelled':
        // User canceled the purchase
        break;
      case 'pending':
        // Purchase is pending (e.g., user will pay offline with cash)
        break;
    }
  } catch (error) {
    // Handle the error
  }
}
```

## Adım 3. Satın almaları geri yükleyin \{#step-3-restore-purchases\}

Uygulama mağazaları, abonelik sunan tüm uygulamaların kullanıcılara satın almalarını geri yükleyebilecekleri bir yol sağlamasını zorunlu kılar.

Kullanıcı geri yükle düğmesine dokunduğunda `restorePurchases` metodunu çağırın. Bu işlem, satın alma geçmişlerini Adapty ile senkronize eder ve güncellenmiş profili döndürür.

```typescript showLineNumbers

async function restorePurchases() {
  try {
    const profile: AdaptyProfile = await adapty.restorePurchases();
    // Restore successful, profile updated
  } catch (error) {
    // Handle the error
  }
}
```

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

---
no_index: true
---
import Callout from '../../../components/Callout.astro';

<Callout type="tip">
Sorularınız mı var ya da sorunlarla mı karşılaşıyorsunuz? Sık sorulan soruların yanıtlarını bulabileceğiniz veya kendi sorularınızı sorabileceğiniz [destek forumumuza](https://adapty.featurebase.app/) göz atın. Ekibimiz ve topluluğumuz yardımcı olmak için burada!
</Callout>

Paywallınız uygulamada gösterilmeye hazır. [App Store sandbox](test-purchases-in-sandbox) ortamında veya [Google Play Store](testing-on-android)'da satın almalarınızı test ederek paywall üzerinden bir test satın almasını tamamlayabildiğinizden emin olun. Bunun üretime hazır bir uygulamada nasıl çalıştığını görmek için örnek uygulamamızdaki [CustomPurchaseScreen.tsx](https://github.com/adaptyteam/AdaptySDK-React-Native/blob/master/examples/ExpoGoWebMock/src/CustomPurchaseScreen.tsx) dosyasına göz atın; bu dosya, uygun hata işleme, yükleme durumları ve UI durum yönetimiyle satın alma işlemini göstermektedir.

Ardından, paywallı gösterip göstermeyeceğinizi veya ücretli özelliklere erişim izni verip vermeyeceğinizi belirlemek için [kullanıcıların satın almalarını tamamlayıp tamamlamadığını kontrol edin](react-native-check-subscription-status).