iOS SDKでFlow & ペイウォールビルダーを使って課金を有効にする

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

  • プロダクト – ユーザーが購入できるもの(サブスクリプション、消耗型アイテム、永続アクセス)
  • フロー & ペイウォール – ノーコードのフロー & ペイウォールビルダーで作成した、プロダクトをユーザーに提示する画面。SDK は getFlow を使って取得します。自分のコードで UI を構築したい場合は、カスタムペイウォールの実装を参照してください。
  • プレースメント – アプリ内でフロー & ペイウォールを表示する場所とタイミング(main、onboarding、settings など)。ダッシュボードでプレースメントに紐付け、コード内ではプレースメント ID で取得します。これにより、A/B テストの実行や、ユーザーによって異なる画面の表示が簡単に行えます。

Adapty では、アプリ内での購入を有効にする方法を3つ提供しています。アプリの要件に応じて、いずれかを選択してください。

実装方法複雑さ使用する場面
Adapty フロー & ペイウォールビルダー✅ 簡単ノーコードビルダーで購入に対応した完全なフローまたはペイウォールを作成します。Adapty が自動的にレンダリングし、複雑な購入ロジック、レシート検証、サブスクリプション管理をすべてバックグラウンドで処理します。
カスタムペイウォール🟡 中程度アプリのコードでペイウォール UI を実装しますが、プロダクトラインナップの柔軟性を保つために Adapty からフローオブジェクトを取得します。ガイドをご覧ください。
オブザーバーモード🔴 難しい独自の購入処理インフラがすでにあり、引き続き使用したい場合に使用します。オブザーバーモードには Adapty における制限がある点にご注意ください。記事をご覧ください。
Important

以下の手順では、Adapty フロー & ペイウォールビルダーで作成したフローまたはペイウォールの実装方法を説明します。

ペイウォールの UI を自分でビルドする場合は、カスタムペイウォールの実装を参照してください。

Adapty フロー & ペイウォールビルダーで作成したフローまたはペイウォールをアプリに表示するには、アプリのコード内で以下の操作を行うだけです。

  1. フローまたはペイウォールを取得する: Adapty から取得します。
  2. 表示するだけで、購入処理は Adapty が担当: アプリにビューを表示します。
  3. ボタンアクションを処理する: ユーザーの操作とアプリの応答を関連付けます。たとえば、ユーザーがボタンをクリックしたときにリンクを開いたり、ペイウォールを閉じたりします。

始める前に

始める前に、以下の手順を完了してください:

  1. Adapty ダッシュボードでアプリを App Store に接続する。
  2. Adapty でプロダクトを作成する。
  3. フローまたはペイウォールを作成し、プロダクトを追加する。
  4. プレースメントを作成し、フローまたはペイウォールを追加する。
  5. アプリのコードに Adapty SDK をインストールして有効化する。このガイドでは Adapty iOS SDK v4 API を使用します。

1. フローまたはペイウォールを取得する

フローとペイウォールは、ダッシュボードで設定されたプレースメントに関連付けられています。プレースメントを使用すると、異なるオーディエンスに対して異なるフローやペイウォールを表示したり、A/B テストを実施したりできます。

Adapty フロー & ペイウォールビルダーで作成したフローまたはペイウォールを取得するには、次の手順を実行します。

  1. getFlow メソッドを使用してプレースメント ID からフロー(flow)オブジェクトを取得し、ビュー設定が含まれているかどうかを確認します。
  2. getFlowConfiguration メソッドを使用してビュー設定を取得します。この設定には、表示に必要な UI 要素とスタイリング情報が含まれています。

func loadFlow() async {
    let flow = try await Adapty.getFlow(placementId: "YOUR_PLACEMENT_ID")

    guard flow.hasViewConfiguration else {
        print("Flow doesn't have a view configuration")
        return
    }

    flowConfiguration = try await AdaptyUI.getFlowConfiguration(forFlow: flow)
}

2. フローまたはペイウォールを表示する

フローの設定が完了したら、あとは数行追加するだけでフローやペイウォールを表示できます。

Info

フローまたはペイウォールの表示方法の詳細については、ガイドを参照してください。

3. ボタンアクションの処理

ユーザーがボタンをタップすると、iOS SDK は購入・復元・画面のクローズ・リンクを開く処理を自動で行います。

ただし、カスタムまたは事前定義された ID を持つボタンについては、コード内でアクションを処理する必要があります。また、デフォルトの動作をオーバーライドしたい場合もあります。

たとえば、クローズボタンの処理方法を以下に示します。UIKit では、.close が発火すると SDK が自動的にコントローラーをdismissするため、カスタム動作が必要な場合のみオーバーライドしてください。SwiftUI では、isPresented バインディングを自分で false に設定する必要があります。

Tip

ボタンのアクションやイベントの処理方法についてはガイドをご覧ください。

次のステップ

Tip

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

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

次に、ユーザーのアクセスレベルを確認して、ペイウォールを表示したり有料機能へのアクセスを許可する対象ユーザーが正しいことを確認する必要があります。

完全なコード例

このガイドのすべての手順をアプリに統合する方法を以下に示します。