After much screaming and tearing of hair I have finally gotten In-App billing and Play Services sign in to work in my Android application - kind of. Google should really be ashamed of themselves, the process has been gruelling to put it mildly. One example of extremely important information that is mentioned kind of like an afterthought on the tutorial pages: "You must create the new client ID in the Google Play Developer Console, not in the Google Developers Console."
I have now reached the point where my debug APK works with Game Services sign in (leaderboard and achievements), and my release APK works with In-App billing. But not both at the same time. I know that debug APK does not allow for In-App billing, but why does not the Game Service sign in work when debug sign in works? I have triple and quadruple checked that package name, client ID, application ID, debug AND release certificate SHA1-fingerprints and everything matches up perfectly, but still no luck. I get the dreaded "There is no linked app associated with this client ID." It's obviously linked, as it works using the debug certificate.
Are there yet another restrictions or minor detail I have to think about to make this ")=#(¤/"¤() work? :-)
Well you've probably seen some of the tales of woe from last year e.g.
There is no linked app associated with this client ID
and
Google Play Services and "There is no linked app associated with this client ID"
and
Google Play Services - Sign in - Client ID debug vs release
However, I do recommend that you review all the different contributions, because it is highly likely that one of these will fit. Even my own humble submission re. the app_id problem is worth 30 seconds of your life.
What troubles me most, is it that it looks as though you may have been trying to do this stuff from the api console (now called the developers console) as opposed to the Google Play Developer Console. That was a major cause of problems last year (although Google made some improvements as a result of all the difficulties that people encountered). If all else fails, I would recommend creating new definitions from scratch in the Google Play Developer Console - at this point the documentation for Google Play Game Services is very accurate. I have not used in-app billing so I could not comment on that.
Related
I know this question might be related to Google Pay Production Environment and Updating Google App signing certificate break Google Pay, but these issues don't appear to be resolved, and the Google Pay Support Teams are useless.
Let me reiterate that Google Pay is fully functional when the app is signed with the Upload Key in production environment. It has also been approved in the Google Pay Business Console.
But when the app is uploaded to the Google Play Console, there is an error in the app downloaded from Google Play. In the Console, it can see that the error is E/Volley: [45] dbl.b: Unexpected response code 500 for https://payments- pa.googleapis.com/payments/apis-secure/ui2/buyflowservice/initialize.
Upon inspection, this is due to an error that cannot be verified with Google Pay. But as I mentioned above, the app has already been approved, so I can fully test Google Pay in production environment.
I'm pretty sure the issue is entirely due to a different app signing, but when consulting Google Pay Support Teams, they didn't mention anything, just kept repeating that the app was approved.
Since the App Signing Key in the Play Console cannot be cancelled once enabled, I can't completely prevent the Play Console from re-signing my app. There is also no way in the Google Pay Business Console to set up app signing, which is very annoying to me.
I don't know anyone have any suggestions, other than continuing to contact the Google Pay Support Teams?
Variant of this question have been asked before. But from the current Google documentation it seems things have changed and many answers are obsolete.
I'm completing an App that will be sold on the Google Play Store. The last thing to implement and test is license verification using LVL. The licensing server will only respond with ERROR_NOT_MARKET_MANAGED.
https://developer.android.com/google/play/licensing/setting-up.html says "Using the Google Play Developer Console, you can debug and test an application's licensing implementation, prior to publishing the application". Then Table 1 on this webpage clearly states a publisher account "Can check license before upload".
I interpret this to mean that, when logged in to my test device using my publisher account I should be able to get a licensing server response for my App without uploading an APK.
Am I mistaken? I ask because other related stackoverflow questions state an APK must be uploaded. That was the case in the past but doesn't appear to be true now if I am interpreting the documentation correctly.
I integrated Google IAP Billing to an Android application.
I published my application in Alpha version on Google Play Store. I copied the public key that I added in my project on Android Studio. So, I use the good Public API Key with my IabHelper instance.
I signed an APK that I use on a device with an unique account that is different from my developer account. This account is added in the license testing emails field on the Settings part of Google Play Developer Console.
I also checked the SKU ID of the item I want to purchase is the same on my application and on the application signed.
When I launch the buy process, I get a dialog with Please sign in to your google account error. But, I am already connected because I can go on Play Store application and download apps. I also tried to clear cache data for Play Store app and Google Play Services but nothing works for me.
I must mention that on the manage list of alpha testers, I have created a google+ community like asked but there is no link to send to my alpha-testers to opt-in.
Someone has an idea about the problem ? And the solution to solve it ?
The alpha tester has to satisfy these two conditions:
joined the alpha testing community
opted-in for alpha tests
Firs you have to invite the tester to the alpha testing community. Second the alpha tester have to opt-in using this URL: https://play.google.com/apps/testing/your.package.name
It just takes time. Give it couple of hours and it will work.
Also make sure that the file you are running on your phone is signed with the sane certificate that is uploaded on google play (not debug file)
I gather from other postings that it is near impossible to my check licensing code until i publish a new app for the first time in the google play store?
I have uploaded my apk to the Play dev console, (promoted to prod, but unpublished), tested with account owner ID, and still come up with "ERROR_NOT_MARKET_MANAGED" as the license response.
If true what is a good strategy for not making it available to anyone else who might purchase and then complain that it fails licensing checks before i test licensing and fix any related coding problems? Can I make it available in "no countries" at first? Should I put a ridiculously high price in a single country (and does that have to include my own country)?
I would hope there are better solutions to this dilema.
Assuming you are using Google Play Licensing, they write:
Note: Previously you could test an app by uploading an unpublished "draft" version. This functionality is no longer supported; instead, you must publish it to the alpha or beta distribution channel. For more information, see Draft Apps are No Longer Supported.
I have been playing around with the new Google Play Games Services lately. It took me a while to setup everything to get the example projects running. Mostly because a did a lot of small mistakes. So therefore I have written a small checklist so someone else doesn’t have to experience that same result. Developing is fun, configuring is not :-).
Google have a nice quick start of this, you find it here: https://developers.google.com/games/services/android/quickstart
You have to upload your APK and setup the game service to the developer console.
Make sure your game service has the status "Ready for test".
It's not needed to publish the APK unless you want to distribute it (even beta versions need to be published).
In the game service you need to setup which accounts that should be able to test the service. How to do it: https://developers.google.com/games/services/console/testpub#enabling_accounts_for_testing
When you make changes in Developer Console, some (or all) changes takes a while before they are activated. This could take a couple of hours.
When linking your app to the game service you need to authorize the application. You you do this by specifying the SHA1 fingerprint of the certificate. You probably want to use the debug certificate, you find the key in Eclipse in Window-Preferences-Android-Build. You may also want to use your public certificate, you find this in the Export wizard in Eclipse. It's fine to setup two applications, one with debug and another with release certificate. If you don't do this properly you will get an "Unknown error" when you run the example applications. More information: https://developers.google.com/games/services/console/enabling
(7B) In the previous step I first only used my release certificate. To make it easy to debug I then make by release certificate to a debug certificate. This works, but it's better to setup a client with the debug certificate. If you still want to go this path, here is how you do it: https://stackoverflow.com/a/14018541/1883479
EDIT:
If you get a white screen in the events above, go to https://cloud.google.com/console and accept terms of service (only once pr Google-account).
After creation the OATH client IDs can be seen and deleted in the API console: https://console.developers.google.com/. The client IDs may stop working if a different certificate or multiple certificates are created for the same package name. Note that removal from GameServicesConsole does NOT remove OAUTH client ids from 'backend' (API Console). If the Games Services console does not permit entering a SHA-1 key its because there are keys in the API console you should delete. (The Google Game Services documentation in 7. does not mention this console expect as a means to fix the white screen problem).