I had implemented Google Play Games into my app (in beta test). I added some achievements (more than 5) and have done all the related settings like described in the API. I am testing this with the same google account as my developer account, this is added as a test account inside the console. To unlock an achievement I call
Games.Achievement.unlock(mGoogleApiClient,achievement);
It works and my achievements are unlocked. To call the users Play Games Achievements I use the intent like stated in the api:
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient),1);
The user achievements are shown in the Play Games user view, so everything seems to be ok.
The strange thing is, after a while, let´s say half an hour, the achievements are in reveal (locked) state again.
I can´t find any hint in the API and Developer Guides, that the achievements are reset automatically in the beta test phase or in an unreleased state. Is this a normal behaviour and it will work after official release or do I miss something anywhere?
You may want to try adding the achievementId when you call startActivityForResult.
So, instead of calling
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient),1);
use
startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient), REQUEST_ACHIEVEMENTS);
See Unlocking achievements for more information.
I found out that it was because I used an unsigned APK. For get the tests work correctly, it must be a release signed apk. I also put the same released version into the alpha test.
Related
I added Google Play Games Services support to my board game app and implemented Achievements and a Leaderboard through the corresponding clients in a similar way as the GPGS sample app "Type A Number" did. When debugging with adb and my tester account, these features worked fine. When I released the app into production, the Leaderboard started showing the message "Hmm, something went wrong in Play Games". Additionally, achievements can be unlocked and are being shown properly. But after closing the app, this progress is being lost.
Under Google APIs -> Google Play Games Services I get this feedback of the GPGS API calls (in the production phase):
GPGS method calls
Since the release, I apparently mainly get 401 as a response code according to the metrics.
SOLUTION: Google Play Games doesn't work with app published in PlayStore
Have the same issue - it looks like Play Services do not work correctly for the testers atm. I have the app that is live and an update which is in closed Alpha. Tested with the test account with the same issue. Then tried the same closed alpha update (previously installed by test user) with the user who is not listed as tester and Services worked fine. Didn't push the update live though - will update when it's live and Play Services status is rechecked.
I had the same problem. Leaderboards stopped appearing after first post. I tried removing OAuth keys and putting them back on, but that didn't seem to do the job. Went for a hail mary and linked the same app AGAIN to Games Services and voila! Image below shows what to do. Worked for me, hope it works for you. Cheers!
We're developing a game which has achievements and while we haven't released it yet, we did publish for Beta testing and have also published Game Services for that app for testing purposes.
We now realise that we need to tick the incremental option on a few achievements but we can't as "this field cannot be changed after publishing". I have unpublished the game and service but this never allows us to edit.
We then thought we could delete the achievement and set it up again, but there is no Delete or Reset option available.
Is this a case of the unpublish setting taking a while to propogate on Google Play or is what we need to do impossible?
I never published to Google Play public so it would be frustrating if we weren't able to fix this :(
Any help would be greatly appreciated! Thanks.
Unfortunately, you are correct. There is no way to change those attributes or delete a published achievement. So the alternatives are:
Create a new achievement with the configuration you want to have,
and leave the existing one there (maybe achievement for starting the
incremental achievement?).
Create a new game configuration. This
means all the game state will be reset from the player's
perspective.
In the future, I don't think you need to publish the game to start testing. You can Alpha and Beta test with named testers, and make changes to the game configuration. Then once the game is perfect, publish it. More information on staged rollouts: https://support.google.com/googleplay/android-developer/answer/3131213
Quoting from the official Google documentation for Editing the achievement.
Note: Once an achievement is published, its initial state (hidden or revealed) and its type (incremental or standard) is fixed and cannot be changed.
Undoing an edit
If you decide you don't like your current achievement and want to go back to your achievement the way it was before, select Revert from the drop-down list in the Google Play Developer Console, and all of your achievements will revert back to the previously published version.
Deleting an achievement
Once your achievement has been published, it cannot be deleted.
You can only delete an achievement in a pre-published state by clicking the button labeled Delete at the bottom of the form for that achievement.
Resetting an achievement
You can only reset player progress data for your draft achievements.
To reset achievements in the Google Play Developer Console, click the button labeled Reset achievement progress at the bottom of the form for that event.
To reset achievement data programmatically, call the Management API Achievements methods.
I'm working on a game which has been published to google play. Now we want to add achievement service to this game.
Following google play service samples, everything works fine. I can sign in and unlock the achievement successfully.
But the only thing trouble me is that I can't see the achievements in my device.
First I think it may be because the cache, but after two day, I still can't see it.
The game service's state is ready to test, but I heard from someone else, it is no mater.
So I don't know what I had missed.
Any suggestion is appreciate.
Is the user you are logged in as a "testing user"? If the achievement is not yet published, only testers will be able to see the achievement.
On iOS it is possible to choose when you want your app to be visible on the store after it has been validated by Apple. Is this possible with Android and the Google Play Store?
This is now possible using timed publishing. It appears to be restricted to updates so it may not work for the initial launch unless the app is published to your alpha or beta channels first.
In the new Google Play Console, You could use managed publishing
You can use managed publishing to control exactly when changes to your app are published. When managed publishing is turned on, you can clearly see which changes you submit are in review and which changes are ready for publishing on the Publishing overview page.
1- go to Publishing overview
2- click on manage, then turn it on.
No you can't setting up release date on Google Play Store.
Edit: This is now possible. See Eric P's answer.
No, this is not possible unfortunately. The best you can do is upload
the apk and fill in the store listing information. Then, when you want
to go live it's just a matter of clicking 'publish'. You can not do
this automatically.
As mentioned above it is restricted to updates, it does not works for the very first release (unless the app is published to your alpha or beta channels first)
With that said you could use Timed Publishing feature from Google Play Store.
Basically you have to go to the Google Play Console login, then on your left menu, select Store presence that will show a page and just scroll down right to the bottom, you will see a Timed publishing switch, just turn it on, please note that once your update release/APK has been processed and you would like to publish your app scheduled as a job per se, just look for the Timed publishing header at the top of any page in your app release dashboard.
Hope this helps!
Timed publishing is now available for the Google Play Store. After I submitted my app this option popped up.
Yes Time Publishing is now possible to do this you have to got to the setting StorePresence>Store listing> at the bottom of the page there is time toggle button just enable it ,,and make release as you do previously once app is approved by google then now app will not get publish automatically you have to got to the release page and click on GoLive button to make app live
Background
My app has some in-app billing (like this one), and I wish to test it out before publishing it.
I've watched some google IO lectures and read some articles, and prepared everything.
According to what i've learnt (talked about here), all I need to do is just add my email to the test accounts, and it won't be charged.
The problem
It seems that in the developer console, the in app items cannot be activated.
I think it's because the app isn't published yet, but that's the whole point of testing - I want to test the app before publishing it...
As I've also found out, in order to test in-app billing, I have to do a lot of things to take care of for making it work, also having many restrictions and annoyances:
sign the app and upload it to the play store . if you don't use a signed app, you get this message ("This version of the application is not configured for Market Billing...") .
make credit cards be used to the devices, even if they won't cost anything.
let others do the testing instead of myself, as my account cannot be used for that. not only that, but instead of adding exactly which you wish to add, you have to create a google group and there put the people who will be able to use the app, and all will have to have a google+ account... You will also need to wait some time till the testers will be able to use in-app-billing of your app and till then they will get an error "User is not eligible for this purchase" .
because of #1, I need to have some kind of mechanism to reset the purchases, within the app itself, but i also shouldn't forget to remove/hide this features for the end users, so that they won't reset it by mistake
because of #1, if I wish to be able to debug the app, I need to change it on the manifest, and choose to debug the app within Eclipse, and also remember to uncheck this flag before actually releasing the app.
since the app is on the play store, you cannot modify in-app purchases items (their Id for example), as opposed to many thing you can modify before publishing the app. It's no longer a development as flexible as it can be using simple development. It's like your app should be sealed with what you choose even though you haven't published it yet.
The question
Why is it this way?
How come there isn't a simple way to allow to test the in-app-billing ?
How would you deal with the problems I've written about?
Is it possible to test the in-app purchases before the app is published?
How come I can't use my own google account ?
Also, suppose I do make a (fake) purchase, how do I reset it (all/specific purchases) in order to check it out again? Is it true I can't do it anywhere besides the app itself?
Am I missing anything?
you dont have to publish the app inorder to test it all you have to do is upload the apk to your developer console, just dont publish it. If your account is linked to your developer console you cannot use that account and have to create a test account to test the IAP's
You will have to public the app but publish in beta mode so that you can test the in app purchases. Beta mode will enable to test the functionality with limited user set.
Yes, you can test your app without publish (and without publish in beta mode too). There are instruction http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test. Please remember that after 1 point it's maybe need to wait about hour or two.
It seems that in the developer console, the in app items cannot be activated.
it's ok, just check that you mark it as active. It look like not active before you publish the app, but you can test it.
I can use my own google account, right?
I strongly recommended have additional account only for test purchases.
Also, suppose I do make a (fake) purchase, how do I reset it (all/specific purchases) in order to check it out again?
You'll must to fill billing information for your test account. But when you make test purchase, there are no any real money transaction. Every in-app can be tested once again after the app consume it.
I'm also working on how to test In-App-Billing for Android in best way since days.
With real transactions to me it seems to be really too complicated and a lot too much effort. So i'm currently thinking of 'only' testing this stuff with static responses (http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static).
In theory i guess once this works, it should also be fine in production as in the source code only the SKU id gets changed for live release..