Nutzer nahtlos in Ihr Spiel einbinden und dabei Ihr eigenes Kontosystem weiter verwenden Mit den Recall APIs der Play-Spieldienste können Sie In-Game-Konten mit einem Google Play-Spieldienste-Konto verknüpfen. Wenn ein Nutzer Ihr Spiel dann auf verschiedenen Geräten spielt (oder auf demselben Gerät nach der Neuinstallation Ihres Spiels), fragen Sie das verknüpfte In-Game-Konto ab und optimieren den Anmeldevorgang.
Wenn Sie die Android Recall APIs eingebunden haben, sollten Ihnen diese Recall APIs bekannt vorkommen. Alle serverseitigen Einbindungen mit Play-Spieldienste-Recall können für PC-Titel wiederverwendet werden, da sie sowohl für Android als auch für PC gleich sind.
Voraussetzungen
Richten Sie das SDK ein.
Lesen Sie die Übersicht über die Recall API der Play-Spieldienste.
Schließen Sie die Einrichtung der Google Play-Spieldienste in der Play Console ab.
Schritt 1: Play-Spieldienste-Projekt-ID im Manifest hinzufügen
Nachdem Sie die Play-Spieldienste in der Play Console eingerichtet haben, hat Ihr Spiel jetzt eine zugehörige Play-Spieldienste-Projekt-ID. Aktualisieren Sie mit dieser Projekt-ID,
die Sie auf der Seite „Konfiguration“ der Play-Spieldienste in der Play Console finden, die Datei manifest.xml Ihres Spiels.
Beispiel für manifest.xml-Inhalte:
<?xml version="1.0" encoding="utf-8"?>
<?Manifest version="1">
<?Application>
<?PackageName>com.example.package<?/PackageName>
<?PlayGamesServices>
<?ProjectId>123456789<?/ProjectId>
<?/PlayGamesServices>
<?/Application>
<?/Manifest>
Schritt 2: Beim Anmelden Recall-Zugriff anfordern
Wenn Ihr Spiel einen Anmeldevorgang verarbeitet, z. B. das Hinzufügen eines In-Game
Kontos, fordern Sie mit
GamesRecallClient::RequestRecallAccess() Recall-Zugriff an.
Dieser Aufruf gibt eine Sitzungs-ID zurück, die von Ihrem Backend verwendet wird, um serverseitige Aufrufe an Google zu senden, um Ihre In-Game-Konten mit einem Play-Spieldienste-Nutzer zu verknüpfen und die Verknüpfung aufzuheben.
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
}
Schritt 3: Recall-Sitzungs-ID verarbeiten
Sobald Ihr Spiel die Recall-Sitzungs-ID hat und sie an Ihren Backend-Gameserver weitergeleitet hat, verwenden Sie die serverseitigen REST APIs der Play-Spieldienste, um Folgendes zu tun:
- Nach vorhandenen verknüpften In-Game-Konten suchen:
recall.retrieveTokens - Verknüpfte In-Game-Konten hinzufügen oder aktualisieren:
recall.linkPersona - Verknüpfte In-Game-Konten löschen:
recall.unlinkPersona
Eine ausführlichere Anleitung zur serverseitigen Einbindung finden Sie in der Dokumentation zur Verwendung der Recall API in Ihrem Gameserver.