Nutzer können sich nahtlos in Ihrem Spiel anmelden und gleichzeitig Ihr eigenes Kontosystem verwenden. Mit den APIs für die Abruffunktion der Play Spiele-Dienste können Sie In-Game-Konten mit einem Google Play Spiele-Konto verknüpfen. Wenn ein Nutzer Ihr Spiel auf verschiedenen Geräten oder auf demselben Gerät nach der Neuinstallation spielt, können Sie das verknüpfte In-Game-Konto abfragen und den Anmeldevorgang optimieren.
Wenn Sie die Android-Recall APIs eingebunden haben, sollten Ihnen diese Recall APIs bekannt vorkommen. Alle serverseitigen Integrationen mit Recall für Play-Spieldienste können für PC-Titel wiederverwendet werden, da sie für Android und PC identisch sind.
Voraussetzungen
Schließen Sie die SDK-Einrichtung ab.
Schließen Sie die Einrichtung der Google Play-Spieldienste in der Play Console ab.
Schritt 1: Projekt-ID von Play Spiele-Diensten in das Manifest einfügen
Nachdem Sie die Einrichtung der Play-Spieldienste in der Play Console abgeschlossen haben, ist Ihrem Spiel jetzt eine Projekt-ID der Play-Spieldienste zugewiesen. Aktualisieren Sie mit dieser Projekt-ID, die Sie in der Play Console auf der Konfigurationsseite der Play-Spieldienste finden, die 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: Zugriff auf die Funktion „Herunterladen“ bei der Anmeldung anfordern
Wenn Ihr Spiel einen Anmeldevorgang verarbeitet, z. B. ein In-Game-Konto hinzufügt, fordern Sie mit GamesRecallClient::RequestRecallAccess()
den Zugriff zum Widerrufen 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 Nutzer von Play Spielediensten zu verknüpfen oder zu entkoppeln.
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: Sitzungs-ID für die Rückruffunktion verarbeiten
Sobald Ihr Spiel die Sitzungs-ID für die Abruffunktion hat und sie an Ihren Back-End-Spielserver übergeben hat, können Sie die serverseitigen REST APIs von Play Spiele verwenden, um:
- Abfragen nach vorhandenen verknüpften In-Game-Konten mit
recall.retrieveTokens
- Verknüpfte In-Game-Konten mithilfe von
recall.linkPersona
hinzufügen oder aktualisieren - Verknüpfte In-Game-Konten mit
recall.unlinkPersona
löschen
Eine ausführlichere Anleitung zur serverseitigen Integration findest du in der Dokumentation zur Verwendung der Recall API auf deinem Gameserver.