Flutter SDKでウェブペイウォールを実装する
始める前に、ダッシュボードでウェブペイウォールを設定済みであること、およびAdapty SDK バージョン3.6.1以降がインストールされていることを確認してください。
自作のペイウォールを使用している場合は、SDK のメソッドを使ってウェブペイウォールを処理する必要があります。.openWebPaywall メソッドは次の処理を行います。
- 固有の URL を生成し、Adapty が特定のユーザーに表示されたペイウォールと、そのユーザーがリダイレクトされたウェブページを紐付けられるようにします。
- ユーザーがアプリに戻ったタイミングを検知し、短い間隔で
.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つのバージョンがあります:
openWebPaywall(product)— ペイウォールをもとに URL を生成し、プロダクトデータも URL に付加します。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.failedDecodingWebPaywallUrl | URL のパラメーターを正しくエンコードできませんでした | 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
}