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

Adapty paywall builder kullanarak paywall oluşturuyorsanız, butonları doğru şekilde yapılandırmak çok önemlidir:

1. [Paywall builder'da bir buton ekleyin](paywall-buttons) ve ona mevcut bir eylem atayın ya da özel bir eylem ID'si oluşturun.
2. Atadığınız her eylemi yönetmek için uygulama kodunuzu yazın.

Bu kılavuz, kodunuzda özel ve mevcut eylemleri nasıl yöneteceğinizi gösterir.

:::warning
**Yalnızca satın almalar ve restorasyon işlemleri otomatik olarak yönetilir.** Paywall kapatma veya link açma gibi diğer tüm buton eylemleri, uygulama kodunda uygun yanıtların uygulanmasını gerektirir.
:::

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

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

1. Paywall builder'da bir buton ekleyin ve ona **Close** eylemini atayın.
2. Uygulama kodunuzda `CloseAction` ve `AndroidSystemBackAction` eylemleri için bir handler uygulayın.

:::info
Flutter SDK'da `CloseAction` ve `AndroidSystemBackAction` eylemleri varsayılan olarak paywall'ı kapatır. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz. Örneğin, bir paywall'ı kapatmak başka bir paywall'ın açılmasını tetikleyebilir.
:::

```dart
void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
    switch (action) {
      case const CloseAction():
      case const AndroidSystemBackAction():
        view.dismiss();
        break;
      default:
        break;
    }
}
```

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

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

Paywall'ınızdan link açan bir buton eklemek için (ör. **Kullanım Koşulları** veya **Gizlilik Politikası**):

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 bir tarayıcıda açan `openUrl` eylemi için bir handler uygulayın.

```dart
// You have to install url_launcher plugin in order to handle urls:
// https://pub.dev/packages/url_launcher

void paywallViewDidPerformAction(AdaptyUIView view, AdaptyUIAction action) {
    switch (action) {
      case OpenUrlAction(url: final url):
        final Uri uri = Uri.parse(url);
        launchUrl(uri, mode: LaunchMode.inAppBrowserView);
        break;
      default:
        break;
    }
}
```

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

Kullanıcıları uygulamanıza giriş yaptıracak bir buton eklemek için:

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

```dart
void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
    switch (action) {
      case CustomAction(action: 'login'):
        // Handle login action
        Navigator.of(context).push(MaterialPageRoute(builder: (context) => LoginScreen()));
        break;
      default:
        break;
    }
}
```

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

Diğer eylemleri yönetecek 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 handler uygulayın.

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

```dart
void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
   switch (action) {
     case CustomAction(action: 'openNewPaywall'):
       // Display another paywall
       break;
     default:
       break;
   }
}
```