API コレクション


アプリ内購入


Swift ベースのインターフェースを使用して、Apple プラットフォーム全体でアプリ内のコンテンツとサービスを提供します。





概観


アプリ内購入 API を使用すると、あなたのアプリ内でデジタルコンテンツやサービスを購入する機会を顧客達に提供できます。顧客達はあなたのアプリ内で購入手続きを行い、App Store であなたの販売促進対象製品を見つけることが可能です。


StoreKit フレームワークは、あなたのアプリに代わって App Store に接続し、支払いを促し、安全に処理します。その後、フレームワークはあなたのアプリに通知し、アプリ内購入の取引を顧客のすべてのデバイスであなたのアプリを利用できるようにします。現在の購入を表す取引ごとに、あなたのアプリは購入された製品を配信します。購入の検証は、あなたのサーバー上で取引を検証するか、StoreKit の検証を利用することができます。



App Store はあなたのサーバーと通信することもできます。App Store は、App Store サーバー通知 を通じて取引や自動更新サブスクリプションイベントをあなたのサーバーに通知し、App Store サーバー API を通じて同じ取引情報やその他の情報を提供します。


App Store 向けのアプリ開発ワークフロー全体におけるアプリ内購入の追加方法については、App Store Pathway をご覧ください。アプリ内課金とその機能 (その構成、テスト機能、製品のマーケティングなど) の概要については、シンプルで安全なアプリ内課金 をご覧ください。サブスクリプションの概要 (サブスクリプショングループの作成、家族間共有など) については、自動更新サブスクリプション をご覧ください。



アプリ内購入の構成


アプリ内購入 API を使用するには、まずあなたのアプリで販売する製品を構成する必要があります。


  • 開発の初期段階では、Xcode の StoreKit 構成ファイルで製品を構成し、App Store Connect に依存せずにあなたのコードをテストできます。詳しくは、Xcode で StoreKit テストを設定する (Setting up StoreKit Testing in Xcode) をご覧ください。

  • サンドボックステストと製品環境の準備ができたら、App Store Connect で製品を構成します。あなたのアプリの開発中に、製品を追加または削除したり、既存の製品を改良または再構成したりできます。詳しくは、App 内課金の設定 をご覧ください。

  • 複数のプラットフォームで動作するアプリやアプリ内課金を、1 回の購入で提供することもできます。ユニバーサル購入の詳細については、プラットフォームの追加 をご覧ください。



    あなたのアプリでストアをサポート


    アプリ内購入 API は、Swift の機能(並行処理など)を活用して アプリ内購入ワークフローを簡素化し、SwiftUI を使用して StoreKit ビュー (StoreKit views) でストアを構築します。この API を使用することで、コンテンツやサブスクリプションへのアクセス管理、App Store 署名済みの取引情報の取得、すべての アプリ内購入取引の履歴の取得などが可能になります。


    WWDC21 関連セッション

    セッション 10114: StoreKit 2 のご紹介


    アプリ内購入 API は以下を提供します。


  • App Store で JSON Web Signature (JWS) 形式で署名された取引情報。

  • あなたのアプリ内で簡単に解析できる取引およびサブスクリプションのステータス情報。

  • 顧客達向けのコンテンツやサービスのロックを解除するための権限の決定を簡素化する権限 API (currentEntitlements)。

  • WWDC22 関連セッション

    セッション 110404: アプリ内購入のプロアクティブな復元を実装する


    あなたのアプリでストアをサポートするには、以下の機能を実装して下さい。


  • 取引リスナー、updates を使用して取引状態の変化を注視し、あなたのアプリの実行中に最新のサービスとコンテンツを提供します。

  • StoreKit ビュー (StoreKit views) を使用してあなたの製品を販売したり、products(for:) を使用して App Store から製品を表示するよう要求し、purchase(options:) を使用して購入を有効にしたりできます。購入結果である Product.PurchaseResult に基づいて、購入済みのコンテンツとサービスのロックを解除できます。

  • 取引シーケンス all を使用して、いつでも顧客の購入履歴を反復処理し、購入済みのコンテンツとサービスのロックを解除できます。

  • 必要に応じて、API からあなたが受信した署名済み取引と署名済みサブスクリプションのステータス情報を検証します。




  • トピックス


    アプリ内購入による販売


    StoreKit views

    SwiftUI の StoreKit ビューを使用して、カスタマイズ可能なアプリ内購入ストアを表示します。



    製品とサブスクリプションの情報


    {} StoreKit API を使用してあなたのアプリにストアを実装する

    署名された取引とステータス情報を使用して、アプリ内購入を提供し、権限を管理します。


    struct Product

    App Store Connect であなたが構成する製品に関する情報。


    struct SubscriptionInfo

    自動更新サブスクリプションに関する情報 (ステータス、期間、サブスクリプショングループ、サブスクリプションオファーの詳細など)。


    typealias SubscriptionInfo

    自動更新サブスクリプションに関する情報。


    typealias SubscriptionStatus

    自動更新サブスクリプションの更新ステータス情報を表します。



    購入要求と結果


    struct PurchaseAction

    アプリ内購入を開始するアクション。


    func purchase(options: Set<Product.PurchaseOption>) async throws -> Product.PurchaseResult

    App Store で製品の購入を開始し、確認シートを表示します。


    enum PurchaseResult

    購入の結果。



    取引履歴と権利


    struct Transaction

    顧客があなたのアプリ内で製品を購入したことを示す情報。


    static var updates: Transaction.Transactions

    システムがアプリ外部または他のデバイスで発生する取引を作成または更新するときに取引を発行する非同期シーケンス。


    static var all: Transaction.Transactions

    あなたのアプリのすべての顧客の取引を発行するシーケンス。


    static var currentEntitlements: Transaction.Transactions

    顧客にアプリ内購入とサブスクリプションの権限を与える最新の取引のシーケンス。



    JWS 検証


    enum VerificationResult

    StoreKit 検証の結果を記述する型。


    enum VerificationError

    StoreKit JWS 検証のエラーケース。



    サブスクリプションの状況と更新情報


    struct Status

    自動更新サブスクリプションの更新状況情報。


    struct RenewalInfo

    自動更新サブスクリプションの更新情報。


    typealias SubscriptionRenewalInfo

    自動更新サブスクリプションの更新情報を表します。


    struct RenewalState

    自動更新サブスクリプションの更新状況。


    typealias SubscriptionRenewalState

    自動更新サブスクリプションの更新状態。


    typealias SubscriptionPeriod

    サブスクリプションの更新の間の期間を表します。



    サブスクリプションのオファーとオファーコード


    あなたのアプリ内で再獲得提供をサポート
    (Supporting win-back offers in your app)

    一定期間、自動更新サブスクリプションの無料または割引オファーを提供して、以前の定期購読者に再登録を促しましょう。


    あなたのアプリ内での販売による再獲得提供
    (Merchandising win-back offers in your app)

    再獲得提供シートを使用するか、カスタムの販売を実装して、アプリ内で対象顧客達に再獲得提供を提示します。


    あなたのアプリ内でサブスクリプション提供コードをサポート
    (Supporting subscription offer codes in your app)

    App Store またはあなたのアプリ内でオファーコードを利用する顧客達にサブスクリプションサービスを提供します。


    struct SubscriptionOffer

    App Store Connect であなたが構成するサブスクリプション提供に関する情報。


    struct OfferType

    自動更新サブスクリプション提供のタイプ。



    販売促進されたアプリ内購入


    あなたのアプリ内で販売促進されたアプリ内購入をサポートする
    (Supporting promoted In-App Purchases in your app)

    あなたの製品ページに販売促進されたアプリ内購入を表示し、ユーザーが App Store で開始した購入を処理します。




    @@@@@@@@@@@@@@
    2025/06/17:ここまで
    @@@@@@@@@@@@@@














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ