我正在开发具有基于用户所在国家/地区的内容过滤功能的应用。据我所知,可以通过 App Store 在 iOS 上获取国家/地区。是否有可能通过 Google Play 在 Android 上执行此操作?
Not Acceptable 解决方案列表:
- Locale:用户可能住在法国,但有英语语言环境,所以这 不管用。
- 电话经理:平板电脑呢?如果用户 出国换手机卡?
- IP 或地理位置:用户可能会出国,因此不会在那里进行过滤。
我的应用程序有应用程序内购买功能,我可以获得 ISO 4217 中的货币代码。但这是部分解决方案,欧元区呢?
最佳答案
您可以使用网络服务,该服务会根据用户的 IP 地址返回位置。以下是其中一项网络服务的示例:
private class AsyncTaskClass extends AsyncTask<Void, JSONObject, JSONObject> {
@Override
protected JSONObject doInBackground(Void... params) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://ip-api.com/json")
.build();
try {
Response response = client.newCall(request).execute();
return new JSONObject(response.body().string());
} catch (IOException | JSONException e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(JSONObject data) {
try {
Log.i("Country", data.getString("country"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
关于Android 从谷歌账户中检索用户国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37386854/