1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【GooglePlay / Unity】課金をローカライズテストする

Posted at

はじめに

はじめまして。
私はHappyGrace Studioというゲームスタジオで開発・運営をしている人です。
主にスマートフォン向けのゲームを制作しており、現在GooglePlayとAppStoreで配信されています。

今回は当スタジオで運営中の「がらくたフリーマーケット」というゲームをローカライズした際、GooglePlayでの海外テストについて意外と複雑で難しい問題があったので記事にさせていただきました。

この記事がオススメの人

  • GooglePlay向けのアプリ・ゲームを開発している
  • Unityで制作をしている
  • 海外展開・ローカライズをしようと思っている
  • 課金システムを海外対応させたい

これらに当てはまる方にはぜひオススメさせていただきたい記事です。
内容の大枠はGooglePlayでの設定周りのことになるので、ゲーム以外のアプリの方にもご参考になるかと思います。
ただ、課金システムについては私はUnityの IAP (In App Purchasing) パッケージを利用して実装していますので、それ前提のお話になっておりますことをご了承ください。

結論

早速ですが必要なやることを結論からお話しちゃいます。

  • VPNサービスの登録
  • 海外用Googleアカウントの発行
  • クレジットカード登録
  • Android実機(OSは古くてもOK)
  • GooglePlayの内部テストまであげられる環境

全部やり切ってからまとめておりますが、最低限これらは必須です。
Android端末は、私は場合OSバージョン10(API Level 29)のテスト機でできているので、ある程度は古くても問題ないと思います。

ローカライズ課金テストの準備と実践

ここからは具体的に何をしていくのか順を追って書いていきます。

1. GooglePlayConsoleの内部テストにアプリをアップロード

もう既にストア公開されている方は慣れた作業かと思います。
重要な点としては、 内部テストまで で十分です。今回の目標の検証にはクローズドテスト以降は上げなくてもOKです。
アップロード作業については今回の大筋から外れるので割愛させていただきますね。

2. 海外用Googleアカウントの発行

ここからローカライズ課金のための対象国Googleアカウントを作っていきます。
ここから非常に重要かつややこしい作業です。

発行作業

Appleでは海外アカウントは比較的簡単に作れるのですが、Googleではちょっとややこしいです。
Google公式より国の変更方法が以下のページに書かれていますので、この方法で進めていきます。

ここで重要なポイント

新しい国または地域を設定するには、その国または地域に居住し、新しい国または地域で利用できるお支払い方法をお持ちである必要があります。

これはつまり、プルダウンなどで簡単に変えられるというものではなく、設定する端末を持ってその変更したい国や地域に居住していてください、ということです。
ですが要は 端末が変更したい国からアクセスされていれば良い ということです。
ここでVPNを使う必要があります。
VPNでIP偽装をして設定したい国からアクセス、その状態で支払い情報(クレジットカード)を登録すると対象の国のGooglePlayへアクセスできるようになります。
そこまでを以下の手順で進めます。

  1. Googleアカウントを作成する(これは普通に作ってOK)

  2. VPNを使って対象国からアクセスする

  3. Android端末からGooglePlayに1で作成したアカウントでログインする

  4. ログインしたアカウントでGooglePlay上から [設定] → [全般] → [アカウント設定] → [国とプロファイル] に移動する

  5. 国とプロファイル 欄で 対象国のPlayストアに切り替える と表示されている
    (ここで日本などと出ていた場合、VPNが正常に繋がっていない可能性があります)
    Screenshot_20251226_102147_com.android.vending.jpg

  6. 任意のクレジットカードを登録する

  7. 国とプロファイル 欄で変更したい国で登録されていることを確認する
    Screenshot_20251226_131029_com.android.vending.jpg

ここまで問題なくできればGoogleアカウントを正常に国変更できています。

※ ちなみにVPNさえ繋がっていればPlayストアの国が切り替わる、VPNへ接続した状態でアカウントを作ればOK、という情報もありますが私の場合(2025年12月時点)ではそれらの方法ではうまく切り替わりませんでした。

3. Playストアからアプリをダウンロード

次に作成したアカウントでPlayストアにアクセスしてアプリをダウンロードするわけですが
その前にもう一つ大事なこと。
端末にログインしている他のGoogleアカウントは一時的にログアウト・削除してください。

というのも、例えば日本円で決済テストした端末などがあると、アプリ決済の利用アカウントがうまく切り替わらないことがあるためです。
これの内部的な仕様はよくわかりませんが、GooglePlayBillingLibraryがアプリに対して決済済みアカウントを優先して使うようなロジックになっているのだと思われます。

では、海外用に作ったアカウント以外を端末から除去した状態で、さらに念の為VPNに繋げておいてPlayストアからテストアプリをインストールします。
これでほぼ確実に海外ストア状態からダウンロードができるようになっている状況が再現されていると思います。

4. 課金テスト

ここまで来れば、あとはアプリ内の課金ページに移動すれば海外通貨での決済処理が行えるようになるはずです。
2で作成したアカウントは国変更もできているので、その国に適した通貨で表示され決済に進むことができます。

補足

もし表示だけ日本円・決済画面では検証したい通貨、みたいなことになっている場合は
金額の表示に使っているデータがストア経由のものでない可能性もあるので、一度ご確認いただくことを推奨します。
例えばUnityIAPですと以下のようなデータを使いますが、これが独自実装になってたなんていうケースもよくあります。

Product.metadata.localizedPriceString

トラブルシューティング & QA

  • 内部テストアプリの課金情報にアクセスしても日本語のまま...
    • → 端末内のアカウントに他国アカウント以外が残ってる可能性が高い。Playストアのログアウトだけでなく、端末設定から一旦消しておくのが安全。
  • クレジットカードは国内発行のものでもいいの?
    • → 筆者の環境では国内発行カードで問題なくできました。
  • アプリはクローズド・オープンまであげる必要はある?
    • → 内部テストまでで大丈夫です。
  • 書いてること全部やったけど変わらない...
    • → PlayストアやBillingLibrary等のキャッシュが効いている可能性もあります。Playストアのキャッシュを端末設定から削除して試す。それでも直らない場合は数時間待って再検証してみてください。
  • オススメVPNは?
    • → あんまりVPN詳しくないのでオススメはわかないです。筆者はExpressVPN使いました。
  • 課金テストは毎回VPN繋ぐ必要ある?
    • → 一度決済テストしてしまえば、あと同じアプリで検証する分には以降は不要かと思います。どうやら決済通貨はそのアカウントのお支払いプロファイルを見ているようなので、アカウントさえちゃんとメンテしていれば大丈夫かなと思っています。

最後に

GooglePlayストアでの海外通貨課金検証は思ったより大変でした。
やり終わってみれば、記事中に載せたGoogleのリファレンスに書いてあることで納得はできたのですが
検証中は、

  • Googleはアカウント国をIPで判断している
  • 海外アカウントさえ作ればOK
  • VPNにさえ繋げばOK

みたいないろんな情報が錯綜していて、正しいものを見つけるのに時間がかかりました。
どれもその方の環境や時代では正解だったかもしれないのですが、私の場合だとうまくいかなくて苦労しました。
ですが、環境さえ整えばちゃんとテストできるはずなので、これから海外展開される方は頑張ってください。応援しています。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?