Androidはひとつの端末に複数のアカウントを登録することができますが、アプリ内課金(アイテム課金)に使われるアカウントは端末に最初に登録されたアカウントとなっています。
通称プライマリアカウント。
これについては後から任意に切り替えることができず、Playストアアプリのアカウントを切り替えてもアプリ内課金では最初に登録したものに固定されてしまっています。
変更する方法
それを後から切り替えるには、端末の設定から「アカウント→Google」でそのアカウントを選択し、メニューより「アカウントを削除」を行います。
すると端末からそのアカウントが外れますので、今度は「アカウント追加」からアプリ内課金に使用したいGoogleアカウントを登録すればOK。
このときに、もとから二つ以上登録されていた場合は、残っているGoogleアカウントのどれかがプライマリアカウントになるようです。
要するに挙動として、
「プライマリアカウントが削除された場合、端末に残っているGoogleアカウントのいずれかがプライマリアカウントになる。Googleアカウントが一つも無い場合、最初に登録されたものがプライマリアカウントになる」
という動作みたい。
一応、手元にあった4.1.2と6.0.3の端末で確認して、テストですがアイテム課金までできました。
※注意
Androidの設定に記載されている文言と合わせているために「アカウントの削除」と書いていますが、これは「端末上からこのアカウントを削除」であって、実際に行っていることはログアウトのようなものです。その端末からはメールなどにアクセスできなくなりますが、Googleアカウント自体は削除されたりはしません。
ただし、これは「この操作ではアカウント削除という文言が使われている」のであり、「Googleアカウントそのものを削除することがAndroid端末からのログアウトになる」わけではありませんので注意してください。
Googleアカウントについてはこちらに公式FAQがあります。
このページの「端末から Google アカウントを削除する」にある操作が、今回案内している方法になります。
以前からだった?
プライマリアカウントの切り替えは、ずっと「端末を初期化しないとできない」と思い込んでいたのですが、試してみたらば結構あっさりでした…どこかで仕様が変わっていたのでしょうか。
2.5 アプリ内課金のテスト (ソフトウェア技術ドキュメントを勝手に翻訳) を見ると、
テストアカウントのどれかをデバイスのプライマリアカウントにする。
アプリ内課金の全体を通したテストを行うためには、デバイスのプライマリアカウントが Android マーケットサイトで登録された テストアカウント のどれかにしなければなりません。デバイスのプライマリアカウントがテストアカウントでない場合は、デバイスを工場出荷時にリセットし、テストアカウントのどれかにサインインしなければなりません。工場出荷時にリセットするには以下の手順に従います。(訳者追記:リセットの手順はデバイスにより異なります)
注意: デバイスの主要アカウントを変更する唯一の方法はファクトリーリセットで、必ずはじめてのログオンで主要アカウントにログオンしてください。
と書いてあるのですが、大元のドキュメントのTesting In-app Billingではそういう記述が見当たらないので、どこかで直されていたのかもしれません。
普通に使っている分にはあんまり必要ない情報ですが、何にせよこれでテストが捗るので助かる。
コメント
[…] デバイスのプライマリアカウントがテストアカウントでない場合は、デバイスを工場出荷時にリセットし、テストアカウントのどれかにサインインしなければなりません。 Googleアカウントが一つも無い場合、最初に登録されたものがプライマリアカウントになる」アプリ内課金の全体を通したテストを行うためには、デバイスのプライマリアカウントが Android マーケットサイトで登録された テストアカウント のどれかにしなければなりません。 「プライマリアカウントが削除された場合、端末に残っているGoogleアカウントのいずれかがプライマリアカウントになる。 工場出荷時にリセットするには以下の手順に従います。 [紹介元] [Android] アプリ内課金をするアカウントを切り替える方法 […]
変更する方法をもっと詳しく分かりやすく教えて下さい!
コメントありがとうございます。
方法については書いてあるような感じで、
・端末の設定から「アカウント→Google」でそのアカウントを選択し、メニューより「アカウントを削除」によって現在のプライマリアカウントを削除
・プライマリアカウントとして登録したいGoogleアカウントを登録
となります。
複数のアカウントが登録されていた場合、プライマリアカウントを消したときに他のアカウントがプライマリアカウントになります。
要するに挙動として、プライマリアカウントを削除してしまえば他のアカウントがプライマリアカウントとなるようです。
手順としては他にありませんので、どのあたりが分かりづらいと感じたのかお教えいただけないでしょうか。
アカウント削除してももう一回ログイン出来るんですか?
コメントありがとうございます。
この操作で実際に行われるのは「この端末からアカウントが削除される」だけであり、Googleアカウント自体は削除されません。
つまり行っていることはログアウトです。
Androidの設定での表記として「アカウントを削除」となっているので、記事中ではそのまま記載しています。
ですから(端末上から)削除したアカウントで、もう一度その端末にログインすることも問題なくできます。
丁寧な説明をありがとうございますm(__)m
いえいえ、お役に立てたのなら良かったです。