Key takeaways
- Google's deprecation table says "May 2027" for the Play Games Services v1 shutdown, when "All traffic from Play Games Services v1 blocked". A bullet on the same page says "From June 2027, the games v1 SDK will be removed." Google gives the month, not a day, and I could not reconcile the two, so I plan around the earlier one.
- Two steps are already past. Google says "Since June 15, 2026, the deprecated APIs have been removed from the SDK" (play-services-games 25.0.0), and "Since September 2026, the Google Sign-In for Android API is no longer supported."
- If you are still on v1, Google says not to upgrade to play-services-games 25.0.0. The migration guide says you can move up to 24.0.0 before you migrate.
- The v2 change is mostly deletion: sign-in happens automatically at launch, GoogleSignInClient gives way to GamesSignInClient, Games.getXxxClient() becomes PlayGames.getXxxClient(), and getServerAuthCode() becomes requestServerSideAccess().
- For Flutter, games_services 5.3.0 (August 2, 2026) declares com.google.android.gms:play-services-games-v2:21.0.0 in its Android build.gradle, so the plugin itself is on v2. Check your merged dependencies for any other package that still pulls the v1 artifact.
Pricing an app? Try the free app cost calculator or get a range for your project in the instant quote.
Google’s deprecation page says Play Games Services v1 shuts down in “May 2027”, when all v1 traffic is blocked and existing v1 APIs stop working in production, and a bullet on the same page says “From June 2027, the games v1 SDK will be removed.” Google gives the month, not a day, and the page does not explain the gap. Two earlier steps are already past: the v1 APIs were removed from the play-services-games SDK on June 15, 2026, and Google Sign-In for Android stopped being supported in September 2026. If your Android game or Flutter app uses leaderboards, achievements or saved games through v1, the page says the only option is to migrate to v2 before the shutdown.
I checked Google’s pages on October 21, 2026. Google can change a date, so open the linked page before you plan around it.
Disclosure: App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Google doesn’t pay me for anything on this page.
The dated timeline
| Date (as Google states it) | What happens | What to do |
|---|---|---|
| September 12, 2025 | play-services-games 24.0.0 released and marked Deprecated. Plugin for Unity v0.10.15 (September 17, 2025) also Deprecated. | Google says existing v1 titles keep working, but Google Play prevents publishing new titles that use the v1 SDK and APIs. |
| “June 2026” (table); June 15, 2026 (version table and bullet) | play-services-games 25.0.0: v1 API removed from the SDK. | Past. Stay on v1 only at 24.0.0 or lower, and do not upgrade to 25.0.0 until you have migrated. |
| “as of May 2026” | Per the table, play-services-auth no longer provides Google Sign-In (GSI). | Past. A game not yet on v2 might see compile errors. |
| “September 2026” (table); “Since September 2026” (bullet) | Google Sign-In for Android API removal and “no longer supported”. | Past. Follow the page’s resolution path for compile errors from third-party SDKs, then migrate. |
| “May 2027” (table) | Play Games Services v1 shutdown. All v1 traffic blocked. Existing v1 APIs stop working in production. | Migrate before this date. Google says it is the only option. |
| “From June 2027” (bullet) | “the games v1 SDK will be removed. Calls to these APIs will fail, even if you’re using previous versions of the SDK.” | Same job, and it means older SDK versions do not save you. |
Google’s table lists the rows in a different order from the one above. I sorted them by date for reading. Source: the deprecation page, last updated 2026-10-06 UTC when I read it.
The date conflict
The same page gives two dates for the end of v1, and I want to show both as Google states them.
- The table says “May 2027” under the milestone “Play Games Services v1 shutdown”, with the impact “All traffic from Play Games Services v1 blocked”.
- A bullet says “From June 2027, the games v1 SDK will be removed. Calls to these APIs will fail, even if you’re using previous versions of the SDK.”
They could describe two steps a month apart, or one step described twice. No page I fetched says which. So I do not pick one. My advice: treat May 2027 as the date to be finished by, and use June 2027 as the outside edge, not as extra time.
What already happened (and why it matters now)
- June 15, 2026: Google says “the deprecated APIs have been removed from the SDK” and lists play-services-games 25.0.0 as the release that removed the Play Games Services v1 API. A game that upgrades to it while still on v1 may find its Play Games Services features stop working.
- May 2026, per the table: “
play-services-authno longer provides GSI”. So a game not yet on v2 might get compilation errors. - September 2026: “the Google Sign-In for Android API is no longer supported.” The page says this affects games when a third-party or Google SDK needs an authentication upgrade. The page walks through three scenarios. If the SDK simply upgrades to the latest auth SDK, the page says “Play Games Services v1 will break” and your build fails to compile. The table lists compile errors for the first scenario and, in a cell that looks shifted, for the second. Only the first scenario has a fix listed: find the SDK that forced the auth upgrade and revert its version. The other two list “Nothing”, with a note that you may need two Google Sign In flows if you also use a Sign in with Google button.
My advice: pin your Android dependencies and read changelogs before you update an auth-related SDK. For the wider Google sign-in change, see my guide to the Google Sign-In deprecation and Credential Manager.
What changes from v1 to v2
Google’s migration overview and migration guide describe these changes.
Sign-in is automatic. v2 splits signing in into two layers: platform authentication, handled by the SDK, and in-game authentication, handled by your game. The overview says authentication happens automatically in the background at launch, and that there is no manual “Sign in” button required for Play Games Services itself. In code, GoogleSignInClient is replaced by GamesSignInClient, and the guide says to check gamesSignInClient.isAuthenticated() instead of calling GoogleSignIn. If the player is not authenticated, either disable the integration or show a button that calls gamesSignInClient.signIn(). The guide also says to re-check in onResume(), because the state can change while the app is inactive.
Sign-out and account switching go away. The guide says to remove the GoogleSignInClient.signOut code. The overview says the sign-out API is not required because v2 is a persistent platform identity, and that users change their Play Games Services profile in the device settings.
Client classes and removed APIs. Use PlayGames.getXxxClient() instead of Games.getXxxClient(), for AchievementsClient, EventsClient, GamesSignInClient, LeaderboardsClient, PlayerStatsClient, RecallClient, SnapshotsClient and PlayersClient. The guide says to remove any GamesClient and GamesMetadataClient code, since v2 has no replacement for them. It also replaces GoogleApiClient with connectionless clients, and gives a table that maps old classes, such as com.google.android.gms.games.achievement.Achievements, to AchievementsClient.
Server-side access. GoogleSignInAccount.getServerAuthCode() is replaced by GamesSignInClient.requestServerSideAccess(...). It takes your OAuth 2.0 web client ID, a forceRefreshToken flag and additional scopes, and returns an auth code you send to your server and exchange for an access token. The overview adds that v2 can request three basic OAuth 2.0 identity scopes this way, while v1 could request additional scopes through GoogleSigninClient. If your backend relies on extra scopes, test this early.
Dependencies and setup. Replace com.google.android.gms:play-services-games with com.google.android.gms:play-services-games-v2, using the latest version of the games SDK, as the guide says. Google Maven lists play-services-games-v2 22.1.0 as the newest release (metadata updated September 15, 2026). Add a com.google.android.gms.games.APP_ID meta-data element in your manifest that points to your Games Services project ID from the Play Console Configuration page. Initialize with PlayGamesSdk.initialize(this).
Your own player accounts. This is the part most people miss. The guide gives two paths. If your in-game account is bound only to the Play Games Services Player ID, you need a “Sign in with Google” login with Credential Manager, and the guide describes retrieving both the OpenID and the Player ID (using the GAMES_LITE scope) so existing players are linked to their old accounts. If your in-game account is already bound to an OpenID, you only do the standard SDK steps.
How to tell if you are on v1
Google’s pages give no formal detection procedure, so here is the pattern I would look for.
- Dependencies. The migration guide has you replace
com.google.android.gms:play-services-gameswithcom.google.android.gms:play-services-games-v2. If your build still has the first, you are on v1. The overview says v1 “Requiresplay-services-auth” (com.google.android.gms:play-services-auth). - Version. Google lists 24.0.0 as the deprecated v1 release and 25.0.0 as the one that removed v1 APIs. The guide says you can upgrade to 24.0.0 but not to 25.0.0 while still on v1.
- Sign-in code. Search for
GoogleSignInClient,GoogleSignInandGoogleSignInAccount. These are v1 sign-in patterns. - Client calls. Search for
Games.getLeaderboardsClient,Games.getAchievementsClientand otherGames.getXxxClient()calls. v2 usesPlayGames.getXxxClient(). - Old classes.
GoogleApiClient,GamesClientandGamesMetadataClientare on the list of things the guide says to replace or remove. - Server auth.
getServerAuthCode()is the v1 server-side pattern.
For a Gradle project, I would also print the dependency tree and look for play-services-games and play-services-auth. That is my own check, not something Google’s pages describe.
Flutter
In a Flutter app, the Play Games calls sit inside a plugin, and the Android code is the plugin’s. I checked games_services (5.3.0, published August 2, 2026). The pub.dev page only says “A Flutter plugin to support Game Center and Google Play Games services”, so I opened the published package archive. Its Android build.gradle declares com.google.android.gms:play-services-games-v2:21.0.0, and its Kotlin code calls PlayGames.getXxxClient(). That is the v2 SDK. The package requires Flutter 3.44 or newer and Dart 3.12 or newer.
That covers this plugin, not your whole app. Another plugin or your own Android code can still pull the v1 play-services-games artifact or play-services-auth. Read your app’s merged dependency tree. If you find the v1 artifact, ask that maintainer about a v2 release or plan to replace the package before May 2027. Do not force the 25.0.0 version into a v1-based plugin, because Google says it removes the v1 APIs. Older games_services versions may differ: its changelog says 4.0.0 (November 2023) moved to Play Games Services 2.0.0, and I did not open earlier archives.
Native game engines have their own guides. The deprecation page links a Unity migration guide for the Unity plugin, which I did not read.
A short plan
- Find out where you are. Use the checks above, and note your
play-services-gamesversion. - Freeze updates. Do not move to play-services-games 25.0.0 or a new auth SDK until you have a migration branch.
- Pick your account path. Is your in-game account bound to the Player ID or to an OpenID? That decides how much work the migration is.
- Swap the SDK. Dependency, project ID,
PlayGamesSdk.initialize,GamesSignInClient, client class names. - Fix the server. Move to
requestServerSideAccessand check your scopes. - Test saved games, leaderboards and achievements and follow the testing section of the migration guide. Then publish through the Play Console.
Google’s target API requirement and zero-tap sign-in requirements are separate Play deadlines worth checking in the same pass.
For every other dated Apple, Google Play and Firebase requirement in 2026 and 2027, see App Store and Google Play deadlines for 2026 and 2027.
Need a hand?
If your Flutter or Android game still uses Play Games Services v1 and you want it moved to v2 before Google shuts it off, the App Fix Ticket covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. Or send me a short description.
Frequently asked questions
- When does Google Play Games Services v1 shut down?
- Google's deprecation table lists "May 2027" for the v1 shutdown and says all v1 traffic is blocked and existing v1 APIs stop working in production. A bullet on the same page says "From June 2027, the games v1 SDK will be removed. Calls to these APIs will fail, even if you're using previous versions of the SDK." Google gives the month, not a day. I plan around May 2027.
- Do I have to migrate because Google Sign-In was removed?
- Not by itself, according to the deprecation page. Its table of three auth-upgrade scenarios ends with "Game does not need to upgrade from Play Games Services v1 to v2" in each (in the first, the third-party SDK just stays out of date). But the page also says that if you upgrade the auth SDK, v1 "will break" until you revert it, and the May 2027 shutdown requires v2 either way.
- Can I just update play-services-games to the latest version?
- Not if you are on v1. Google says games on v1 must not upgrade to play-services-games 25.0.0, because it removes the v1 APIs. A game that upgrades anyway may see its Play Games Services features stop working. The migration guide tells you to swap the dependency for play-services-games-v2 instead.
- Not for Play Games Services itself. Google's overview says there is no manual "Sign in" button required for Play Games Services itself, because v2 authenticates players automatically at launch. Your own game account (the in-game authentication layer) is still your job, and the migration guide describes two paths depending on whether it is bound to the Player ID or to an OpenID.
- How do I get a server auth code in v2?
- The migration guide replaces GoogleSignInAccount.getServerAuthCode() with GamesSignInClient.requestServerSideAccess(), which takes your OAuth 2.0 web client ID, a forceRefreshToken flag and any extra scopes. You send the returned auth code to your server and exchange it there. The overview says v2 can request three basic OAuth 2.0 identity scopes this way, whereas v1 could request additional scopes.
- Does the Flutter games_services plugin use v2?
- Yes, version 5.3.0 (published August 2, 2026) does. Its Android build.gradle declares com.google.android.gms:play-services-games-v2:21.0.0 and its Kotlin code calls PlayGames.getXxxClient(). Its changelog says version 4.0.0 (November 2023) did "migrate to google play games services 2.0.0". The pub.dev page itself does not say this, so I read the published package archive. Another dependency in your app can still pull the v1 artifact, so check your merged dependency tree.
Sources
Related Resources
Related guides
Google Sign-In for Android Is Deprecated: Moving to Credential Manager
Google Sign-In for Android is deprecated and moved to Credential Manager. How to migrate Android and Flutter apps (google_sign_in 7), checked Oct 21, 2026.
Read moreGoogle Play Requires Target API 36: The Android 16 Update
Target API level 36: since Aug 31, 2026 Google Play needs apps and updates to target Android 16. What changes and the Flutter versions, checked Oct 21, 2026.
Read moreGoogle Play Memory, DEX and Zero-Tap Sign-In Rules 2027
Google Play memory requirements for 2027: memory and DEX rules from February, zero-tap sign-in from April. Who is exempt, what to check, verified Oct 21, 2026.
Read more