Game On! - The Death of Base Game Activity
Why Stack Overflow recommends it
Stack Overflow users link it when answering Android and libGDX questions about Google Play Games sign-in, to explain that BaseGameActivity and GameHelper are deprecated and no longer needed.
Recommended by 3 people across 6 different months, 2014 to 2017.
What it is
A short 2014 announcement video from Google for Developers in which Todd explains that the BaseGameActivity and GameHelper classes used in Google Play game services sample code are being retired. It points developers to implementing the GoogleApiClient callback interfaces directly instead.
What people said
Recommends Clayton Wilkinson · 2014-11 · Stack Overflow · on “Viewing log statements from the library project BaseGameUtils in Android Studio”
If you cloned (or refreshed) the samples recently, the problem may be that the samples do not extend BaseGameActivity any longer. This also means that GameHelper is not called either. There is an informative video about this change: Game On! - The death of BaseGameActivity [this video] . The command line for logcat should include BaseGameUtils:* to pickup messages from that class. You can also run logcat with no options and get all the messages, then figure out which tags to focus on.
Recommends Clayton Wilkinson · 2015-06 · Stack Overflow · on “Android Game Leader Board: Where to extends BaseGameActivity?”
Have you gone through the QuickStart Guide [LINK] ? This is a good place to start if you are new to developing games for Android. To answer you question, you need to access the Play Game Services from the activity that is going to handle signing in and calling game services APIs. From your description it sounds like both your activities will need to make calls (the main activity is showing the leaderboard, and the game activity is most likely posting scores). Extending your activity from BaseGameActivity really is not needed any longer (for an entertaining explanation watch: Death of BasegameActivity [this video] . What you do need to do is implement the two interfaces that handle initializing th
Recommends Clayton Wilkinson · 2015-07 · Stack Overflow · on “Why my button is shown and than quickly hidden onResume”
If you cloned (or refreshed) the samples recently, you'll notice that GameHelper and BaseGameActivity are not longer used. There is an informative video about this change: Game On! - The death of BaseGameActivity [this video] . If you just implement the interfaces to get the callbacks for the state: GoogleApiClient.ConnectionCallbacks and GoogleApiClient.OnConnectionFailedListener your problem should go away. More specific details on how to use these interfaces is at [LINK]
Recommends Madmenyo · 2015-10 · Stack Overflow · on “libGDX Google Play Services (BaseGameUtils) doesn't work on first attempt”
I'd like to make you aware that GameHelper or BaseGameActivity is deprecated and while you can still use it's not the "proper" way anymore. Video on the subject [this video] . The new implementation is much easier to setup and is shown here: Github [LINK] Nowadays you initialize GoogleApiClient and add all the listeners and Api's in there. I have a working example of the NumberGame on my github page: LibGDX NumberGame example [LINK] . You still have to create add the ID's and create the achievements and scoreboards in the development console.
Recommends Clayton Wilkinson · 2016-04 · Stack Overflow · on “OpenGL ES surface size, hidden Android software navigation bar, and Google Play Games”
It may not solve all your problems, but you can definitely get rid of BaseGameActivity and BaseGameUtils. There is an informative video about this change: Game On! - The death of BaseGameActivity [this video] . The recommended approach is to have your activity (or ActivityFragment) implement the 2 interfaces needed for connecting: GoogleApiClient.ConnectionCallbacks [LINK] , GoogleApiClient.OnConnectionFailedListener [LINK] . The TypeANumber [LINK] sample is a good model to follow. This should allow you to integrate all your initialization code and the sign-in handling without issue. As far as far are creating the GLSurfaceView before the login process, this should be fine. Once your view is init
Recommends IanB · 2016-07 · Stack Overflow · on “How can I implement google play achievements and sign in on my game?”
That tutorial is out of date and I suggest you do not use it. It is no longer necessary to extend BaseGameActivity. See Android Game Leader Board: Where to extends BaseGameActivity? [LINK] and [this video] for further information. The google documentation and samples are up to date, very clearly written and accurate and I recommend you start here: [LINK]
Cites Madmenyo · 2015-07 · Stack Overflow · on “LIBGDX game configuration with google Play game services Errors”
`GameHelper` should be avoided. Just found out myself ( [this video] ). The examples show how it's done for android but not for `LibGDX`, I am having troubles as well implementing the examples for `LibGDX` so cannot help you further. If anyone knows a up to date tutorial about this matter I am all ears.
Cites Clayton Wilkinson · 2015-09 · Stack Overflow · on “Persist Google Play Services login between activities”
The most simple way to do this is to have both activities create a separate instance of the api client. The state of the connection is shared between them internally, so you don't need worry about how to pass around the client and handle callbacks that may happen when an activity is not active, and the player will only log in on your main activity. Extending your activity from BaseGameActivity really is not needed any longer (for an entertaining explanation watch: Death of BasegameActivity [this video] . What you do need to do is implement the two interfaces that handle initializing the GoogleAPIClient: public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, Goo
Cites Madmenyo · 2016-03 · Stack Overflow · on “Could not find BaseGameUtils.apk, Failed resolution of: Landroid/support/v4/util/ArrayMap”
This might not be you issue but base game activity is dead and `gamehelper` should not be used anymore. [this video] There are only old and obsolete tutorials out there and only official sources can be trusted to supply proper information. However I made the number game example into a LibGDX project here: [LINK] it's a fully working example of the official `NumberGame`.
Cites Teyam · 2017-05 · Stack Overflow · on “Google leaderboard submitscore error:GoogleApiClient must be connected”
If you happen to be using BaseGameActivity , extending your activity is no longer needed. Instead, use BaseGameUtils library to resolve connection errors and display dialogs. Try initializing GoogleApiClient [LINK] by implementing the GoogleApiClient.ConnectionCallbacks and GoogleApiClient.OnConnectionFailedListener interfaces. See this documentation [LINK] for more information. import com.google.android.gms.*; import com.google.example.games.basegameutils.BaseGameUtils; public class MyGameActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { For additional insights, you may want to check the following : [this video] Persist Google