[Android] アプリ内課金をするGooglePlayストアのアカウント(プライマリアカウント)を切り替える方法

Androidはひとつの端末に複数のアカウントを登録することができますが、アプリ内課金(アイテム課金)に使われるアカウントは端末に最初に登録されたアカウントとなっています。

通称プライマリアカウント。

これについては後から任意に切り替えることができず、Playストアアプリのアカウントを切り替えてもアプリ内課金では最初に登録したものに固定されてしまっています。

スポンサーリンク

変更する方法

それを後から切り替えるには、端末の設定から「アカウント→Google」でそのアカウントを選択し、メニューより「アカウントを削除」を行います。

すると端末からそのアカウントが外れますので、今度は「アカウント追加」からアプリ内課金に使用したいGoogleアカウントを登録すればOK。

このときに、もとから二つ以上登録されていた場合は、残っているGoogleアカウントのどれかがプライマリアカウントになるようです。

 要するに挙動として、

「プライマリアカウントが削除された場合、端末に残っているGoogleアカウントのいずれかがプライマリアカウントになる。Googleアカウントが一つも無い場合、最初に登録されたものがプライマリアカウントになる」

という動作みたい。

一応、手元にあった4.1.2と6.0.3の端末で確認して、テストですがアイテム課金までできました。

※注意

 Androidの設定に記載されている文言と合わせているために「アカウントの削除」と書いていますが、これは「端末上からこのアカウントを削除」であって、実際に行っていることはログアウトのようなものです。その端末からはメールなどにアクセスできなくなりますが、Googleアカウント自体は削除されたりはしません。

 ただし、これは「この操作ではアカウント削除という文言が使われている」のであり、「Googleアカウントそのものを削除することがAndroid端末からのログアウトになる」わけではありませんので注意してください。

 Googleアカウントについてはこちらに公式FAQがあります。

Google アカウントの削除

 このページの「端末から Google アカウントを削除する」にある操作が、今回案内している方法になります。

以前からだった?

プライマリアカウントの切り替えは、ずっと「端末を初期化しないとできない」と思い込んでいたのですが、試してみたらば結構あっさりでした…どこかで仕様が変わっていたのでしょうか。

2.5 アプリ内課金のテスト (ソフトウェア技術ドキュメントを勝手に翻訳) を見ると、

テストアカウントのどれかをデバイスのプライマリアカウントにする。
アプリ内課金の全体を通したテストを行うためには、デバイスのプライマリアカウントが Android マーケットサイトで登録された テストアカウント のどれかにしなければなりません。デバイスのプライマリアカウントがテストアカウントでない場合は、デバイスを工場出荷時にリセットし、テストアカウントのどれかにサインインしなければなりません。工場出荷時にリセットするには以下の手順に従います。(訳者追記:リセットの手順はデバイスにより異なります)

注意: デバイスの主要アカウントを変更する唯一の方法はファクトリーリセットで、必ずはじめてのログオンで主要アカウントにログオンしてください。

と書いてあるのですが、大元のドキュメントのTesting In-app Billingではそういう記述が見当たらないので、どこかで直されていたのかもしれません。

普通に使っている分にはあんまり必要ない情報ですが、何にせよこれでテストが捗るので助かる。

スポンサーリンク