こんにちは、natsukazeです。
この記事はAndroidアプリ開発において、課金のテストをする方や、現在テスト中でなかなかうまくいかない方向けに書いています。
Androidアプリの課金テストって結構つまずくこと多いんですよね。
「Androidアプリの課金テストでエラーが取れない」
「手順どおりやってるはずなのにテストできない」
こんなことを感じている方も多いのではないでしょうか。
今回はAndoridアプリの課金のテストを一から順を追って説明したいと思います。
合わせてよくテストでよくつまずくポイントもまとめました。
是非参考にして見て、テストを進めてください。
Androidアプリで課金テストの流れ
アプリ内課金のテストの流れですが下記のようになります。
- 登録用APKファイル作成
- GooglePlayConsoleでアプリの登録
- 課金アイテム登録
- テスト用APKファイルを作成し、アップロード
- テスターの登録
- テスト版公開
- テスト実施
これだけだとわからないので、それぞれ詳細な手順を見ていきましょう。
登録用APKファイル作成
アプリのAPKファイルを作成します。
ここで作成するAPKはテストに使用するものではないので、課金機能も実装していなくても問題はありません。
先にAPKファイルを準備する理由は、APKファイルをGooglePlayConsoleにアップしないと課金アイテムの登録ができないためです。
いわば登録用のAPKファイルなので機能も実装していなくても問題ありませんが、パッケージ名だけは最初に登録されたものから変更できませんので、その点は注意してください。
GooglePlayConsoleでアプリの登録
GooglePlayConsole上でアプリの登録作業を行います。
ここでは登録作業の説明になりますので、既に終わっている方は飛ばしていただいて結構です。
トップからアプリの作成を選びます。
アプリ名等を記入しアプリを作成します。
作成したアプリを一覧から選び、詳細画面を開きます。
テストするためにはアプリを公開する必要がありますが、そのためには左側のメニューで注意マークがついている箇所を全て埋めなければいけません。
まずはAPKファイルの登録から行いましょう。
メニュー内の一番上の「アプリのリリース」を選びます。
ここでは、ベータ版、アルファ版のどちらかを選んでください。
今回はベータ版を選択しました。
選択後、リリースの作成を選択します。
このあと管理画面に映ります。
この画面でAPKをアップすることになりますが、まず「Google Play App Signing」を選ばなければなりません。
「Google Play App Signing」とは、ストア配信時のアプリの署名をGoogleで行ってくれる設定です。
これの何が嬉しいのかというと、以前まではAPK作成時の署名に使用したキーを紛失した場合、アプリを再登録する以外に方法がありませんでしたが、Google Play App Signingを利用すれば、キーを紛失した場合でもキーの再作成ができます。
とりあえず説明が意味不明な方は「次へ」を押して有効にしておけば大丈夫です。
鍵の管理の話なので、アプリの内容やストアの表示が変わるわけではありません。
APKファイルをアップして、「保存」、「確認」して完了です。
次は「ストアの掲載情報」を設定しましょう。
ストアの掲載情報は、必須マークがついている箇所を全て埋めます。
テストするだけなので、仮の値でも問題ありません。
必要な項目は下記の通りです。
- タイトル
- 簡単な説明
- 詳しい説明
- スクリーンショット2枚
- 高解像度アイコン
- ヘッダー画像
- アプリのタイプ
- カテゴリ
- コンテンツのレーティング
- メール
- プライバシポリシー
コンテンツのレーティングは別で設定するので、ここでは設定は不要です。
プライバシーポリシーは一旦「今回はプライバシー ポリシーの URL を送信しない。」にチェックで問題ないでしょう。
もしユーザーのデータを扱うなどの場合は、実際のストアへの公開前にプライバシーポリシーのURLを記載してください。
全て設定したら「未公開版を保存」ボタンを押しましょう。
次は「コンテンツのレーティング」です。
まず次へを押して、メールアドレスを設定します。
その後、一覧からジャンルを選択してアンケートに回答を行なっていきます。
課金アイテムがあるので、「ユーザーはゲームを通じてデジタル商品を購入できますか?」については「はい」を選択しましょう。
その他の項目はゲームに合わせて適切な方を選択してください。
アンケート完了後は、「アンケートを保存」ボタンを押して「レーティングを算定」ボタンを押します。
その後、レーティングが自動できまりますので、「レーティングを適用」ボタンを押して完了です。
次は「価格と販売/配布地域」を設定しましょう。
下記項目の設定が必要です。
- アプリの価格の設定
- 国
- 主な対象が子供かどうかの確認
- 広告を含む
- コンテンツ ガイドライン
- 米国輸出法
国はすべて「使用可能」で問題ないと思います。
アラートが出ますが、一旦そのままいきましょう。
その他はアプリに合わせて設定を行います。
全て終わったら、「未公開版を保存」ボタンを押して保存します。
ここまで手順通りやれば、やっと公開できる状態となります。
左のメニューも注意マークが全て消えていますね。
課金アイテム登録
ここから課金テストに関わる項目を設定していきます。
メニュー内のアプリ内サービスを選択します。
この画面で課金アイテムの管理を行います。
なお、消費アイテム(魔法石の購入など何度でも購入できるタイプ)と、非消費アイテム(広告削除など一度だけ購入するタイプ)どちらも管理対象のアイテムの枠で設定をします。
右上の「管理対象アイテムを作成」ボタンを押しましょう。
すると、アイテムの詳細情報を入力する画面に移動します。
設定が必要な項目は下記の通りです。
- アイテムID
- タイトル
- 説明
- ステータス
- 価格
アイテムIDは同一アプリ内で重複しないようにつける必要があります。
他の項目は後から変更できますが、アイテムIDだけは最初に設定したものから変更できませんので、注意してください。
タイトルは購入画面のこの部分に表示される文字になります。
説明は、私の見た限りでは表示される箇所は見当たりませんでした。
ステータスは「有効」にしておきましょう。
価格は自由に設定できますが、おそらくiOSアプリと同一の価格を設定すると思います。
iOSアプリでは価格はTierと呼ばれる価格テーブルから設定する形になりますので、そちらに合わせて設定をしておいた方が良いでしょう。
全て完了したら「保存」ボタンをして完了です。
正常に登録できれば一覧にこのように表示されます。
これで課金アイテムの登録は完了です。
テスト用APKファイルを作成し、アップロード
課金アイテム設定が終わったので、IDとライセンスキーをソースに加え、APKファイルを作成します。
ライセンスキーはメニューの「サービスとAPI」の画面から確認できる下記の部分です。
それらをソースに反映し、APKファイルを作成します。
ここで作成するAPKファイルはテストに使用しますので、課金機能も実装しましょう。
テスターの登録
テスターを登録します。
登録前に気をつける点として、テスト用のアカウントと開発者用のアカウントは別である必要があるということです。
もし開発者用アカウントしかない場合は、テスト用に別でアカウントを準備する必要がありますので、ご注意ください。
テスターの登録はメニュー内の「アプリのリリース」の「ベータ版を管理」のリンクから設定できます。
(アルファ版で作成した場合は、「アルファ版を管理」になります。)
次の画面で実際に登録を行います。
「テスト方法の選択」は「クローズドベータ版テスト」にしましょう。
今回は自分の端末でテストをする想定ですので、特定のユーザのみテストに参加できるようにしておきます。
その後「リストを作成」からテスターのアカウントを登録します。
一覧に表示されるのでチェックします。
「保存」ボタンを押して完了です。
これでテスターの登録が完了したように見えますが、実はもう一つ操作が必要です。
このままだと、登録されたテスターはアプリが使用できますが、課金の際は実際にお金の流れが発生してしまいます。
テストなので、その点を対応しないといけません。
GooglePlayConsoleのトップのメニューから「設定」ボタンを押します。
下の方にある「ライセンステスト」の項目で、「テスト用のアクセス権があるGmailアカウント」にテスト用のアカウントを追加します。
これでテストでもお金は発生しません。
テスト版公開
ここまで来てやっとアプリの公開です。
メニュー内の「アプリのリリース」からベータ版の「リリースの編集」ボタンをして管理画面を表示します。
下の確認ボタンを押したのち、「ベータ版として公開を開始」ボタンでようやく公開が完了です。
テスト実施
実際に公開されるまで少し時間がかかりますが、公開されるとオプトインURLというものが作成されます。
そのURLにアクセスすることで、テスターは対象のアプリの入手ができます。
オプトインURLの確認方法は下記の通りです。
なお、アプリを公開するとメニューの表示も少し変わります。
「リリース管理」から「アプリのリリース」を選びます。
「ベータ版の管理」を選びます。
ここが少しわかりにくいですが、「テスターの管理」欄の一番右の▼からメニューを開き、その中の「オプトインURL」を確認します。
ここで確認したオプトインURLにテスト端末からアクセスします。
テスト実施
テスト端末からオプトインURLにアクセスするとこのような画面が開きます。
この画面の「テスターになる」ボタンを押せば、アプリのダウンロードが可能となります。
以降はストアから入手しなくても、開発機から実機に転送することでテストが可能になりますが、初回だけはストアから入手してテストされることをお勧めします。
原因は不明ですが、テスターの登録だけ行い、その後開発機から転送してもできないことがありましたので、初回はストアから入手して課金ができるか確認しましょう。
このような画面が出ればOKです。
課金する際に注意が必要なのが、「これはテスト用の注文です。課金は発生しません。」と表示されているかどうかです。
この表示がない場合は、実際にお金が発生してしまうので、テスター登録のライセンステストへの登録が抜けていないかチェックしましょう。
エラーの原因として多い箇所
何かしらのエラーで課金テストできないときは下記の点をチェックして生きましょう。
対象のアイテムのステータスが有効か確認
課金アイテムの管理画面で、アイテムのステータスが「有効」となっているか確認しましょう。
テストアカウントは、開発者用アカウントとは別のものか確認
テストに使用するアカウントは、GooglePlayConsoleにログインする開発者用アカウントとは別のもの使用する必要があります。
厳密には、テスト端末に最初に登録されたアカウント(プライマリアカウント)となります。
もしプライマリアカウントが開発者用アカウントである場合は、端末の設定でアカウントを削除後に、テストアカウントを追加するという手順が必要です。
テストアカウントがテスター登録されているか確認
テスターが正常に登録されているか確認しましょう。
テスト手順の中のテスターの登録を確認してみてください。
それでもダメなら少し待ちましょう
アプリ登録後、反映に少し時間がかかる場合があります。
全て設定後にエラーが出る場合は、少し時間を置いてから試してみましょう。
開発機から直接端末にインストールしている場合は、一度ストアからダウンロードしてインストールするとうまくいく場合もあります。
まとめ
Androidアプリの課金テストはiOSに比べ比較的つまずくポイントが多いので、今回詳細に手順をまとめました。
何かしらエラーが出た人は、まず手順の見直し、その後、エラー原因の多い箇所をチェックしてみてください。
課金機能を盛り込めば収益アップも期待できるので、是非これから開発される人は実装を頑張ってください。