アプリ内課金 その2 実装の手順
実装までの手順は以下の通り
- プロダクトの登録
- プロダクトの取得
- プロダクトの購入
- レシートの確認
プロダクトの登録
プロダクトの登録はiTunesConnectにて設定。これは前回完了しているので、
Xcodeでの実装はプロダクトの取得以降となる。
アプリケーション側で登録したプロダクトIDを持っておく必要がある。
コンテンツサーバーからリストをダウンロードしてもいいのだけれど、一番単純にコード内に埋め込む事にする。
プロダクトの取得
プロダクトIDを指定してサーバーにリクエストを投げて登録したプロダクトを取得する。
サーバーからのレスポンスで登録したプロダクト情報を取得をする。
プロダクトの購入
取得したプロダクトを表すオブジェクトを使って購入要求をサーバーに投げる。
もしくはプロダクトIDを指定して購入要求を作成もできる。
課金処理が完了するとサーバーから通知がくる。
これをトリガーとしてコンテンツのダウンロードや機能制限の解除の処理を実行する。
購入処理が終わったらサーバーに終了通知を投げる。
それによって、サーバーのキューから購入要求が削除され手続きが完了する。
レシートの確認
課金処理を行うと、その詳細を表すレシートを取得できる。
過去に購入したプロダクトに対するレシートも確認ができる。
レシートはAppStoreから暗号化された状態で送られてくるので、一度AppStoreのサーバーに戻して復号化する必要がある。
これはサーバーの偽装を防ぐ為の処理らしい。
レシートに含まれる情報は(プロダクトID,購入処理のID、購入日、購入数)