Consenti agli utenti di accedere facilmente al tuo gioco continuando a utilizzare il tuo sistema di account. Con le API Play Games Services Recall puoi collegare gli account in-game a un account Google Play Services, quindi quando un utente gioca al tuo gioco su diversi dispositivi (o sullo stesso dispositivo dopo aver reinstallato il gioco), puoi eseguire query sull'account in-game collegato e semplificare il flusso di accesso.
Se hai eseguito l'integrazione con le API di richiamo di Android, queste API di richiamo dovrebbero essere familiari. Qualsiasi integrazione lato server con Recall dei servizi per i giochi di Play può essere riutilizzata dai titoli per PC, in quanto sono uguali su Android e PC.
Prerequisiti
Completa la configurazione dell'SDK.
Leggi la panoramica dell'API Recall di Play Services.
Completa la configurazione dei servizi per i giochi di Google Play in Play Console.
Passaggio 1: aggiungi l'ID progetto Play Services per i giochi nel file manifest
Dopo aver completato la configurazione dei servizi per i giochi di Play in Play Console, il tuo gioco ora ha un ID progetto dei servizi per i giochi di Play associato. Utilizza questo ID progetto,
che puoi trovare nella pagina di configurazione dei servizi per i giochi di Google Play in Play Console, per aggiornare
manifest.xml
del tuo gioco.
Esempio di contenuti 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>
Passaggio 2: richiedi l'accesso con Avviso di richiamo al momento dell'accesso
Quando il tuo gioco gestisce un flusso di accesso, ad esempio l'aggiunta di un account in-game, richiedi l'accesso con Recall utilizzando GamesRecallClient::RequestRecallAccess()
.
Questa chiamata restituisce un ID sessione che viene utilizzato dal tuo backend per effettuare chiamate lato server a Google per il collegamento e lo scollegamento dei tuoi account in-game con un utente di Play Services.
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
}
Passaggio 3: elabora l'ID sessione di Recall
Una volta che il gioco ha l'ID sessione di richiamo e lo ha passato al server di gioco di backend, utilizza le API REST lato server di Play Giochi per:
- Eseguire query per gli account in-game collegati esistenti utilizzando
recall.retrieveTokens
- Aggiungere o aggiornare gli account in-game collegati utilizzando
recall.linkPersona
- Eliminare gli account in-game collegati utilizzando
recall.unlinkPersona
Per una guida più dettagliata sull'integrazione lato server, consulta la documentazione su come utilizzare l'API Recall all'interno del tuo server di gioco.