---
title: "Capacitor SDK ile Flow Builder kullanarak satın almaları etkinleştirme"
description: "Adapty Flow Builder ile uygulama içi satın almaları etkinleştirmek için hızlı başlangıç kılavuzu."
---

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)
- [**Flow'lar**](adapty-flow-builder) – no-code Flow Builder ile oluşturulan, kullanıcılara ürünleri sunan ekran dizileri. SDK bunları `getFlow` aracılığıyla getirir. Kullanıcı arayüzünü kendi kodunuzla oluşturmayı tercih ediyorsanız bunun yerine bir paywall kullanın — bkz. [Paywalleri manuel olarak uygulama](capacitor-quickstart-manual).
- [**Placement'lar**](placements) – uygulamanızda flow'ları nerede ve ne zaman göstereceğiniz (örneğin `main`, `onboarding`, `settings`). Kontrol panelinde flow'ları placement'lara bağlar, ardından kodunuzda placement ID'si ile bunları talep edersiniz. Bu sayede A/B testleri çalıştırmak ve farklı kullanıcılara farklı flow'lar göstermek kolaylaşır.
Adapty, uygulamanızda satın almaları etkinleştirmek için üç farklı yöntem sunar. Uygulama gereksinimlerinize göre birini seçin:

| Uygulama | Karmaşıklık | Ne Zaman Kullanılır |
|---|---|---|
| Adapty Flow Builder | ✅ Kolay | No-code builder'da [eksiksiz, satın almaya hazır bir flow oluşturursunuz](quickstart-paywalls). Adapty bunu otomatik olarak render eder ve tüm karmaşık satın alma akışını, makbuz doğrulamayı ve abonelik yönetimini arka planda halleder. |
| Manuel oluşturulan paywall'lar | 🟡 Orta | Paywall arayüzünüzü uygulama kodunuzda kendiniz uygularsınız, ancak ürün tekliflerinde esnekliği korumak için flow nesnesini Adapty'den alırsınız. [Kılavuza](capacitor-quickstart-manual) bakın. |
| Observer modu | 🔴 Zor | Kendi satın alma altyapınız zaten mevcuttur ve bunu kullanmaya devam etmek istersiniz. Observer modunun Adapty'de bazı sınırlamaları olduğunu unutmayın. [Makaleye](observer-vs-full-mode) bakın. |
:::important
**Aşağıdaki adımlar, Adapty Flow Builder'da oluşturulan bir flow'un nasıl uygulanacağını göstermektedir.**

Paywall arayüzünü kendiniz oluşturmayı tercih ederseniz, bkz. [Paywall'ları manuel olarak uygulama](capacitor-quickstart-manual).
:::

Adapty Flow Builder'da oluşturulan bir flow'u görüntülemek için uygulama kodunuzda yalnızca şunları yapmanız gerekir:

1. **Flow'u alın**: Adapty'den alın.
2. **Gösterin ve satın alma işlemlerini Adapty yönetsin**: Görünümü uygulamanızda gösterin.
3. **Buton eylemlerini yönetin**: Kullanıcı etkileşimlerini uygulamanızın tepkileriyle ilişkilendirin. Örneğin, kullanıcılar butona tıkladığında bağlantıları açın veya flow'u kapatın.
## Başlamadan Önce \{#before-you-start\}

Başlamadan önce şu adımları tamamlayın:

1. Uygulamanızı Adapty Kontrol Paneli'nde [App Store](initial_ios) ve/veya [Google Play](initial-android) ile bağlayın.
2. Adapty'de [ürünlerinizi oluşturun](create-product).
3. [Bir flow oluşturun ve ürünleri ekleyin](create-paywall).
4. [Bir placement oluşturun ve flow'unuzu ekleyin](create-placement).
5. Uygulama kodunuzda [Adapty SDK'yı kurun ve etkinleştirin](sdk-installation-capacitor). Bu kılavuz Adapty Capacitor SDK v4 API'larını kullanmaktadır.
## 1. Flow'u alın \{#1-get-the-flow\}

Flow'larınız, kontrol panelinde yapılandırılmış placement'larla ilişkilendirilir. Placement'lar, farklı kitleler için farklı flow'lar çalıştırmanıza veya [A/B testleri](ab-tests) yapmanıza olanak tanır.

Adapty Flow Builder'da oluşturulmuş bir flow'u almak için `getFlow` metodunu kullanarak [placement](placements) ID'sine göre `flow` nesnesini alın. Flow, görüntülenmek için gereken UI öğelerini ve stil bilgilerini içerir.
```typescript showLineNumbers title="Capacitor"

try {
  const flow = await adapty.getFlow({
    placementId: 'YOUR_PLACEMENT_ID',
  });
  // the requested flow
} catch (error) {
  // handle the error
}
```

## 2. Flow'u görüntüleyin \{#display-the-flow\}

Flow'a sahip olduğunuzda, onu görüntülemek için yalnızca birkaç satır eklemeniz yeterli.

`createFlowView` metoduyla bir `view` oluşturun, olay işleyicilerini ayarlayın, ardından `view.present()` çağrısını yapın. Her `view` yalnızca bir kez kullanılabilir. Flow'u tekrar görüntülemeniz gerekiyorsa yeni bir `view` örneği oluşturmak için `createFlowView`'ı bir kez daha çağırın.
```typescript showLineNumbers title="Capacitor"

try {
  const view = await createFlowView(flow);

  await view.setEventHandlers({
    onPurchaseCompleted(purchaseResult, product) {
      return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
    },
  });

  await view.present();
} catch (error) {
  // handle the error
}
```

:::tip
Bir flow'un nasıl görüntüleneceğine dair daha fazla ayrıntı için [kılavuzumuza](capacitor-present-paywalls) bakın.
:::
## 3. Buton eylemlerini yönetin \{#handle-button-actions\}

Kullanıcılar flow'daki butonlara tıkladığında, Capacitor SDK satın alma, geri yükleme, flow'u kapatma ve URL açma işlemlerini otomatik olarak gerçekleştirir.

Ancak diğer butonların özel veya önceden tanımlanmış ID'leri vardır ve bu eylemlerin kodunuzda yönetilmesi gerekir. Ya da varsayılan davranışlarını geçersiz kılmak isteyebilirsiniz.

Örneğin, kapatma butonu için varsayılan davranış aşağıdaki gibidir. Bunu koda eklemeniz gerekmez, ancak gerektiğinde nasıl yapıldığını buradan görebilirsiniz.
```typescript showLineNumbers title="Capacitor"
const unsubscribe = await view.setEventHandlers({
  onCloseButtonPress() {
    return true; // allow the flow to close
  },
});
```

:::tip
Düğme [eylemlerini](capacitor-handle-paywall-actions) ve [olayları](capacitor-handling-events) nasıl yöneteceğiniz hakkındaki kılavuzlarımızı okuyun.
:::
## Sonraki adımlar

:::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!
:::

Flow'unuz uygulamada görüntülenmeye hazır. Flow üzerinden test satın alma işlemini tamamlayabildiğinizden emin olmak için [satın almalarınızı test edin](capacitor-test).

Şimdi, flow'u veya ücretli özelliklere erişimi doğru kullanıcılara sunduğunuzdan emin olmak için [kullanıcıların access level durumunu kontrol etmeniz](capacitor-check-subscription-status) gerekiyor.
## Tam örnek \{#full-example\}

Bu kılavuzdaki tüm adımlar uygulamanıza şu şekilde entegre edilebilir.
```typescript showLineNumbers title="Capacitor"

export async function showFlow() {
  try {
    const flow = await adapty.getFlow({
      placementId: 'YOUR_PLACEMENT_ID',
    });

    const view = await createFlowView(flow);

    await view.setEventHandlers({
      onCloseButtonPress() {
        return true;
      },
      onPurchaseCompleted(purchaseResult, product) {
        return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
      },
    });

    await view.present();
  } catch (error) {
    // handle any error that may occur during the process
    console.warn('Error showing flow:', error);
  }
}
```