- 更新日: 2019年06月10日
- 公開日: 2019年06月07日
【はじめてのAndroidアプリ開発】Google Play Consoleを使ってサンプルの課金アプリを作る方法
Androidのアプリ開発をはじめようと考えている方、もしくははじめたばかりの方向けにお届けしている 【はじめてのAndroidアプリ開発】 シリーズ。 今回はチョット難しい 『Google Play Console を使ったアプリ内課金』の例をご紹介。
GitHub で公開されているサンプルアプリをベースに、Google Play Console 上で商品登録を行い、実際に Google Play にベータ版として公開するまでを紹介していきます。
アプリ内課金作成の足がかりとなるチュートリアルになると思いますので、ちょっと長いですがお付き合いいただければ幸いです。
【実際に作成した課金アプリ】
Google Play
(テスト用プログラムのため、課金はされません。ユーザー数制限付)
★本稿はこんな方に役立ちます★
- Android アプリ開発初心者
- 参考書を開いて、フリーズした方
- 副業としてアプリ開発を考えてる方
- アプリの収益化を考えてる方
★今回使用する環境等★
- エミュレーター/ 実機を使用
- プログラミング言語/ Java
★今回使用させて頂いたサンプルアプリ★
- TrivialDrive v2(Apache 2.0)
【はじめてのAndroidアプリ開発】Google Play Consoleを使ってサンプルの課金アプリを作る方法
Google Play Consoleを使って課金アプリを作成・公開する様子
サンプルの課金アプリ TrivialDrive_v2 をセットアップする手順を収録。 Google Play Console を使ったことない方も、本動画を参考にすることで抵抗なくアプリを公開したり、課金アイテムをセットできるようになると思います。
課金アプリに関する公式ドキュメントや TrivialDrive_v2 のプログラム、それから本稿と合わせて動画を参考にすると、複雑な設定が伴う課金アプリの開発もイメージしやすくなるでしょう。
今回の課金アプリを作成するために必要な環境
- Android Studio
- Google Play Console($25)
- テスト用実機
今回利用するサンプルアプリ TrivialDrive_v2 には、予め商品がプログラムに設定されています。ただし商品名や値段はプログラムにセットされていませんので、 Google Play Console に商品情報をセットし、その情報とプログラムを紐付ける必要が。
また今回作成するアプリでは、課金システムを動かしますので、端末のアカウント情報が整っている必要があります。そのためエミュレーターではアカウント情報が整っていないと思いますので、実機を使って作成した課金アプリを動かしてみました。
それではサンプルの課金アプリ TrivialDrive_v2 に書かれている手順に従って、アプリと Google Play Console の設定を進めていきたいと思います。
Google Play Consoleアカウント作成
まずチュートリアルによると、 Google Play Console のアカウントが必要とのこと。 Google のプラットフォームを利用してアプリ内課金を実装するためには、 Google Play Console を利用する必要があります。 Google のアカウントがあれば登録は簡単ですが、最初に25ドル必要です。
【Google Play Console アカウント作成手順】
Chrome で Google Play Console にアクセスすると、上図のように残り数ステップの作業で登録を終えることができます。
画面を下にスクロールさせ CONTINUE TO PAYMENT をクリック。
25ドルの支払い方法が求められます。日頃アプリや Playムービー などで支払いを行っていれば、登録したカード情報が表示。 Buy ボタンを押して手続きを進めましょう。
支払いが完了されれば上図のように画面が切り替わり、 Google Play Consoleのダッシュボードにアクセスできるようになります。
Google Play Consoleと開発中アプリのキー認証設定
Google Play Console の準備が整ったら、次は課金機能を使うためにライセンスキーが必要。ライセンスキーは、課金機能だけでなく、不正なアプリの再配布防止などにも役立ちます。アプリをリリースする際に必要な手順となってきますので、一連の流れを把握しておきましょう。
まずライセンスキーを取得するためには、 Google Play Console で新規アプリの作成設定を行う必要があります。 Google Play Console 画面の右上に表示されている CREATE APPLICATIONボタンを押しましょう。
そしてアプリの言語とアプリを管理するためのタイトルを設定。 これで一旦アプリの下書きが作成されますので、ライセンスキーを取得することもできるようになります。
ライセンスキーの取得は、 Google Play Console の左サイドバーにある Services & API を選択。 すると英語と数字で書かれたライセンスキーが表示されます。こちらがこのアプリのライセンス・キーになります。
次は Android Studio にサンプルアプリ Trivial Drive v2 をセットして、先ほどのキーを設定する必要が。
Android Studio を起動し、 サンプルプログラム TrivialDrive_v2 をセットアップ。そしてライセンスキーをセットする場所を確認し、貼付け。
【キーを貼り付ける場所】
ファイル
BillingManager.java
コード
private static final String BASE_64_ENCODED_PUBLIC_KEY = "キー貼り付け場所"
そして App ID を上図のように適当に変更します。これはテスト版であってもアプリを Google Play Console にアップする上では固有の名称である必要があるため。
【APP ID を変更するファイル】
ファイル
Projectレベルの build.gradle
コード
APP_ID = "com.oshimamasara.○○○○"
App ID を変更すると Android Studio 画面右上に Sync Now が表示されると思いますので Sync Now をクリック。 これで Google Play Console と Android Studio のアプリが紐づけられました。
キー認証付きAPKファイルの作成
Android アプリを実機で使用するためには、APK ファイルを作成する必要があります。その APK ファイル、作成時に証明書をセットしておかないといけません。 Android Studioからデジタル署名された APK ファイルを作成する方法をご紹介していきます。
まずデジタル署名に必要なキーファイルの保存先から確認。
今回のようにあらかじめプログラムが作成された中でデジタル署名をセットする時は、保存先がマニュアルに書かれているケースもありますし、今回のように保存先を自分で探さないといけない場合もあります。
どこにキーファイルを保存すればいいか、一番簡単な方法はあえて APK ファイルを作成しようとしてエラーを誘発することです。上記画像のように APK ファイルを作成しようとすると、キーファイルがないとエラーが出ます。そのエラーの中にキーファイルの保存先が記述されていますね。
エラー文
Keystore file /home/oshimamasara/ダウンロード/android-play-billing-master/TrivialDrive_v2/keystore.jks not found for signing config 'release'.
キーファイル保存先
/home/oshimamasara/ダウンロード/android-play-billing-master/TrivialDrive_v2 のディレクト内に
キーファイル名
keynote.jks
キーファイルの保存先が確認できたら、次はキーを作成して、そして同時に APK ファイルを作成するステップを踏んでいきます。
キーの作成は、ツールバーの Build → Generate Signed Bundle/APK... をクリック(上図参照)。
そして次は APK を選択して NEXT ボタン。
次はキー署名付きの APK ファイルを作成するための設定画面。現在はキーがありませんので、Create new... ボタンをクリックしてキーを作成していきます。Create new... を押す前に、上の部分の Module を mobile に合わせておきましょう。
画像クリックで拡大
Create new.. ボタンをクリックすると、新規ファイルの設定画面が開きます。 そして上から順番にセットしていくわけですが、最初の項目 Key store path: 、こちらは先ほどエラーを誘発してキーファイルの保存先を確認したディレクトリをセットする必要が。
ディレクトリを直接入力するか、もしくは入力バー右のフォルダアイコンをクリックして、キーファイルを保存するディレクトリを設定します(上図画像参照)。そしてファイル名は予め定められている keystore.jks をセット。
そして後はキー作成に必要な項目を入力していきます。 Key store path のパスワードや Key のパスワードは、Android Studio でプロジェクトを更新し、再度 APK ファイルを作成する時に必要となってきますので、忘れないパスワードとしておく必要があります。一番下の Country Code は、日本の場合は JP と入力。
これでキー認証付きの APK ファイルを作成する準備ができましたので、 NEXT ボタンをクリックします。
こちらが最後の APK ファイル作成画面で、上図のように各項目をセットし、 Finish ボタン!
Destination Folder: APKファイルの出力先
Build Variants: ビルドモデルの選択
Signature Versions: V1はAndroid7まで、V2はAndroid7以降に対応
APK ファイルの作成に成功すると、 Android Studio 画面右下の方にポップアップが表示され、 locate という文字をクリックすると作成された APK ファイルがあるフォルダに移動します。
release フォルダの中に mobile-release.apk が作成されていることが確認できます。
Google Play ConsoleにAPKファイルをセットアップ
先ほど作成したキー認証付きの APK ファイルを Google Play Console にセットアップしていきます。
今回のサンプルアプリのチュートリアルを確認すると、 APK ファイルは Alpha テスト内にアップしてくださいと書かれてます。
Upload your APK to Google Play for Alpha Testing.
こちらはマニュアルに書かれている通り、何回か試してみましたがうまくいきませんでした。私のやり方が悪いのかもしれませんが、 Alphaテストではなく Beta テストで実行するとサンプルアプリが動きましたので、今回は Betaテストの方に APK ファイルをセットしていきたいと思います。
Alpha版とBeta版の違い
Alpha版 | Beta版 | |
ユーザ管理 | Gmail or Googleグループ | 利用者数で管理 |
自分でも利用可? | 不可 | 可 |
Alpha版と Beta版の違い、いくつかあると思いますが、初期段階において知っておきたいことは上記の二つ。 Alpha版でアプリをリリースした場合、そのリリースされたアプリを利用できるのは、予め登録されたユーザーのみ利用することが可能。一方、Beta版は指定の Google Play URL にアクセスすれば、誰でも開発中のアプリを利用可能。ただし制限数内のユーザに限ったものとなります、例えば 1000ユーザーまでなど。
あともう一つ知っておきたいことに、 Alpha版でリリースした場合、 Google Play Console の Google アカウントで Alpha版アプリをインストールすることはできません。違う Google アカウントを利用して、 Alpha版アプリをインストールする必要があります。
一方 Beta版は、 Google Play Console の Google アカウントでもベータ版アプリをインストール可能。違う Google アカウントを用意しなくてもいいので、簡単に Beta版アプリをインストールして実機で試すことができます。
以上の点から、今回のサンプルアプリでは Alpha版を使ってくださいとテキストに書かれていましたが、 Beta版で試す方が使いやすいので、 Beta版を利用することにしました。
Beta版の MANAGE ボタンをクリックし、 CREATE RELEASE ボタンをクリック。
そして Android App Bundles and APKs to add の項目内に APK ファイルをアップロードします。
アップロードに成功すれば、画面上部に Upload Success と表示され APK ファイルに関する情報が表示されます。
ページを下にスクロールしていき、 What's new の <ja-JP> タグ内にリリース文を記述。そして SAVEボタンを押します。
すると Google Play Console 左サイドバーに緑色のチェックマークが入りました。あと下の方に 3つチェックマークがあり、 Beta版でリリースするにはこちらの項目を埋めていく必要があります。
Google Play Consoleでアプリ公開に必要な設定
- App releases
- Store Listing
- Content rating
- Pricing & distribution
App Release については、先ほどの APK ファイルのアップロードで完了していると思います。Store Listingについては、 Google Play のページで表示されるアプリの紹介文や画像の設定。 Content ratingは、アプリの対象年齢やアプリ内コンテンツに関する情報チェックなど。 Pricing & distributionは、有料アプリが無料アプリかという選択と年齢や広告に関する情報を入力します。
【Store Listing】
基本的に *マークがついた項目を入力し、画像については指定サイズの画像をアップロードすれば OK。
(( サンプル画像 ))
512サイズ画像、 1024サイズ画像、 スクリーンショット①、 スクリーンショット②
【Content rating】
アプリの責任者メールアドレスを入力し、アプリ内コンテンツに暴力的な内容、セクハラ的な内容がないかチェックしていきます。
【Pricing & distribution】
有料アプリか無料アプリか、それからアプリの公開国についてなどを入力。基本的に * マークのところを埋めていきます。
Google Play Consoleに課金アイテムを登録
サンプルプログラムのチュートリアルにもあるように、以下の課金アイテムを Google Play Console にセットする必要があります。
- gas
- premium
- gold_monthly
- gold_yearly
まずこれらの gas や premium といった名称ですが、これはサンプルプログラムの中に書き込まれている決まったキーワード(ID)になります。 以下のように BillingConstants.java に設定されていますね。
画像クリックで拡大
課金アイテムの Google Play Console へのセットアップ方法は以下の手順となります。
Google Play Console 左サイドバーの In-app productsをクリックし、 Managed products をクリック。 Managed products では、 gas や premium といった単品アイテムを登録することができます。
一番最初の Product ID の項目は、 Android Studio 内に書かれている gas のキーワードと同じ文字を入力する必要があります。 あとは商品に関する情報や金額を設定し保存します。これらの商品情報は後から編集することが可能。ちなみに Android のプラットフォームを利用して販売することができる金額の幅は、 99円から48,000円までです(税別)。
定期購読商品の gold_monthly や gold_yearly は、 In-app products 内の Subscriptions を選択。設定自体は先ほどの gas と同じですが、こちらの場合は利用期間やお試し期間などを設定することが可能。
【商品登録結果】
Beta版の公開
アプリの情報を入力し、アプリ内課金の商品登録も完了したら後は Beta版としてリリースするのみ。 Google Play Console の左サイドバー App releases を選択し、 Beta版の MANAGE をクリック。
こちらでは Beta版リリースにあたってのテスター制限やフィードバック先の設定を行います。ちなみにテスター数は、1000以上になります。ちょっと多いですね。
テスターの設定が完了したら、 EDIT RELEASE ボタンをクリック。
そして移動先画面を最下部までスクロールダウンして、 SAVE。そして REVIEW ボタンをクリック。
すると Beta版の公開準備が整った旨の表示が。画面をスクロールダウンして、 START ROLLOUT TO BETA ボタンをクリック。
CONFIRM!
すると上図のような画面が表示。 今登録した Beta版のアプリが公開されてるかということについては、 All applications をクリックし、トップ画面に戻り確認します。
すると今セットアップした Beta版アプリが公開準備中であることが確認できますね。実際に Google Play に公開されるまでには1時間から2時間かかって、公開が完了すると以下のような URL が割り当てられます。
Google Play のページを開くと、設定した Beta版アプリの内容を確認することができます。またインストールボタンを押すと、実機に Beta版アプリをインストールできるでしょう。 そして今回 Google Play Console で設定した課金アイテムの内容や動作確認を自分のスマホでチェック可能。
Gas を満タン以上で購入した場合や Gasを消費した時のリアクション、定期購読商品購入後もうひとつの定期購読商品を選択した場合の変更内容のステップなど参考になる点が多々あると思います。
今回はサンプルプログラムを利用しているので実際に課金されることはありませんが、いくつかのプログラムを編集し実際に課金できるようになると、商品やアイテムの販売だけでなくアプリ内で寄付を募ったり実用的なことに活かせていくことができるでしょう。
\Webサイト担当者としてのスキルが身に付く!!/
まとめ
Android のアプリ内課金、最初は理解するのが大変ですが、時間をかけて少しずつ解きほぐしていくと、だんだん課金アプリのイメージができてくると思います。
今後中央アジア圏やアフリカ圏などで益々広がるであろう Android市場。 アプリ内課金 という強力なビジネスツールを身につけて攻略していきたいですね。
「なんとかサンプルは動かせるけれどもプロジェクトの内容がさっぱり分からない」「Javaの class と Javaファイルってナニが違うの?」という方、 Android のアプリ開発と並行して Java の基礎を学習してみるというのはいかがでしょうか?
基礎学習は少し退屈に思うかもしれませんが、基礎を習得すれば確実にコードの可読力とプロジェクトの応用力、そしてアプリ開発のモチベーションが上がると思います。ただ一人で参考書を見ながら基礎学習というと、眠くなったり挫折してしまったりする方もいらっしゃるのでは。
そんな時は「オンライン × マンツーマン」で定評のある CodeCamp に頼ってみませんか。 CodeCampでは、無料体験や無料相談も行なっていますので、ご興味ある方は公式ページより参考にしてみてください。
長文にわたる本稿を最後までお付き合いくださり、ありがとうございました。
- この記事を書いた人
- オシママサラ