各所で勉強会などで発表してきましたが、あまりまとまっていなかったので整理します。
Androidにおけるアプリ開発者が課金する手法は、現在のところこんな感じです。
まず上の図を見てください。大きく2つに別れます。
アプリ本体の代金か、アプリ内Webブラウザでの課金か
2011年2月時点で、アプリ本体に課金するには、左端のAndroidMarketでGoogleCheckout決済が基本となっています。本体代金におけるキャリア決済ですが、まず左から2番目のSoftbankの機種はSoftbankキャリア決済がAndroidMarket上で利用可能になっています。auはau one market(右端のKDDIサーバ)でのみ対応しています。NECなどのサードパーティーマーケットはこの場では省略します。
次にドコモ、au、外部決済業者を使った課金手法ですが、いまのところ*1 AndroidMarketでのアプリの購入に使うことが出来ません。
ではどうするか。ということですが、まず自前のサーバを用意します。いわゆるケータイ公式サイトを構築することを想定してください。若干仕様は違いますが、おおむね一緒です。月末の整合性処理とかもちゃんと実装してくださいね。構築が出来たら、後はアプリと会員情報をやり取りするAPI等を実装し、アプリ→自社サーバ→キャリア決済というような2段階の接続を行います。
つまり、アプリをAndroidMarketなどで無料ダウンロードさせて、その中でブラウザを起動し、会員登録を経て(月額課金の場合)キャリア決済・外部決済を行うようなイメージになります。ちょっと面倒ですね。
ちなみにキャリアでは無い外部決済については、Googleの中の人があんまりおすすめしないといっているので、導入を検討する場合は気をつけましょう。
次回は、今年の夏くらいにどうなっていくか というお話を書く予定です。
※間違いなどありましたらご指摘下さい。
*1: 今日ドコモからAndroidMarketでキャリア決済に対応する旨が発表されていました。