2013年2月1日金曜日

アプリ内課金の製品タイプ - Androidのアプリ内課金(In-App Billing)のまとめ (その1)

Androidのアプリ内課金の日本語の情報が、古い情報しか見当たらないので、現状(2013年2月)をまとめておく。

APIのバージョン

現状で、最初に考えるべき事は、課金のAPIのバージョンを決めることである。
現在の段階では、APIのバージョンは以下の通り。
  • Version 3(推奨)
  • Version 2
バージョンの違いによって、販売できる製品(product)、課金APIの処理方式に違いがある。
結論を先に書くと、定期的に自動課金をする場合(購読タイプの製品)は、Version 2を選択するしかない。(数週間後には、改善されるかもしれない)
そうでなければ、コーディングが楽な処理方式のVersion 3を選択するべきである。

販売できる製品タイプ

Version 3の場合


管理タイプ製品(managed)


現在のところ、これしかない。これは、Googleによって購入履歴が管理されている。管理の単位はGoogle Playのユーザーアカウント毎である。

Googleによって管理される事により、アプリは、どのような場合でも、ユーザーが製品を購入したかどうかをAPIを通じて知る事ができる。例え、アプリが再インストールされた場合や別端末で購入した場合であってもである。

Version 3の場合はVersion 2と異なり、管理タイプ製品には消費(consume)機能がある。
通常、管理タイプは、一度購入すると二度と購入することができない。この機能は、一度だけ課金したい場合、例えば、広告を外すとか上位機能を有効にするとかに有用な機能である。
しかし、何度も購入できる製品の場合、例えばゲームで使う薬草やコイン等の場合は、二度と購入できないのでは困る。そのような場合は、課金タイプに対して、消費APIを呼び出す事により再度購入できるようになる。

Version 2の場合


販売できる製品タイプは以下の通り。
  • 管理タイプ製品(managed)
  • 非管理タイプ製品(unmanaged)
  • 購読タイプ製品(subuscription)

管理タイプ製品


Google Playのユーザーアカウント毎にに一度だけ購入できるタイプの製品である。広告を外すとか、上位機能を有効にするとかの場合に使う製品である。
ユーザーが管理タイプの製品を購入すると、Google Playでは、ユーザー毎に各アイテムの購入情報が永続的に管理される。
もし、ユーザーが一度購入した製品を購入しようとしても、Google Play側で「既に購入済み」のエラーを表示して再購入を予防する。
このタイプは、ユーザーがアプリを再インストールしたり、データを消去したり、別の新しい端末にインストールした時でも、購入情報をリストアできるため、便利である。

非管理タイプ製品


Google Playには、購入情報が保存されないタイプの製品である。つまり、後でGoogle Playに購入情報を問い合わせる事ができない。非管理タイプは、開発者側で購入情報を管理する必要がある。
また、Google Playは、ユーザーが何度も同じ製品を購入することを阻止しない。
非管理タイプは、消費されてしまうアイテム、つまりゲームの薬草や燃料などを売るのに向いていいる。このようなアイテムは、アプリの中で消費され、何度も購入するものだからである。

購読タイプ製品


これは、開発者が指定した間隔で課金される製品である。ユーザーが購読タイプを購入すると、Google Playとその課金システムは、指定された間隔と金額でユーザーに請求する。一度、ユーザーが購入すると、Google Playは、ユーザーの同意や行動がなくても、永続的に課金を続ける。
ユーザーは、いつでも購入をキャンセルする事ができる。
購読は、管理タイプ製品のみ適用できる。一度ユーザーが購入すると、払い戻しの機会はない。払い戻しを求めるユーザーは、開発者に直接連絡しなければならない。

0 件のコメント:

コメントを投稿