Intégrer la fonctionnalité Recall des services de jeux Play à votre application

Connectez facilement les utilisateurs à votre jeu tout en continuant à utiliser votre propre système de compte. Avec les API de rappel des services de jeux Play, vous pouvez associer des comptes de jeu à un compte de services de jeux Google Play. Ensuite, lorsqu'un utilisateur joue à votre jeu sur différents appareils (ou sur le même appareil après avoir réinstallé votre jeu), vous interrogez le compte de jeu associé et simplifiez le processus de connexion.

Si vous avez intégré les API Android Recall, ces API Recall devraient vous sembler familières. Toutes les intégrations côté serveur avec le rappel des services de jeux Play peuvent être réutilisées par les titres PC, car elles sont identiques sur Android et PC.

Prérequis

Étape 1: Ajoutez l'ID de votre projet Play Jeux dans le fichier manifeste

Une fois la configuration des services de jeux Play dans la Play Console terminée, votre jeu dispose d'un ID de projet Play Services associé. À l'aide de cet ID de projet, que vous trouverez sur la page de configuration du service Play Jeux dans la Play Console, mettez à jour le manifest.xml de votre jeu.

Exemples de contenus 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>

Étape 2: Demander l'accès à la fonctionnalité Rappel lors de la connexion

Lorsque votre jeu gère un flux de connexion, par exemple en ajoutant un compte dans le jeu, demandez l'accès à la récupération à l'aide de GamesRecallClient::RequestRecallAccess().

Cet appel renvoie un ID de session, qui est utilisé par votre backend pour effectuer des appels côté serveur auprès de Google pour associer et dissocier vos comptes de jeu à un utilisateur des services de jeux 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
}

Étape 3: Traiter l'ID de session de rappel

Une fois que votre jeu dispose de l'ID de session de rappel et l'a transmis à votre serveur de jeu backend, utilisez les API REST côté serveur de jeux Play pour:

Pour obtenir un guide plus détaillé sur l'intégration côté serveur, consultez la documentation expliquant comment utiliser l'API Recall dans votre serveur de jeu.