Web paywall'ları uygulama
Başlamadan önce kontrol panelinde web paywall’ınızı yapılandırdığınızdan ve Adapty SDK 3.6.1 veya daha yeni bir sürümü yüklediğinizden emin olun.
Web paywall’ları açma
Kendiniz geliştirdiğiniz bir paywall üzerinde çalışıyorsanız, web paywall’larını SDK metoduyla yönetmeniz gerekir. .openWebPaywall metodu:
- 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.
- 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.
try {
await adapty.openWebPaywall({ paywallOrProduct: product });
} catch (error) {
console.error('Failed to open web paywall:', error);
}
openWebPaywall metodunun iki versiyonu vardır:
openWebPaywall({ paywallOrProduct: product })— paywall’a göre URL’ler oluşturur ve URL’lere ürün verilerini de ekler.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’tepaywallOrProduct’ın paywall tarafı, birAdaptyFlowPaywallalır — bu, alınan flow’un paywall varyasyonudur. İndeksleme yapmadan önceflow.paywalls’ın boş olmadığını kontrol edin; örneğinflow.paywalls[0].
Hataları ele al
| 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
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.
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);
}
Bir flow’un butonundan herhangi bir URL’yi (web paywall değil) yerel tarayıcı üzerinden açmak için bunun yerine adapty.openWebUrl kullanın.
Web paywall’ları uygulama içi tarayıcıda açma
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:
try {
await adapty.openWebPaywall({
paywallOrProduct: product,
openIn: WebPresentation.BrowserInApp, // default – WebPresentation.BrowserOutApp
});
} catch (error) {
console.error('Failed to open web paywall:', error);
}