---
title: "Flutter SDK'da web paywalllarını uygulama"
description: "App Store ücretleri ve denetimleri olmadan ödeme almak için bir web paywall kurun."
---

:::important
Başlamadan önce [kontrol panelinde web paywallınızı yapılandırdığınızdan](web-paywall) ve Adapty SDK 3.6.1 veya daha yeni bir sürümünü yüklediğinizden emin olun.
:::

Kendi geliştirdiğiniz bir paywall ile çalışıyorsanız, SDK metodunu kullanarak web paywalllarını yönetmeniz gerekir. `.openWebPaywall` metodu:
1. Adapty'nin belirli bir kullanıcıya gösterilen paywall'ı, kullanıcının yönlendirildiği web sayfasıyla ilişkilendirebilmesi için benzersiz bir URL oluşturur.
2. Kullanıcılarınızın uygulamaya ne zaman döndüğünü takip eder, ardından profil erişim haklarının güncellenip güncellenmediğini belirlemek için kısa aralıklarla `.getProfile` metodunu çağırır.

Bu sayede ödeme başarılı olup erişim hakları güncellendiğinde, abonelik uygulamada neredeyse anında etkinleşir.

```dart showLineNumbers title="Flutter"
try {
  await Adapty().openWebPaywall(product: <YOUR_PRODUCT>);
  // The web paywall will be opened
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}
```

:::note
`openWebPaywall` metodunun iki versiyonu vardır:
1. `openWebPaywall(product)` — URL'leri paywall'a göre oluşturur ve ürün verilerini de URL'lere ekler.
2. `openWebPaywall(paywall)` — URL'leri paywall'a göre oluşturur ancak ürün verilerini URL'lere eklemez. Adapty paywall'ındaki ürünler web paywall'ındaki ürünlerden farklıysa bunu kullanın.
SDK v4'te `paywall` parametresi, getirilen flow'un bir paywall varyasyonu olan `AdaptyFlowPaywall` alır. İndeks kullanmadan önce `flow.paywalls`'ın boş olmadığını kontrol edin; örneğin `flow.paywalls[0]`.
:::

#### Hataları yönetme \{#handle-errors\}
| Hata                                    | Açıklama                                                     | Önerilen işlem                                                                    |
|-----------------------------------------|--------------------------------------------------------------|-----------------------------------------------------------------------------------|
| AdaptyError.paywallWithoutPurchaseUrl   | Paywall için bir web satın alma URL'si yapılandırılmamış     | Paywallın Adapty Kontrol Paneli'nde doğru yapılandırıldığını kontrol edin         |
| AdaptyError.productWithoutPurchaseUrl   | Ürün için bir web satın alma URL'si yok                      | Adapty Kontrol Paneli'nde ürün yapılandırmasını doğrulayın                        |
| AdaptyError.failedOpeningWebPaywallUrl  | URL tarayıcıda açılamadı                                     | Cihaz ayarlarını kontrol edin veya alternatif bir satın alma yöntemi sunun        |
| AdaptyError.failedDecodingWebPaywallUrl | URL'deki parametreler düzgün şekilde kodlanamadı             | URL parametrelerinin geçerli ve doğru biçimde olduğunu doğrulayın                |

## Web paywall'larını uygulama içi tarayıcıda açma \{#open-web-paywalls-in-an-in-app-browser\}

:::important
Web paywall'larını uygulama içi tarayıcıda açma özelliği Adapty SDK v3.15 sürümünden itibaren desteklenmektedir.
:::

Varsayılan olarak, web paywall'ları harici tarayıcıda açılır.

Kesintisiz bir kullanıcı deneyimi sağlamak için web paywall'larını uygulama içi tarayıcıda açabilirsiniz. Bu sayede web satın alma sayfası uygulamanızın içinde görüntülenir ve kullanıcılar uygulama değiştirmeden işlemlerini tamamlayabilir.

Bunu etkinleştirmek için `in` parametresini `.inAppBrowser` olarak ayarlayın:
```dart showLineNumbers
try {
  await Adapty().openWebPaywall(
    product: <YOUR_PRODUCT>,
    openIn: AdaptyWebPresentation.inAppBrowser,
  );
  // The web paywall will be opened in the in-app browser
} on AdaptyError catch (adaptyError) {
  // handle the error
} catch (e) {
  // handle other errors
}

```