Swiftでアプリ内課金をSwiftyStoreKitで簡単に実装しよう!【iOSアプリ開発】



iOSのアプリ開発をしている上で、課金システムを導入する場合に処理が複雑で実装するにはハードルが高かった。

そこで何か良いライブラリがないか探していたところ、「SwiftyStoreKit」というライブラリを見つけた。
実際使ってみたところ大変わかりやすく便利だったので、この記事では「SwiftyStoreKit」の使い方を説明していく。

なお、この記事では「非消耗型の課金アイテム」を対象としている。

» bizz84/SwiftyStoreKit: Lightweight In App Purchases Swift framework for iOS 8.0+, tvOS 9.0+ and macOS 10.10+ ⛺






アプリ内課金を実現するSwiftyStoreKitのインストール


今回はpodでSwiftyStoreKitをプロジェクトから使えるようにしていく。

pod 'SwiftyStoreKit'でSwiftyStoreKitをインストールしよう。

そしてSwiftyStoreKitを使いたいクラスに、import SwiftyStoreKit を記述しておく。

SwiftyStoreKitの初期化のために、下記コードを application(:didFinishLaunchingWithOptions) に追加する。




説明では一度だけ呼ばれるべきだと書いてあるので注意しておく。
Note that completeTransactions() should only be called once in your code, in application(:didFinishLaunchingWithOptions:).





価格などのプロダクト情報を取得


次のような非同期処理で、価格などのプロダクト情報を取得することができる。
少し時間がかかるので、呼び出すタイミングを工夫したい。




初めて課金アイテム購入した場合の処理


初めて課金アイテム購入した場合の処理は次の通り。
成功したか失敗したかを返してくれるので、課金処理が非常にラク。




リストア処理


最後にリストア処理の紹介。
restorePurchasesを呼び出すことで、購入済みのアイテムが配列で返ってくるので、for文で回してチェックすれば良い。




Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus

本書は、Swiftの言語仕様と実践的な利用方法を解説した入門書です。Swiftは簡潔な言語ですが、その言語仕様を理解し、正しく使うことはけっして容易ではありません。Appleの公式ドキュメントをはじめとして、どんな言語仕様があり、それらをどのように使うかに関しては豊富な情報源があります。しかし、それらがなぜ存在し、いつ使うべきかについてまとまった情報があるとは言えません。本書は、読者のみなさんの「なぜ」や「いつ」を解消することにも主眼を置いています。今回の改訂で、新バージョンのSwift 5に対応しました。

KindleAmazon

あなたにおすすめ