storekit は何をしますか?
StoreKit 2を使用したアプリ内課金とサブスクリプションの実装、レビュー、または改善を行います。SubscriptionStoreViewやProductViewを使ったペイウォールの構築、ProductおよびTransaction APIによるトランザクション処理、エンタイトルメントの確認、購入フロー(消耗型、非消耗型、自動更新サブスクリプション)の処理、オファーコードやプロモーション/復帰/初回オファーの実装、サブスクリプションステータスと更新状態の管理、設定ファイルを用いたStoreKitテストのセットアップ、ファミリー共有、Ask to Buy、返金処理、請求リトライロジックの統合に使用します。
機能
- ペイウォールの構築:
SubscriptionStoreViewとProductViewを使用して、迅速にペイウォールを構築します。 - トランザクション処理:
ProductおよびTransactionAPI を使用して、購入と検証を安全に行います。 - エンタイトルメントの確認: 購入済みのアイテムやアクティブなサブスクリプションを確認します。
- 購入フロー: 消耗型、非消耗型、自動更新サブスクリプションをサポートします。
- オファー: オファーコード、プロモーションオファー、復帰オファー、初回オファーを実装します。
- サブスクリプション管理: サブスクリプションのステータスと更新状態を監視します。
- テスト: StoreKit設定ファイル(
.storekit)を使用してローカルテストを実行します。 - 高度な機能: ファミリー共有、Ask to Buy、返金処理、請求リトライロジックを統合します。
使用例
// プロダクトの取得
let products = try await Product.products(for: ["com.example.premium"])
// 購入の実行
guard let product = products.first else { return }
let result = try await product.purchase()
switch result {
case .success(let verification):
let transaction = try verification.payloadValue
// トランザクションの処理
await transaction.finish()
case .userCancelled:
// ユーザーがキャンセル
case .pending:
// 購入保留中(Ask to Buyなど)
}
サポート
このスキルに関する質問や問題がある場合は、リポジトリのIssueを作成してください。