Для доступа к функциям игровых сервисов Google Play ваша игра должна предоставлять аутентифицированную учётную запись игрока. В этой документации описывается, как реализовать бесперебойную аутентификацию в вашей игре.
Play Games Services v2 SDK предлагает ряд улучшений, которые увеличивают количество пользователей, аутентифицированных в вашей игре, и упрощают разработку:
-  Улучшения для пользователей:- После выбора учетной записи по умолчанию пользователи проходят аутентификацию без необходимости взаимодействия с пользователем.
- Пользователям больше не нужно загружать приложение Play Games для аутентификации в сервисах Play Games или создания новой учетной записи.
- Теперь пользователи могут управлять своими учетными записями Play Games Services для нескольких игр с одной страницы.
 
- Улучшения для разработчиков:
- Клиентскому коду больше не нужно обрабатывать процессы аутентификации или выхода из системы, поскольку вход в систему происходит автоматически при запуске игры, а управление учетной записью осуществляется в настройках ОС.
Интеграция нового клиента
В этом разделе показано, как выполнить интеграцию нового клиента с Play Games Services Sign In v2.
Добавить зависимость
 Добавьте зависимость Play Game Services SDK в файл build.gradle корневого уровня вашего приложения. Если вы используете Gradle, вы можете добавить или обновить зависимость следующим образом:
dependencies {
 implementation "com.google.android.gms:play-services-games-v2:+"
}
Определить идентификатор проекта
Чтобы добавить идентификатор проекта Play Games Services SDK в свое приложение, выполните следующие действия:
- В файле - AndroidManifest.xmlвашего приложения добавьте следующий элемент- <meta-data>и атрибуты к элементу- <application>:- <manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>- Определите ссылку на строковый ресурс - @string/game_services_project_idиспользуя идентификатор проекта игровых сервисов вашей игры в качестве значения. Идентификатор проекта игровых сервисов можно найти под названием игры на странице конфигурации в консоли Google Play.
- В файле - res/values/strings.xmlдобавьте ссылку на строковый ресурс и укажите идентификатор вашего проекта в качестве значения. В Google Play Console идентификатор вашего проекта можно найти под названием игры на странице конфигурации . Например:- <!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
Инициализируйте SDK
 Инициализируйте Play Games SDK в обратном вызове onCreate(..) вашего класса Application .
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
  super.onCreate();
  PlayGamesSdk.initialize(this);
}
Получить результат аутентификации
При запуске игры всегда будет предпринята попытка аутентификации пользователя. Для этого необходимо убедиться, что пользователь успешно прошёл аутентификацию, а затем получить его идентификатор игрока.
 Чтобы проверить попытку аутентификации, вызовите GamesSignInClient.isAuthenticated() и используйте addOnCompleteListener для получения результатов. Например:
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
  boolean isAuthenticated =
    (isAuthenticatedTask.isSuccessful() &&
     isAuthenticatedTask.getResult().isAuthenticated());
  if (isAuthenticated) {
    // Continue with Play Games Services
  } else {
    // Show a sign-in button to ask players to authenticate. Clicking it should
    // call GamesSignInClient.signIn().
  }
});
 Если пользователь предпочитает не проходить аутентификацию при запуске игры, рекомендуется продолжать отображать кнопку со значком «Play Games» или предоставить пользователю экран входа с кнопкой со значком «Play Games» в качестве одного из вариантов аутентификации, а затем попытаться повторно аутентифицировать пользователя, вызвав метод GamesSignInClient.signIn() , если пользователь нажмёт кнопку. После проверки аутентификации пользователя можно получить идентификатор игрока (Play ID) для его идентификации. Например:
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
    // Get PlayerID with mTask.getResult().getPlayerId()
  }
);
