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

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

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

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

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

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


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

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

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

エラー処理

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

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

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

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

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

これを有効にするには、openWebPaywallopenInWebPresentation.BrowserInApp を設定します:


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