---
title: "Web paywall'ları uygulama"
description: "Adapty SDK ile Capacitor uygulamanızda web paywall'larını nasıl uygulayacağınızı öğrenin."
---

:::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ü yüklediğinizden emin olun.
:::

## Web paywall'ları açma \{#open-web-paywalls\}

Kendiniz geliştirdiğiniz bir paywall üzerinde çalışıyorsanız, web paywall'larını SDK metoduyla yönetmeniz gerekir. `.openWebPaywall` metodu:
1. Belirli bir kullanıcıya gösterilen paywall'ı yönlendirildikleri web sayfasıyla ilişkilendirmek için Adapty'nin kullanacağı benzersiz bir URL oluşturur.
2. Kullanıcılarınızın uygulamaya ne zaman geri döndüğünü takip eder ve ardından profil erişim haklarının güncellenip güncellenmediğini belirlemek için kısa aralıklarla `.getProfile` çağrısı yapar.

Bu sayede ödeme başarılı olur ve erişim hakları güncellenirse, abonelik uygulamada neredeyse anında aktive edilir.

```typescript showLineNumbers

try {
  await adapty.openWebPaywall({ paywallOrProduct: product });
} catch (error) {
  console.error('Failed to open web paywall:', error);
}
```

:::note
`openWebPaywall` metodunun iki versiyonu vardır:
1. `openWebPaywall({ paywallOrProduct: product })` — paywall'a göre URL'ler oluşturur ve URL'lere ürün verilerini de ekler.
2. `openWebPaywall({ paywallOrProduct: paywall })` — paywall'a göre URL'ler oluşturur ancak URL'lere ürün verilerini eklemez. Adapty paywall'ınızdaki ürünler web paywall'ındakilerden farklıysa bunu kullanın.
SDK v4'te `paywallOrProduct`'ın paywall tarafı, bir `AdaptyFlowPaywall` alır — bu, alınan flow'un paywall varyasyonudur. İndeksleme yapmadan önce `flow.paywalls`'ın boş olmadığını kontrol edin; örneğin `flow.paywalls[0]`.
:::

#### Hataları ele al \{#handle-errors\}
| Hata                                    | Açıklama                                                       | Önerilen eylem                                                                        |
|-----------------------------------------|----------------------------------------------------------------|---------------------------------------------------------------------------------------|
| AdaptyError.paywallWithoutPurchaseUrl   | Paywall için web satın alma URL'si yapılandırılmamış           | Paywall'ın Adapty Kontrol Paneli'nde doğru yapılandırılıp yapılandırılmadığını kontrol edin |
| AdaptyError.productWithoutPurchaseUrl   | Ürün için 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 kodlanamadı                       | URL parametrelerinin geçerli ve doğru biçimlendirilmiş olduğunu doğrulayın            |

## Web paywall URL'sini açmadan alma \{#get-the-web-paywall-url-without-opening-it\}

Web satın alma sayfasını SDK'nın açmasını beklemek yerine kendiniz sunmak istiyorsanız `createWebPaywallUrl` kullanabilirsiniz. Bu fonksiyon, `openWebPaywall`'ın açacağı benzersiz URL'yi döndürür; bu sayede URL'yi kendi web view'ınızda gösterebilir veya yönlendirmeyi kendi koşullarınıza göre yönetebilirsiniz. Aynı `paywallOrProduct` argümanını kabul eder — bu, getirilmiş flow'un bir paywall varyantı (`AdaptyFlowPaywall`) veya bir `AdaptyPaywallProduct` olabilir.
```typescript showLineNumbers

try {
  const url = await adapty.createWebPaywallUrl({ paywallOrProduct: product });
  // open `url` in your own web view, or handle the redirect yourself
} catch (error) {
  console.error('Failed to create web paywall URL:', error);
}
```

:::note
Bir flow'un butonundan herhangi bir URL'yi (web paywall değil) yerel tarayıcı üzerinden açmak için bunun yerine [`adapty.openWebUrl`](capacitor-handle-paywall-actions#open-urls-from-flows-and-paywalls) kullanın.
:::
## Web paywall'ları uygulama içi tarayıcıda açma \{#open-web-paywalls-in-an-in-app-browser\}

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

Web paywall'lar varsayılan olarak harici tarayıcıda açılır.

Kullanıcı deneyimini kesintisiz hale getirmek için web paywall'ları 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 `openWebPaywall` içinde `openIn` değerini `WebPresentation.BrowserInApp` olarak ayarlayın:
```typescript showLineNumbers

try {
    await adapty.openWebPaywall({
        paywallOrProduct: product,
        openIn: WebPresentation.BrowserInApp, // default – WebPresentation.BrowserOutApp
    });
} catch (error) {
    console.error('Failed to open web paywall:', error);
}
```