我想看看是否有办法知道用户的 Android 手机上有哪个国家/地区版本的 Play 商店。
基本上我想关闭某些国家/地区的应用内购买(出于征税原因)。我已经尝试过区域设置,但可以通过更改手机中的语言来更改。我认为唯一可以确定他们来自哪个国家/地区的方法是通过连接到 Play 商店的 Google 帐户。
任何帮助将不胜感激。谢谢你。
更新答案
在 Google Play Billing 6.1.0+ 中,他们终于添加了获取国家/地区的指定方法: BillingClient.getBillingConfigAsync()
之前的回答
我对此有一个想法,但我还没有尝试过(也许 smbd 可以提供一些有关使用这种方法的反馈)。
这个想法是使用 getSkuDetails 获取price_currency_code 并禁用某些货币的计费。
Google 将根据 IP 地址确定 Play 商店所在国家/地区 当用户在其手机中注册了谷歌帐户时。
我们可以通过从“设置”>“帐户”中删除 Google 帐户来检查这一点。
使用任何VPN(如(Tunnel Bear))更改IP地址
添加谷歌帐户。
Play 商店国家/地区将更改
我不确定是否以编程方式检查他们的 Google 帐户国家/地区,但如果您想定位特定区域,您可以在 Google Play 开发者控制台中执行此操作。
即使它不是程序/代码答案,我希望这比在应用程序中解决这个问题更容易解决您的问题。
您无法以编程方式判断用户在其 Android 手机上拥有哪个国家/地区版本的 Play 商店,因为 google play 在内部确定用户所在国家/地区。
唯一的方法是通过 LocationServices 获取用户当前位置,在这种情况下,您需要添加位置权限。
有一些解决该问题的方法,但并非在所有情况下都有效,例如获取可以提供国家/地区信息的用户职业信息。