Flutter SDKでウェブペイウォールを実装する

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

自作のペイウォールを使用している場合は、SDK のメソッドを使ってウェブペイウォールを処理する必要があります。.openWebPaywall メソッドは次の処理を行います。

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

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

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
}

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

  1. openWebPaywall(product) — ペイウォールをもとに URL を生成し、プロダクトデータも URL に付加します。
  2. openWebPaywall(paywall) — ペイウォールをもとに URL を生成しますが、プロダクトデータは URL に付加しません。Adapty ペイウォールのプロダクトとウェブペイウォールのプロダクトが異なる場合に使用してください。 SDK v4 では、paywall パラメータは AdaptyFlowPaywall(取得したフローのペイウォールバリアント)を受け取ります。インデックスアクセスする前に flow.paywalls が空でないことを確認してください(例:flow.paywalls[0])。

エラーの処理

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

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

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

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

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

これを有効にするには、in パラメータを .inAppBrowser に設定します。

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
}