Android/アプリ内課金
提供: 初心者エンジニアの簡易メモ
目次
Google Play Billing Libraryのインストール
- Android SDK Managerを開く
- Extras/Google Play Billing Libraryをinstallする
サンプルプロジェクトをコピーして開く
- SDKの下にサンプルプロジェクトがDLされているので開く(~/extras/google/play_billing/samples/TrivialDrive
ライセンスキー公開鍵確認
- Android Developer Consoleサイトを開く(https://play.google.com/apps/publish
- 上記サンプルプロジェクトのパッケージ名を(com.exampleから)適宜変更してのapkを作成
- Consoleサイトでアプリを作成してapkをアップロード
- 指定アプリのサービスとAPIの項目にRSA公開鍵が表示されているので確認。
アプリ内課金に必要なもの
- AndroidManifest.xml (これがないとconsoleからアプリ内アイテムを追加できない。
<!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. --> <uses-permission android:name="com.android.vending.BILLING" />
サンプルアプリを動かす
- MainActivity.javaを修正
// 以下公開鍵を書き換える String base64EncodedPublicKey = "CONSTRUCT_YOUR_KEY_AND_PLACE_IT_HERE";
- 画面が出てくれば成功
アプリ内アイテムにアイテム追加
- Consoleサイトのアプリ内アイテムを選択
- 管理対象の商品を選択
- サービスIDは"test_product"などと入力
- 価格は最低が¥99なのでそのように入力
- 状態を有効に変更。(アプリが非公開であれば、公開はされない)
- アプリ側MainActivity.javaのSUK_GASに上で指定したサービスIDを設定
static final String SKU_GAS = "test_product";
テスト用アカウント設定
テストなので課金は発生しない。
- Consoleの設定/アカウント
- テスト用Googleアカウントを登録する(開発アカウント以外で登録しないと購入できない)
- クレジットカードかキャリア決済かを選択。(一度入力すると次回からはクレジットは入力しなくてもOK
- 購入完了画面へ
- カード情報はhttps://wallet.google.com/manage から削除できる
課金タイプ
- プレミアム課金(SKU_PREMIUM)・・・一度購入すると次回から購入できない
- 都度課金(SKU_GAS)・・・一度購入しても再度購入可能
エラー対策「出版社はこのアイテムを購入できません」
- 開発者アカウントで購入しようとするとこのエラーが出る
- Playアプリのメニューからアカウントの変更を行う。
エラー対策「このバージョンのアプリは、google playを通じたお支払いはご利用になれません。詳しくはヘルプセンターをご覧ください。」
- debug版でなくrelease版で実行するとなおる。
エラー対策「お客様はこの購入を行えません。」
- 上にあるテスト用アカウント設定を追加する