In App Purchase (Apple アプリ内課金システム) のしくみ

iOS SDK Hacksに載っていた内容のまとめ。

販売コンテンツの幅

  • Non-Consumable (非消費型) プロダクト
    • 一度しか購入できない
    • この型に限り、Apple側で購入情報が管理される
    • 再度購入しようとした場合、無料でダウンロードできる
    • 別の端末にもリストアできる
      • 無償版から有償版へのアップグレード
      • 電子書籍等のダウンロード etc.
  • Consumable (消費型) プロダクト
    • Apple側では購入情報は管理されない
    • ダウンロードが消えてしまった場合は再購入
    • 別の端末に移せない
      • ゲームの武器のようなバーチャルアイテム etc.
  • Subcription (継続課金)
    • Apple側では購入情報は管理されない
    • ダウンロードが消えてしまった場合は再購入
    • 別の端末に移せない
    • 次回請求のタイミングはアプリデベロッパ側が管理 (自動決済はされない)
      • 月額・年額等、一定期間ごとの課金商品

特徴

  • 2009/10より、本体が無料のアプリでも利用可能になった
    • 有料・無料どちらにしても、Appleと有料販売契約(Paid Contract)を結ぶ必要がある
  • 課金プロダクトの価格帯は本体アプリと同じ
    • デベロッパが自由に設定できない
    • 無料にすることもできない
  • 決済にはトランザクションがかかる
    • 課金の失敗や二重課金が起こらないよう、一連の課金フローが保護されるということ
  • アプリを起動しない限り課金できない
    • 継続課金の場合も自動決済はされない。単に複数回の課金が可能というだけ
  • 課金用プロダクトもAppleの審査が必要
    • プロダクトごとのIDをふるため
    • プロダクトのデータ自体は審査しない。説明文とスクリーンショットが対象

Appleガイドライン

  • 課金プロダクトはデジタルコンテンツ、オンラインサービスに限る
    • 現実の物販やサービスは不可ということ
  • すべてのユーザが平等に購入権を得られなければならない
  • ポルノ、不快な文章や中傷、ギャンブル等の不適切なコンテンツは販売できない
    • ただし、ギャンブルは以下の条件を満たせば可
      • シミュレーションものであること
      • 仮想通貨が外部のコンテンツや別アプリの通貨との引換に対応していないこと

Appleの決済を使わないアプリ内課金

  • 原則できないと考えたほうがよい(App Store Review Guidelinesにもそのような記述がある)が、以下は可能 ※2010/10月現在
    • WEBサイトでの決済
      • iOS SDK Hacksには、UIWebView (アプリ内ブラウザ) を立ち上げてサイトを表示すれば決済できるように書いてあるが、2010/12月現在はmobile safariに切り替える方式でないとリジェクトされるという話も聞く。
        事例として載っているebi Readerも、現在はmobile safariに切り替わる仕様になっている模様。(iPhone版のみ確認)
    • PayPalを通しての決済