Unity SDKでカスタムペイウォールの購入を有効にする

このガイドでは、カスタムペイウォールへのAdapty統合方法を説明します。ペイウォールの実装を完全にコントロールしながら、Adapty SDKがプロダクトの取得、新規購入の処理、過去の購入の復元を担当します。

このガイドはカスタムペイウォールを実装する開発者向けです。 購入を最も簡単に有効にする方法をお探しの場合は、Adapty ペイウォールビルダーをご利用ください。ペイウォールビルダーを使えば、ノーコードのビジュアルエディターでペイウォールを作成でき、購入ロジックはAdaptyが自動処理します。また、アプリを再公開することなく異なるデザインをテストできます。

始める前に

プロダクトのセットアップ

アプリ内課金を有効にするには、次の3つの重要な概念を理解する必要があります:

  • プロダクト – ユーザーが購入できるもの(サブスクリプション、消耗型アイテム、永続アクセス)
  • ペイウォール – どのプロダクトを提供するかを定義する設定。Adaptyではペイウォールがプロダクトを取得する唯一の方法ですが、この設計によりアプリコードを変更せずにプロダクト、価格、オファーを変更できます。
  • プレースメント – アプリ内でペイウォールを表示する場所とタイミング(mainonboardingsettingsなど)。ダッシュボードでプレースメントにペイウォールを設定し、コード内でプレースメントIDを使ってリクエストします。これにより、A/Bテストの実施や異なるユーザーへの異なるペイウォール表示が簡単になります。

カスタムペイウォールを使う場合でも、これらの概念を理解しておくことが重要です。基本的に、アプリで販売するプロダクトを管理するための手段です。

カスタムペイウォールを実装するには、ペイウォールを作成してプレースメントに追加する必要があります。この設定によりプロダクトを取得できます。ダッシュボードで何をすべきかを理解するには、こちらのクイックスタートガイドをご覧ください。

ユーザーの管理

バックエンド認証の有無にかかわらず利用できます。

ただし、Adapty SDKは匿名ユーザーと識別済みユーザーを異なる方法で扱います。詳細を確認し、ユーザーを適切に扱うために識別クイックスタートガイドをお読みください。

ステップ1. プロダクトを取得する

カスタムペイウォール用のプロダクトを取得するには、次の手順が必要です:

  1. getPaywallメソッドにプレースメントIDを渡してpaywallオブジェクトを取得します。
  2. getPaywallProductsメソッドを使ってこのペイウォールのプロダクト配列を取得します。
using AdaptySDK;

void LoadPaywall() {
    Adapty.GetPaywall("YOUR_PLACEMENT_ID", (paywall, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        Adapty.GetPaywallProducts(paywall, (products, productsError) => {
            if (productsError != null) {
                // Handle the error
                return;
            }

            // Use products to build your custom paywall UI
        });
    });
}

ステップ2. 購入を受け付ける

ユーザーがカスタムペイウォールでプロダクトをタップしたら、選択されたプロダクトを引数にmakePurchaseメソッドを呼び出します。購入フローが処理され、更新されたプロファイルが返されます。

using AdaptySDK;

void PurchaseProduct(AdaptyPaywallProduct product) {
    Adapty.MakePurchase(product, (result, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        switch (result.Type) {
            case AdaptyPurchaseResultType.Success:
                var profile = result.Profile;
                // Purchase successful, profile updated
                break;
            case AdaptyPurchaseResultType.UserCancelled:
                // User canceled the purchase
                break;
            case AdaptyPurchaseResultType.Pending:
                // Purchase is pending (e.g., user will pay offline with cash)
                break;
        }
    });
}

ステップ3. 購入を復元する

アプリストアは、サブスクリプションのあるすべてのアプリに対して、ユーザーが購入を復元できる手段を提供することを要求しています。

ユーザーが復元ボタンをタップしたらrestorePurchasesメソッドを呼び出します。購入履歴がAdaptyと同期され、更新されたプロファイルが返されます。

using AdaptySDK;

void RestorePurchases() {
    Adapty.RestorePurchases((profile, error) => {
        if (error != null) {
            // Handle the error
            return;
        }

        // Restore successful, profile updated
    });
}

次のステップ

ご質問やお困りのことがあれば、サポートフォーラムをご覧ください。よくある質問への回答を見つけたり、ご自身の質問を投稿することができます。チームとコミュニティがサポートいたします!

ペイウォールをアプリに表示する準備が整いました。App StoreサンドボックスまたはGoogle Play Storeでテスト購入を実施して、ペイウォールからテスト購入を完了できることを確認してください。

次に、ユーザーが購入を完了したかどうか確認して、ペイウォールを表示するか有料機能へのアクセスを許可するかを判断します。