先日、既存の有料アプリを無料化→アプリ内課金を追加しよう、という流れで実装をしてみました。
たまたま新しいバージョンのライブラリが出たタイミングだったようで、折角だからこのライブラリを使って実装してみたときのメモです。
In-App Billing version3との遭遇
いつも通りに、「In-App Billingのサンプルが載っているブログ・サイトを探して、それを参考にしながら実装を進めていこう!」 と思っていたところ、IInAppBillingService.aidlを使ったサンプルがさっぱり見つからず、見つかるのはIMarketBillingService.aidlを使うものばかり…。記事がないとか、そんなバカな…とか思っていたら、Android Developer Blogの記事を見つけました。つい最近バージョンアップしてたんですね。
先の記事によると、向上した点はこんな感じのようです。
- 設計を改善して、アプリが完結に書けてデバッグ・メンテナンスしやすくなった。以前だと数100行書かないといけなかったコードが、50行くらいでできるように。
- 堅牢なアーキテクチャにより、決済のロストが少なくなった。
- ローカルへのキャッシュによって、API 呼び出しが高速になった。
- 待望されていた、「一度だけ購入できるアイテム」の購入や、アイテム情報の問合せができるようになった。
SDKのサンプルを試そう
というわけで、SDKのサンプルを見ていくことにしました。まずは、SDK Managerから「Google Play Billing Library」をインストールします。サンプルプロジェクトはSDKをインストールしたディレクトリ内の「extras/google/play_billing/in-app-billing-v03」にあります。Eclipseに取り込んでビルドします。