アプリ内で課金できるAPIがin-app Billing。で、そのAPIはどーやって使えばいいんだと調べてたら、TrivialDriveなるサンプルが入ってました。が、インストールの仕方が解らなかったので、記事にしてみます。この記事は、In-app billing Version 3を対象としてます。


サンプルのアプリをGoogle Playで作成しとく

In-APP課金は、Google Playとの連携が必要で、Goole Playに登録してあるアプリでないと使えません。で、Google PlayでこのInAppのサンプルを動かすためだけのアプリを作成しておきます。

Public Keyの取得

デベロッパー単位じゃなくて、アプリ単位でpublic keyが割り振られるみたいです。Google Play Developersで作成したアプリを選択して、メニューの「サービス&APIs」を選択。「In-APPライセンス」とかで表示されてる値がPublic Keyです。後で、コード内に書いてやる必要があります。



Google Play Billing Libraryを入手

Clipboard02

Android SDKマネージャーからGoogle Play Billing Libraryを入手します。


サンプルプロジェクトをインポート

ライブラリーをインストールすると、下記の場所にサンプルも追加されます。

[SDKフォルダー]/extras/google/play_billing/samples/TrivalDrive

Eclipseでインポートします。



プロジェクト名を変更する

意味が解らなかったのがここです。サンプルファイルをインポートしたまんまだとパッケージ名は、
com.example.android.trivialdrivesample
こんな感じになってます。で、com.exampleの部分を他の何かに変えてやる必要があります。このパッケージ名は何でもいいです。このサンプルのアプリをベースに、アプリを開発するなら何か適切な名前が必要ですが、単純にテストするだけなら、何でもいいみたい。ただ、Google PlayにAPKをアップロードする必要があるので、パッケージ名はユニークでないといけません。まぁ、APKをアップロードして、既に同一のパッケージ名がある場合は、エラーがでるので、そのとき変えればいいのかと。ちなみに、com.billingtestは、通りませんでした。

1. AndroidManifest.xmlのpackage=""の部分を変える。
2. src内のフォルダー名にもエラーがでるので、1で指定したパッケージ名に変えてやる。

パッケージ名の変更なんですけど、com.example.android.trivialdrivesampleとなっているのを、net.billing.test.android.trivialdrivesampleとかに変えてやればいいのかと・・・。



Public Keyを書く

MainActivity.javaの138行目あたりにある
        String base64EncodedPublicKey = "CONSTRUCT_YOUR_KEY_AND_PLACE_IT_HERE";
CONSTRUCT_YOUR_KEY_AND_PLACE_IT_HEREの部分に、前に入手したpublic keyを書きます。


APKを作成する

プロジェクト名の上で右クリックして「Androidツール」から「署名アプリケーションパッケージのエクスポート」を選んでAPKを作成します。詳しくは、調べてください!


APKをGoogle Playにアップロード

先に作成したPlay Billingのテスト用の新しいアプリにAPKをアップロードします。