[`StoreKit`] `SKProduct, SKProductsResponse, SKPayment, SKPaymentQueue` のプロパティ・メソッドのメモ

SKProduct

iTunes Store から AppStore に登録したプロダクトについてローカライズされた情報を扱う。読み込み専用の5つのプロパティから成る。ローカライズは iTunes Connect で行う。

  • @property(nonatomic, readonly) NSString *localizedDescription __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | ローカライズされたプロダクトの説明
  • @property(nonatomic, readonly) NSString *localizedTitle __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | ローカライズされたタイトル
  • @property(nonatomic, readonly) NSDecimalNumber *price __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 価格
  • @property(nonatomic, readonly) NSLocale *priceLocale __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 価格のロケール
  • @property(nonatomic, readonly) NSString *productIdentifier __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | プロダクトID

SKProductsResponse

NSObject の派生クラス、なんも継承してない。SKProductsRequest によりリクエストしたプロダクトのレスポンス。読み込み専用の2つのプロパティから成る。

  • @property(nonatomic, readonly) NSArray *products __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | SKProduct の配列
  • @property(nonatomic, readonly) NSArray *invalidProductIdentifiers __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 送ったリクエストが正しくない場合はここに入れられる

SKPayment

プロダクト購入のためのオブジェクト。SKPaymentQueue#addPayment にこのオブジェウトを追加することで購入トランザクションが開始される。

  • + (id)paymentWithProduct:(SKProduct *)product __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | プロダクトIDを指定して実行するイニシャライザ
  • + (id)paymentWithProductIdentifier:(NSString *)identifier __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_3_0,__IPHONE_5_0) | プロダクトIDを指定して実行するイニシャライザ
  • @property(nonatomic, copy, readonly) NSString *productIdentifier __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | プロダクトIDの読み込み専用プロパティ

SKPaymentQueue

  • + (SKPaymentQueue *)defaultQueue __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 通常はこのスタティックメソッドにより受け取るインスタンスを使用すればOK。通常でない場合があるのかどうかは知らない。
  • + (BOOL)canMakePayments __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | アプリ内課金の許可設定を取得できる
  • - (void)addPayment:(SKPayment *)payment __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | ペイメントをキューに追加する
  • - (void)restoreCompletedTransactions __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 非消費型のプロダクトなどを復元するためのメソッド
  • - (void)finishTransaction:(SKPaymentTransaction *)transaction __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | トランザクションを完了する
  • - (void)addTransactionObserver:(id )observer __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | トランザクションの処理を実行するオブジェクトを登録する。追加するObserverは SKPaymentTransactionObserverプロトコルを実装していなければならない。
  • - (void)removeTransactionObserver:(id )observer __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 追加されているObserverを削除する
  • @property(nonatomic, readonly) NSArray *transactions __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) | 未完了のトランザクションを読み込むためのプロパティ
Share
関連記事