---
title: "Capacitor SDK'da buton eylemlerine yanıt verme"
description: "Daha iyi uygulama monetizasyonu için Adapty ile Capacitor'da paywall buton eylemlerini yönetin."
---

Adapty paywall builder kullanarak paywall oluşturuyorsanız butonları doğru şekilde ayarlamanız kritik öneme sahiptir:

1. [Paywall builder'a bir buton ekleyin](paywall-buttons) ve ona önceden tanımlanmış bir eylem atayın ya da özel bir eylem ID'si oluşturun.
2. Atadığınız her eylemi uygulamanızda ele almak için kod yazın.

Bu kılavuz, kodunuzda özel ve önceden tanımlanmış eylemleri nasıl yöneteceğinizi göstermektedir.

## Paywall'ları kapatma \{#close-paywalls\}

Paywall'ınızı kapatacak bir buton eklemek için:

1. Paywall builder'da bir buton ekleyin ve **Close** eylemini atayın.
2. Uygulama kodunuzda, paywall'ı kapatan `close` eylemi için bir işleyici oluşturun.

:::info
Capacitor SDK'da `close` eylemi, paywall'ı varsayılan olarak kapatmayı tetikler. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz. Örneğin, bir paywall'ı kapatmak başka bir paywall'ı açmayı tetikleyebilir.
:::

```typescript showLineNumbers

const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onCloseButtonPress() {
    console.log('User closed paywall');
    return true; // Allow the paywall to close
  }
});
```

## Paywall'lardan URL açma \{#open-urls-from-paywalls\}

:::tip
Bir grup bağlantı eklemek istiyorsanız (ör. kullanım koşulları ve satın alma iadesi), paywall builder'da bir **Link** öğesi ekleyin ve bunu **Open URL** eylemine sahip butonlarla aynı şekilde yönetin.
:::

Paywall'ınızdan bir bağlantı açan bir buton eklemek için (ör. **Terms of use** veya **Privacy policy**):

1. Paywall builder'da bir buton ekleyin, **Open URL** eylemini atayın ve açmak istediğiniz URL'yi girin.
2. Uygulama kodunuzda, alınan URL'yi tarayıcıda açan `openUrl` eylemi için bir işleyici oluşturun.

:::info
Capacitor SDK'da `window.open` eylemi, URL'yi varsayılan olarak açmayı tetikler. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz.
:::

```typescript showLineNumbers

const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onUrlPress(url) {
    window.open(url, '_blank');
    return false; // Don't close the paywall
  },
});
```

## Uygulamaya giriş yapma \{#log-into-the-app\}

Kullanıcıların uygulamanıza giriş yapmasını sağlayan bir buton eklemek için:

1. Paywall builder'da bir buton ekleyin ve **Login** eylemini atayın.
2. Uygulama kodunuzda, kullanıcınızı tanımlayan `login` eylemi için bir işleyici oluşturun.

```typescript showLineNumbers

const view = await createPaywallView(paywall);

const unsubscribe = view.setEventHandlers({
  onCustomAction(actionId) {
    if (actionId === 'login') {
      // Navigate to login screen
      console.log('User requested login');
    }
  }
});
```

## Özel eylemleri yönetme \{#handle-custom-actions\}

Diğer eylemleri yöneten bir buton eklemek için:

1. Paywall builder'da bir buton ekleyin, **Custom** eylemini atayın ve bir ID belirleyin.
2. Uygulama kodunuzda, oluşturduğunuz eylem ID'si için bir işleyici oluşturun.

Örneğin, başka bir abonelik teklifi ya da tek seferlik satın alma seçeneğiniz varsa başka bir paywall görüntüleyen bir buton ekleyebilirsiniz:

```typescript showLineNumbers
const unsubscribe = view.setEventHandlers({
  onCustomAction(actionId) {
    if (actionId === 'openNewPaywall') {
      // Display another paywall
      console.log('User requested new paywall');
    }
  },
});
```