iOS SDKでFlow Builderを使ってアプリ内課金を有効にする

アプリ内課金を有効にするには、3つの重要なコンセプトを理解する必要があります。

  • プロダクト – ユーザーが購入できるもの(サブスクリプション、消耗型アイテム、永続アクセスなど)
  • フロー – ノーコードのFlow Builderで作成された、ユーザーにプロダクトを提示する画面シーケンス。SDKはgetFlowを通じてフローを取得します。UIを自分のコードで構築したい場合はペイウォールを使ってください。詳しくはペイウォールを手動で実装するを参照してください。
  • プレースメント – アプリのどこでいつフローを表示するかを定義します(mainonboardingsettingsなど)。ダッシュボードでフローをプレースメントに紐付けて、コードではプレースメントIDで取得します。これにより、A/Bテストの実行や異なるユーザーへの異なるフロー表示が簡単になります。

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

実装方法複雑さ使用タイミング
Adapty Flow Builder✅ 簡単ノーコードビルダーで購入準備が整ったフローを作成します。Adaptyが自動的にレンダリングし、複雑な購入フロー、レシート検証、サブスクリプション管理をすべて処理します。
手動で作成したペイウォール🟡 中程度アプリのコードでペイウォールUIを実装しつつ、プロダクト提供の柔軟性を保つためにAdaptyからフローオブジェクトを取得します。詳しくはガイドを参照してください。
オブザーバーモード🔴 難しいすでに独自の購入処理インフラがあり、それを継続して使いたい場合。オブザーバーモードにはAdaptyでの制限があります。詳しくはこちらを参照してください。

以下の手順は、Adapty Flow Builderで作成したフローを実装する方法を示しています。

ペイウォールUIを自分で構築したい場合は、ペイウォールを手動で実装するを参照してください。

Adapty Flow Builderで作成したフローをアプリで表示するには、コードで行うことは次の3つだけです。

  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 Flow Builderで作成したフローを取得するには、次の手順を行います。

  1. getFlowメソッドを使ってプレースメントIDからフローオブジェクトを取得し、ビュー設定があるかどうかを確認する。
  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. フローを表示する

フロー設定を取得したら、数行追加するだけでフローを表示できます。

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

3. ボタンアクションを処理する

ユーザーがボタンをタップすると、iOS SDKは購入、復元、フローのクローズ、リンクの開封を自動的に処理します。

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

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

ボタンのアクションイベントの処理方法については、各ガイドを参照してください。

次のステップ

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

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

次に、適切なユーザーにフローを表示したり有料機能へのアクセスを付与したりするために、ユーザーのアクセスレベルを確認する必要があります。

完全なサンプル

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