Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編
公開日:
:
最終更新日:2013/11/29
Android, 開発 Android, In-app Billing Version 3
Androidで課金アプリ作製 サンプルコード起動編
課金アプリの制作の機会が来てしまいました。
ネットでの情報は断片的な情報しか載ってないので、そのあたりのネタ+α情報です。
シリーズ
・Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編
・Androidで課金アプリ作製 プロセス間通信予習編
・Androidで課金アプリ作製 定期購読サンプルコード編
開発、動作環境
Eclipse Juno Service Release 2
Android 4.1.2 SC-06D
sample code TRIVIAL DRIVE – SAMPLE FOR IN-APP BILLING VERSION 3
In-app Billing Version 3
OS Windows7
予備知識
・Google Play In-app Billing
英語は正直さっぱりです。チンパンジー以下の英語能力です。
・Android デベロッパーヘルプ
ヘルプのアプリケーションの販売に目を通しておいも良いかもしれません。
前提知識
・android 開発環境
・Google Developers登録
おそらくこのブログに辿り着いた時点で開発環境は整ってると思います。
・Google Wallet Merchant Center
販売者用のアカウント開設が必要となります。時間を見つけてこの辺りも書きたいと思います。
注意事項
コンソールのUIに変更があったり、サンプルコードの変更があった場合は適宜読み替える必要があります。
登録やテスト等は自己責任でお願いします。
Google Play Developer Console
・アカウントの詳細編集
既に「ライセンス テスト」の項目にGoogleアカウントの登録があるのなら良いのですが、無しなら登録します。登録しないと動きません。動かせませんでした。
「お客様はこの購入を行えません。」と実機でデバッグの際にエラーが出ます。
・playに新しいアプリ「TrivialDraive」として登録
apkは無いので掲載情報を準備を選択し、サービスとAPIに移動します。
するとライセンスとアプリ内課金の所にキーが生成されてます。
※グレーの部分にキーが表示されます。これをメモしておきます。
In-app Billing Version 3
自分のAndroid開発経験は今年からなのでVersion3から使用します。
それ以前のVersionに関しては知りません。
・ソースコードのダウンロード
Android SDK Manager → Extras → Google Play Billing Libraryをインストールします。
画像参照
・プロジェクトへの追加
インストール時にインストール先を変更していない場合は以下にダウンロードしたサンプルコードがあります。
これをEclipseにインポートします。
ファイル → インポート → 選択(Android:Existing Android Code Into WorkSpace) → Import Project(Root Directory:サンプルコード置き場) → 完了
※デフォルトのプロジェクト名は「MainActivity」です。
※デフォルトのパッケージ名は「com.example.android.trivialdrive.*」
変更しないとplayに登録する際にエラーで弾かれます。
自分はさっぱりでしたが、READMEファイルは読んだ方が良いです。ヒントが書かれてます。
・販売するアイテム名の変更
MainActivity.java内の
line:97 static final String SKU_PREMIUM = "item002"; ← 名前変更 line:98 static final String SKU_GAS = "item001"; ← 名前変更
playに登録する際に文字列のみだと登録できないので名前変更してます。英数字で好きな名前でOKです。
・キーの変更
MainActivity.java内の
line:138 String base64EncodedPublicKey = "CONSTRUCT_YOUR_KEY_AND_PLACE_IT_HERE";
先程生成したキーに書き換えます。書き換えないと
とエラーが出て困ります。困りました。READMEファイルに書き換えろと書いてました。
・Manifest.xmlをの一部を書き換えます
android:name=”com.name.android.trivialdrive.MainActivity” ← 名前変更
com.example.*ではプレイストアに登録できません。com.example以外なら取り敢えずなんでもOKです。多分。
エラーになるのでパッケージ名も変更します。パッケージ名の所で「F2」で変更できます。
変更が完了したら前の画像のフォルダー構成になります。
・サンプルコードのログ出力を有効にする
util.IabHelper.javaの
line:74 boolean mDebugLog = true; ← ログ出力
次にapkファイルとして書き出します。
書き出し方はこの辺りを参考にEclipseからapkファイル作成
販売アイテムの登録
GooglePlayのコンソールに戻り書きだしたapkをアップロードします。
α版、β版、製品版とありますが、自分は製品版にしておきました。
アップロードが完了したら、アプリ内アイテムの項目に「+新しいサービスを追加」の項目が出現するので選択
・販売するアイテムを登録します
サービスIDを「item001」と「item002」で「管理対象の商品」で登録しました。
詳細内容は適当に書いてます。
ステータスに関してはどちらでも良いと思いますが、「有効」にしておきました。
これで下準備が整いました。
実機でデバッグ
おそらく必要な手順は済んだので動かせるはずです。
作製したapkを実機に流し込みます。
apkから流し込まないと署名の関係で
「このバージョンのアプリには、google playを通じたお支払いはご利用になれません。」と言うエラーが出ます。出ました。困りました。
「BUY GAS」を選択すると支払い画面が出てきます。
後は購入が出来ればサンプルコードの動作は成功となります。
支払い完了のメールも飛んできます。
お疲れ様でした。
次回
関連記事
-
Google Cloud Messaging プロジェクトナンバー API Key取得編 2014/07最新版
Google Cloud Messaging プロジェクトナンバー APK取得編 コンソールの仕様
-
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン
水平スクロール&cssでカスタム可能なスクロールバーなプラグイン jQueryを使ったプラグインは
-
PHPでIE11ユーザーエージェント判定
IE11のユーザーエージェント判定 自作のユーザーエージェント判定クラスでIEの判定が出来てなかっ
-
jQuery Googleカレンダー風スケジュール表 タイムテーブル
jQueryでスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発
-
PHP MySQL 重複行を抽出 ロジックで高速化
PHP MySQL 重複行を抽出 ロジックで高速化 ロジックで高速化は釣りになっているかもしれませ
-
PHPで指定日の祝日を取得する方法 GoogleAPI利用
google APIを利用して指定日が祝日かどうか取得する 技術的な内容を書く場合は載せてるコード
-
Apache 500 Internal Server Error
久しぶりに自宅のローカルサーバーを動かしたら「Server error!」が出てゑっ!? 解決方法
-
Androidで課金アプリ作製 プロセス間通信予習編
Androidで課金アプリ作製 プロセス間通予習編 課金アプリを作成の際にaidlファイルを利用す
-
Macで ローカルサーバー構築 ローカルネットワーク参加編
Macで ローカルサーバー環境を構築するまで Apache設定編 ネットでの情報は必要最低限しか載
-
Macで ローカルサーバー構築 Postfix基本編
Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載