struct Product
struct Product.SubscriptionInfo
In-App Purchase APIは、並行処理などのSwiftの機能を活用したもので、アプリ内課金のワークフローをシンプルにしてくれます。このAPIを使用することで、プロダクト情報の読み込み、アプリ内課金の表示、コンテンツやサブスクリプションへのアクセス管理、App Store署名付きのトランザクション情報の受け取りを行うことができます。このAPIは、非同期の操作にデリゲートオブジェクトを使用するのではなく、Swiftの並行処理機能を使って結果をインラインで返します。
In-App Purchase APIでは、以下のものが提供されます。
App StoreによるJSON Web Signature(JWS)フォーマットでの署名付きトランザクション情報
クライアントで簡単に解析することが可能なトランザクションおよびサブスクリプションステータス情報
エンタイトルメントAPIであるcurrent
。このAPIを使用すると、エンタイトルメントを評価して、ユーザーに対してコンテンツやサービスのロック解除処理が簡素化されます。
アプリでストアをサポートするには、以下の機能を実装します。
トランザクションリスナーのupdates
を使用してトランザクションステータスの変更を検知し、アプリの実行中に最新のサービスとコンテンツを提供します。
プロダクトリクエストのproducts(for:)
を使用して、アプリで表示するプロダクトをApp Storeからリクエストします。
purchase(options:)
を使用して、ユーザーがアプリ内プロダクトをApp Storeから購入できるようにします。
トランザクション関数のcurrent
を使用してユーザーのアプリ内課金を順次処理し、購入されたコンテンツやサービスのロックを解除します。
オプションで、APIから受け取った署名付きのトランザクションや署名付きのサブスクリプションステータス情報を検証します。
アプリ内課金を使用するには、まずApp Store Connectでプロダクトを構成する必要があります。アプリの開発状況に応じて、プロダクトを追加したり削除したりすることができ、また既存のプロダクトの改善や再構成を行うことができます。詳細については、「アプリ内課金を設定するためのワークフロー」を参照してください。
また、複数のプラットフォームで動作するアプリやアプリ内課金を、1回の購入で提供することもできます。ユニバーサル購入の詳細については、「ユニバーサル購入の提供」を参照してください。
struct Product
struct Product.SubscriptionInfo
struct Transaction
struct Product.SubscriptionInfo.Status
enum VerificationResult
enum AppStore
struct Storefront
enum StoreKitError