Faça com que os usuários façam login no seu jogo sem problemas, enquanto você continua usando seu próprio sistema de contas. Com as APIs Recall dos serviços do Google Play Games, é possível vincular contas no jogo a uma conta dos serviços do Google Play Games. Assim, quando um usuário joga em diferentes dispositivos (ou no mesmo dispositivo após reinstalar o jogo), você consulta a conta vinculada no jogo e simplifica o fluxo de login.
Se você fez a integração com as APIs Recall do Android, essas APIs Recall devem ser familiares. Todas as integrações do lado do servidor com o Recall dos serviços relacionados a jogos do Google Play podem ser reutilizadas por títulos de PC, já que são as mesmas no Android e no PC.
Pré-requisitos
Conclua a configuração do SDK.
Leia a visão geral da API Recall dos serviços do Google Play Games.
Conclua a configuração dos serviços do Google Play Games no Play Console.
Etapa 1: adicionar o ID do projeto dos serviços do Google Play Games no manifesto
Depois de concluir a configuração dos serviços do Google Play Games no Play Console, seu jogo terá um ID do projeto associado. Usando esse ID do projeto,
que pode ser encontrado na página de configuração dos serviços relacionados a jogos do Google Play no Play Console, atualize
o manifest.xml do jogo.
Exemplo de conteúdo 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>
Etapa 2: solicitar acesso ao Recall ao fazer login
Quando o jogo estiver processando um fluxo de login, por exemplo, adicionando uma conta no jogo
, solicite acesso ao Recall usando
GamesRecallClient::RequestRecallAccess().
Essa chamada retorna um ID de sessão usado pelo back-end para fazer chamadas do lado do servidor ao Google para vincular e desvincular suas contas no jogo a um usuário dos serviços relacionados a jogos do 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
}
Etapa 3: processar o ID da sessão do Recall
Depois que o jogo tiver o ID da sessão do Recall e o tiver transmitido ao servidor de jogos de back-end, use as APIs REST do lado do servidor do Play Games para:
- Consultar contas vinculadas no jogo usando
recall.retrieveTokens - Adicionar ou atualizar contas vinculadas no jogo usando
recall.linkPersona - Excluir contas vinculadas no jogo usando
recall.unlinkPersona
Para um guia mais detalhado sobre a integração do lado do servidor, consulte a documentação sobre como usar a API Recall no servidor de jogos.