I’m new to Android app development and I’m trying to create a simple puzzle game for children, in blueprints. It’s finished, however Google rejected it “because it is primarily child-directed and uses the Google API to access Google Account data”. I know I could get it approved by setting that it’s not Primarily Child-Directed, but that would be the easy way out. The game is not using any info or accessing any account data.
Here is the info …
on Google Play Console: it’s not using Google Play services, and therefore no API is needed
in UE4: it’s not using Google Play Services, and “Online Subsystem GooglePlay” plugin is disabled
I’ve packaged it with ManifestRequirementsOverride.txt so that it only requires 5 basic permissions:
android.permission.INTERNET
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
Does anyone have any hints how to solve this? Thanks in advance!
Thanks for the tip! I’ve seen (and followed) that guide, however I’m not using Google Play Game Services at all (leader-boards, achievements …), so that should be a problem. I guess I could try to create a new Google Play Game service, then disable all APIs, who knows, it might even work. I’m just not sure if UE4 has some access to google accounts by default, and if there is some way to disable it.
android.permission.GET_ACCOUNTS is not needed if you aren’t using Google Play Games. In 4.16 you can turn off the inclusion of this permission with a checkbox, but the ManifestRequirementsOverride.txt should work for what you are doing. This was really only needed so we could get the authtoken for the reset achievements REST API call. If you don’t have a login request for Google Play Games then I don’t believe there is anywhere else it would be trying to use this. GameActivity.java is where the request was done in 4.15 in onConnected(). Removing the getAccountName and getToken calls here would remove any code they might be detecting; just comment out the lines and pass a blank string for accesstoken.
Thanks a lot for your answer Chris, I really appreciate it!
Yeah, I’m not using Google Play Games neither on Google Developer Console, or in game. I’m also not using android.permission.GET_ACCOUNTS or calling any google/android related functions within the game.
Currently I’m using UE 4.14 for this project (it’s a pet-project I was primarily doing for my daughter :)), and I’m using blueprints. I’ll try to migrate it to 4.16 and see how it goes.
Chris, you’re a savior!
I’ve made a backup of GameActivity.java (the one where the engine is installed, not in project folder) and on 2 spots I’ve commented out
I’ve seen that the normal way to change GameActivity would be to use Unreal Plugin Language, but I just wanted a quick test to see if this would work.
And it worked!!! Google accepted it immediately.
Note: for anyone else trying the same method: don’t leave GameActivity.java backup in the same folder, or the build will fail.