Posted at

Androidのアプリ内課金をする際にハマったポイント

More than 1 year has passed since last update.


概要

アプリ内課金の実装をするにあたり Google Play Console でデベロッパー登録や apk のアップロードが必要だったりしてそれなりにてこずったので今後のために記録します。


ハマったポイント


  • リリースビルドした apk をアップロードする

  • Google Play Billing Library のインストール

色々と細かいところでハマっていたのですが、大きなポイントは上記2点です。


リリースビルドした apk をアップロードする


署名付き apk の作成

apk を Google Play Console へアップロードするには署名付きの apk を作成する必要があります。apk は Android Studio のメニューから Build > Generate Signed APK... とすれば作成できます。

01.png

02.png

03.png

ここでOKすると一旦2つめの画面に戻ります。Nextを押して次に進みます。

04.png

Signature Version を2箇所チェックします。これで署名付き apk が作成できました。


Google Play Billing Library のインストール

まずは公式ドキュメントをみてみます。


自身のデベロッパー アカウントに表示されているアプリの [In-app Products] のページを開くと、アプリの商品リストにアクセスできます。 Google ペイメントの販売者アカウントがあり、アプリのマニフェストに com.android.vending.BILLING パーミッションが含まれている場合にのみ [In-app Products] ページへのリンクが表示されます。

アプリ内課金の管理 | Android Developers


パーミッションを追加する必要があるようです。



  1. まず Google Play Billing Library を自身の Android プロジェクトにダウンロードします。

    a. [Tools] > [Android] > [SDK Manager] の順に選択します。

    b. [Appearance & Behavior] > [System Settings] > [Android SDK] の中の [SDK Tools] タブをクリックして、[Google Play BillingLibrary] を選択し、ダウンロードします。

AIDL ファイルをプロジェクトに追加する | Android Developers


ドキュメントと同じ手順で確認してみます。

スクリーンショット 2017-11-22 16.10.44.png

見当たりません。com.android.vending.BILLING について調べてみると Google Developers blog にありました。


Play Billing Library は Maven レポジトリで公開されており、アプリの build.gradle ファイルに次の依存関係を追加するだけで、プロジェクトに Play Billing Library を追加できます。

Google Developers Japan: Google Play Billing Library 1.0 をリリース



app/build.gradle

dependencies {

...
compile 'com.android.billingclient:billing:1.0'
}


Play Billing Library 1.0 を追加すると、APK には自動的に com.android.vending.BILLING パーミッションが追加されます。つまり、アプリのモジュールのマニフェストに手動でパーミッションを追加する必要はありません。


ということでした。これで Google Play Console のアプリ内サービスから課金アイテムを登録できるようになりました。


参考