Question

I have a game in the Google Play Store that has an option to change the scoring system from points to $'s. Apparently this is a simulation of gambling and illegal in South Korea. I got a official reprimand from Google and they took my app off of the Korean market and raised my maturity rating to "Mature". This extra feature is totally unnecessary for the game play though many users enjoy it. I would like to disable it only in Korea. However I need some way that is reliable.

I though about using locale but the user could change that.

context.getResources().getConfiguration().locale.getDisplayCountry(Locale locale);

I found this:

android.telephony.TelephonyManager.getNetworkCountryIso()

Would the country ISO be guaranteed to be correct? Is there a different method that I am overlooking?

Also, I don't have GPS permission for my app. I think it would be wrong to enable it just for this use case. In addition I have thought about multiple APKs. This would be a last resort. I believe that they would be treated as two separate apps. I would not have all my good ratings and downloads.

Hopefully if I get this working I can have Google reconsider their decision.

Edit: @Nobu Games brings up an excellent point. This does need to work for tablet also.

Was it helpful?

Solution

android.telephony.TelephonyManager.getNetworkCountryIso()

Absolutely

I think locale option is not good, as one can change locale manually, there is a app to do it.

I tried it once. for testing multiple language support for my app.

This answer can help you more.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top