Are Google Play services unlocked achievements automatically shared with g + or not?

We add the achievements of Google Play game services to our game (Epic Swords). We are in the final testing, it works, except that I expected the unlocked achievements to be visible or published in some way via g +. I do not see how this is happening.

Google Docs imply that they are publicly available, for example. "Log in to Google to share your grades and achievements with friends" http://goo.gl/V3Y41 and elsewhere, although it is unclear how they are shared.

Q1: Unlocked achievements of game services are automatically displayed through g +?

Q2: If so, are we doing something wrong in the way we test them?

Q3: If not ... well, why realize the achievements using game services, instead of riding on your own? It would be easier and more reliable to carry out your own implementation (complexity due to synchronization of state with the Google cloud, not to mention some interesting errors in their client code ;-)

Reference Information. We published Google Play services. Everything works perfectly in the game, and the state is shared / retrieved from Google. I chose Public visibility for the gameplay when entering the game services.

btw we could add explicit g + sharing when achievements are unlocked using the shared sharing API http://goo.gl/L70sY , but again ... if we need to do that, then why use the achievements of the game services at all?

+4
source share
2 answers

Thanks ianhanniballake for your help. I add this to clarify the answer (for example, achievements can be automatically published) and summarize what we learned by adding this function.

I hope that Googler will look at our Pro / Con, because with 1.0 SDK it is difficult to recommend API, but with improvements it would be useful.

Automatic sharing of Google gaming services achievements (starting from 7/13 SDK):

  • Achieving progress (e.g. unlocking) is not shared / visible through g +
  • sdk is not conducive to sharing achievements. Something like PlusShare.Builder.shareUnlock () will help if auto-sharing is not added, but for now to exchange achievements on g + you have to implement it from scratch
  • imo nothing prevents Google from adding automatic distribution of achievements in the future. Their sign in the stream gets permission from the user to share "game progress," and other messages say the leaderboards have social sharing.

From our experience: Pro / Con Achievements with Google Play Services :

Pro

  • Google’s official decision, so reliably, will be the deactivation of the Android standard
  • Google could make progress common / visible through g + if they wanted to. That would make it much more valuable.

Con

  • The user must be ready to log in to g + to view / save achievements. Some users will not do this and will be annoyed; they cannot use the achievements.
  • Client-server synchronization has complex policy and implementation issues. For instance. the user can log in after significant progress of the game; can be played simultaneously on multiple devices; can log out and log in as another user game.
  • Testing is difficult because there is no way to succeed with reset for test accounts via the Android API or server interface. I guess Google can fix this ... please! Some posts say deleting / re-adding a reset to the tester account, but this did not work for us, or maybe it only works with the pre-release
  • Google’s design assumes that their server manages user interface assets (icons, strings) and achievement policies. It is good if achievements are visible in g + in the future, but until then it will be a hassle. For instance. see code below
  • The client interface is approved but not polished. For instance. the text area of ​​the description is limited, "Defeat of the skeleton king in battle" is truncated in some user interface modes, and there is no way to see the full information. Additional achievements are limited to 10,000 steps (why?)

The recommendation . If you think that Google will make achievements visible with g +, this is a great feature and explains most of the “con” above. However, if the achievements remain undisclosed, then using the Google API was less reliable and significantly more work than curtailing our own client implementation.

A WARNING. Google Play game services from 7/15/13 seem to have an intermittent error when using ImageManager. See ClassCastException: com.google.android.gms.common.images.e We switched to combining unlock images in the APK and no longer use ImageManager

This is our legacy bitmap extraction code when a user unlocks an achievement:

Uri unlockedUri = achievement.getUnlockedImageUri(); if (unlockedUri != null) { ImageManager im = ImageManager.create(context); // Warning -- loadImage may silently skip call back if called too soon after achievement load im.loadImage(new ImageManager.OnImageLoadedListener() { @Override public void onImageLoaded(Uri arg0, Drawable drawable) { // Attempt to convert the Drawable to a sharable image; if it fails we'll post text only Bitmap bitmap = null; if (drawable instanceof BitmapDrawable) { bitmap = ((BitmapDrawable) drawable).getBitmap(); } else { log.warn("not BitmapDrawable ", drawable); } listener.onBitmapLoaded(bitmap); } }, unlockedUri); } else { log.debug("no unlockedImageUri"); listener.onBitmapLoaded(null); } 

One google option that does not provide automatic sharing of g + is that when you still need to roll your own exchange, you can also do this for other services in addition to g +. For instance. we offer sharing unlocked achievemets for twitter. But perversely, this is a good reason why Google should make social achievements on g + asap ... developers are lazy, and this would provide a lot of games in which social achievements were on g + at first; -)

+4
source

The Android application cannot automatically send messages to Google+ - you must go through the Google+ application using the traditional shared intent or through the interactive mail API you mentioned. There are App Activities that can be created by applications and visible in the Apps page through your profile (and then shared by the user from there). However, application actions are currently not integrated into the Google Play Game services. This does not mean that at any time this will not happen magically (and, since this change is on the server side, it can happen automatically, since all games already request permission to create game actions (which are not currently available)).

The achievements described on the Google Play Game homepage, “Encourage users to explore your game in new and interesting ways” and, of course, offer a consistent experience across all Google Play-enabled games. How important this is to you or your users is likely to change over time, but offering a complete experience before waiting for expectations can offer a better user interface.

+1
source

Source: https://habr.com/ru/post/1490959/


All Articles