С легкостью вводите пользователей в свою игру, продолжая использовать собственную систему учетных записей. С помощью API отзыва игровых сервисов Play вы можете связать внутриигровые учетные записи с учетной записью игровых сервисов Google Play, а затем, когда пользователь играет в вашу игру на разных устройствах (или на одном и том же устройстве после переустановки игры), вы запрашиваете связанную внутриигровую учетную запись и оптимизируете процесс входа.
Если вы интегрировались с API-интерфейсами Android Recall , эти API-интерфейсы Recall должны выглядеть знакомо. Любую серверную интеграцию с Play Games Services Recall можно повторно использовать в играх для ПК, поскольку они одинаковы как для Android, так и для ПК.
Предварительные условия
- Завершите настройку SDK . 
- Прочтите обзор API отзыва игровых сервисов Play . 
- Завершите настройку игровых сервисов Google Play в Play Console. 
Шаг 1. Добавьте идентификатор проекта игровых сервисов Play в манифест.
 После завершения настройки игровых сервисов Play в Play Console у вашей игры теперь есть связанный идентификатор проекта игровых сервисов Play. Используя этот идентификатор проекта, который можно найти на странице конфигурации Play Games Service в Play Console, обновите manifest.xml вашей игры.xml.
 Пример содержимого файла manifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
    <Application>
        <PackageName>com.example.package</PackageName>
        <PlayGamesServices>
            <ProjectId>123456789</ProjectId>
        </PlayGamesServices>
    </Application>
</Manifest>
Шаг 2. Запросите доступ к отзыву при входе в систему.
 Когда ваша игра обрабатывает процесс входа в систему, например добавляет игровую учетную запись, запросите доступ к отзыву с помощью GamesRecallClient::RequestRecallAccess() .
Этот вызов возвращает идентификатор сеанса, который используется вашим сервером для выполнения серверных вызовов Google для связывания и отключения ваших внутриигровых учетных записей с пользователем игровых сервисов Play.
auto promise = std::make_shared<std::promise<RecallAccessResult>>();
games_recall_client.RequestRecallAccess(params, [promise](RecallAccessResult result) {
   promise->set_value(std::move(result));
});
auto recall_access_result = promise->get_future().get();
if (recall_access_result.ok()) {
   auto recall_session_id = recall_access_result.value().recall_session_id;
   // Pass the recall session ID to your backend game server so it can query
   // for an existing linked in-game account.
   // - If you discover an existing linked in-game account, continue to sign-in
   //   the in-game account. This provides a seamless cross-device sign-in
   //   experience.
   // - If there is not an existing linked in-game account, when the user
   //   completes the sign-in using your in-game account system record the
   //   account linking with Play Games Services Recall. This helps to provide
   //   a seamless cross-device sign-in experience when the user returns on a
   //   different device or after re-installing your game on the same device.
} else {
   // Handle the error
}
Шаг 3. Обработка идентификатора сеанса отзыва.
Как только ваша игра получит идентификатор сеанса отзыва и передаст его на внутренний игровой сервер, используйте серверные REST API Play Games, чтобы:
-  Запрос существующих связанных внутриигровых учетных записей с помощью recall.retrieveTokens
-  Добавьте или обновите связанные внутриигровые учетные записи с помощью recall.linkPersona
-  Удалите связанные внутриигровые учетные записи с помощью recall.unlinkPersona
Более подробное руководство по интеграции на стороне сервера см. в документации по использованию Recall API на вашем игровом сервере .