ウェブペイウォールの実装

始める前に、ダッシュボードでウェブペイウォールを設定し、Adapty SDK バージョン 3.6.1 以降をインストールしていることを確認してください。

ウェブペイウォールを開く

自分で開発したペイウォールを使用する場合は、SDK メソッドを使ってウェブペイウォールを処理する必要があります。.openWebPaywall メソッドは以下を行います:

  1. 特定のユーザーに表示されたペイウォールと、そのユーザーがリダイレクトされるウェブページを Adapty が紐付けるための、一意の URL を生成します。
  2. ユーザーがアプリに戻ってきたことを検知し、短い間隔で .getProfile をリクエストして、プロファイルのアクセス権が更新されたかどうかを確認します。

これにより、支払いが成功してアクセス権が更新された場合、サブスクリプションはほぼ即座にアプリ内で有効化されます。


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

openWebPaywall メソッドには 2 つのバージョンがあります:

  1. openWebPaywall(product) — ペイウォールに基づいて URL を生成し、プロダクトデータも URL に追加します。
  2. openWebPaywall(paywall) — ペイウォールに基づいて URL を生成しますが、プロダクトデータは URL に追加しません。Adapty ペイウォール内のプロダクトとウェブペイウォール内のプロダクトが異なる場合に使用してください。

エラーのハンドリング

エラー説明推奨される対処法
AdaptyError.paywallWithoutPurchaseUrlペイウォールにウェブ購入 URL が設定されていないAdapty ダッシュボードでペイウォールが正しく設定されているか確認してください
AdaptyError.productWithoutPurchaseUrlプロダクトにウェブ購入 URL が設定されていないAdapty ダッシュボードでプロダクトの設定を確認してください
AdaptyError.failedOpeningWebPaywallUrlブラウザで URL を開くことができなかったデバイスの設定を確認するか、別の購入方法を提供してください
AdaptyError.failedDecodingWebPaywallUrlURL のパラメータのエンコードに失敗したURL パラメータが有効で正しい形式であることを確認してください

アプリ内ブラウザでウェブペイウォールを開く

アプリ内ブラウザでのウェブペイウォールの表示は、Adapty SDK v3.15 以降でサポートされています。

デフォルトでは、ウェブペイウォールは外部ブラウザで開きます。

シームレスなユーザー体験を提供するために、アプリ内ブラウザでウェブペイウォールを開くことができます。これにより、ウェブ購入ページがアプリ内に表示され、ユーザーはアプリを切り替えることなく取引を完了できます。

これを有効にするには、openWebPaywall の第 2 引数に WebPresentation.BrowserInApp を渡してください:


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