Saturday, July 12, 2014

Rejected from the Apple Store for using default Google Play Game Services sign in implementation

So... yeah. The title says it all. I'm frustrated and on the verge of giving up, so forgive me if my tone is off on this one.

Several weeks ago, I submitted my latest game, made in Cocos2D-x, to Apple for approval. I was rejected with the following message, citing Apple 10.6 (dealing with UI):

"Your app takes the user out to Safari when they opt-in to signing in with Google"

I explained the situation: I didn't build that part, it's build in to the GPGS code. All I call is [[GPPSignIn sharedInstance] authenticate]; . Google even says in the documentation, for iOS they try to use the Google Plus app if it's available, then try Safari. There's no way to do it in-app as provided by Google.

I was still rejected, and lost my appeal, even though I've seen and used several apps that use the same implementation. I've also seen the same style used for GREE logins (i.e., the official 1 vs 100 app). It's not an unknown thing, and it's not new. Yes, I'm aware that's not a reason to approve it. But as it stands Apple is (or "should be") rejecting ALL apps that use Google Play Games Services. Unless there's some way of signing in in without leaving the app that I simply can't get working. I'd think something that large would warrant a message and/or a fix from Apple or Google addressing the situation.

After doing a ton of digging and only coming up with a handful of people who've had similar issues (and no solutions), I decided that perhaps my issue was the reviewer and not the actual policy. Again, rejected, same thing: though it did reference my previous rejection, so if it's related to that I'm not sure.

Then, just this week Google announced an update to Google Play Game Services, and I was hopeful that there might be a solution in there. Especially after this post came out about a Cocos2D-X implementation being available. Unfortunately, using the code from the sample the relevant call GPGSManager::BeginUserInitiatedSignIn(); still opens up Safari.

So, I'm done. I've spent weeks researching and submitting and getting rejected in the name of using a unified system for achievements and leaderboards. If someone has advice or a tip, feel free to chime in. But at this point I'm probably giving up and implementing Game Center for iOS and keeping GPGS only for Android.