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

シェアする

ヨメレバCSS

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

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

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

スポンサーリンク
GoogleAdSence レクタングル(大)

変更する方法

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

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

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

要するに挙動として、

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

という動作みたい。

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

以前からだった?

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

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

テストアカウントのどれかをデバイスのプライマリアカウントにする。

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

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

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

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

コメント

  1. […] デバイスのプライマリアカウントがテストアカウントでない場合は、デバイスを工場出荷時にリセットし、テストアカウントのどれかにサインインしなければなりません。 Googleアカウントが一つも無い場合、最初に登録されたものがプライマリアカウントになる」アプリ内課金の全体を通したテストを行うためには、デバイスのプライマリアカウントが Android マーケットサイトで登録された テストアカウント のどれかにしなければなりません。 「プライマリアカウントが削除された場合、端末に残っているGoogleアカウントのいずれかがプライマリアカウントになる。 工場出荷時にリセットするには以下の手順に従います。 [紹介元] [Android] アプリ内課金をするアカウントを切り替える方法 […]