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

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

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

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

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

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

ユーザーがアプリに戻った後、プロファイルの更新を反映するためにUIを更新してください。AdaptyはプロファイルのUpdateイベントを受信して処理します。

Adapty.openWebPaywall(
    activity = activity,
    product = product,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
    }
}

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

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

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

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

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

これを有効にするには、presentation パラメータを AdaptyWebPresentation.InAppBrowser に設定します:

Adapty.openWebPaywall(
    activity = activity,
    product = product,
    presentation = AdaptyWebPresentation.InAppBrowser,
) { error ->
    if (error == null) {
        // the web paywall was opened successfully
    } else {
        // handle the error
        val adaptyError = error
    }
}