Unity SDKでWebペイウォールを実装する

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

Webペイウォールを開く

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

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

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

Adapty.OpenWebPaywall(
    product,
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);

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

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

エラーの処理

エラーコード説明推奨アクション
AdaptyErrorCode.WrongParamペイウォールまたはプロダクトにWeb購入URLが設定されていない、またはブラウザでURLを開くことができなかったエラーメッセージで詳細を確認してください。Adapty ダッシュボードでペイウォール/プロダクトの設定を確認するか、デバイスの設定を確認してください。
AdaptyErrorCode.DecodingFailedURLのパラメーターを正しくエンコードできなかったURLパラメーターが有効で適切な形式になっているか確認してください

WrongParamは複数の問題(購入URLの欠如、ブラウザを開けないなど)を示す可能性があるため、何が問題だったかの詳細を取得するにはエラーのMessageプロパティを確認してください。

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

アプリ内ブラウザでWebペイウォールを開く機能は、Adapty SDK v3.15以降でサポートされています。

デフォルトでは、WebペイウォールはアプリのExternalBrowserで開き、ユーザーはアプリの外に移動します。

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

これを有効にするには、OpenWebPaywallメソッドにAdaptyWebPresentation.InAppBrowserを渡します:

Adapty.OpenWebPaywall(
    product,
    AdaptyWebPresentation.InAppBrowser, // default — ExternalBrowser
    (error) =>
    {
        if (error != null)
        {
            Debug.LogError($"Failed to open web paywall: {error.Message}");
        }
        else
        {
            Debug.Log("Web paywall opened successfully");
        }
    }
);