Umożliwiaj użytkownikom logowanie się do gry bez konieczności rezygnowania z własnego systemu kont. Dzięki interfejsom API Recall usług gier Play możesz łączyć konta w grze z kontem usług gier Play. Gdy użytkownik gra w Twoją grę na różnych urządzeniach (lub na tym samym urządzeniu po ponownym zainstalowaniu gry), możesz wysyłać zapytania o połączone konto w grze i uprościć proces logowania.
Jeśli masz zintegrowane interfejsy API Recall na Androidzie, te interfejsy API Recall powinny być Ci znane. Wszystkie integracje po stronie serwera z usługami gier Play Recall mogą być ponownie wykorzystywane przez tytuły na PC, ponieważ są takie same na Androidzie i PC.
Przestrzeń nazw: PlayPcSdkManaged.Recall
Klasa klienta: RecallClient
Wymagania wstępne
Skonfiguruj usługi gier Google Play w Konsoli Play.
Dodaj identyfikator projektu usług gier Play w pliku manifestu
Po skonfigurowaniu usług gier Play w Konsoli Play Twoja gra ma teraz powiązany identyfikator projektu usług gier Play. Użyj tego identyfikatora projektu,
który znajdziesz na stronie konfiguracji usług gier Play w Konsoli Play,
aby zaktualizować plik manifest.xml swojej gry.
Przykład zawartości pliku 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>
Uwaga: jeśli chcesz używać pakietu SDK na PC podczas programowania w edytorze Unity bez konieczności podpisywania cyfrowo pliku wykonywalnego gry ani uruchamiania jej w Grach Play Google. Dodatkowe czynności związane z konfiguracją pliku manifestu znajdziesz w przewodniku po konfiguracji trybu dewelopera.
Utwórz klienta
Do utworzenia RecallClient zawsze używaj fabryki. Dzięki temu automatycznie zarejestrują się wywołania zwrotne bezpieczne dla Unity.
using UnityEngine; using System; using System.Threading.Tasks; // Required SDK Namespaces using PlayPcSdkManaged.Recall; using PlayPcSdkManaged.Unity; public class RecallManager : MonoBehaviour { private RecallClient _recallClient; public void SetupRecall() { try { // Creates the client with the required UnityRecallCallbacksHandler _recallClient = PlayPcSdkFactory.CreateRecallClient(); Debug.Log("Recall Client created successfully."); } catch (Exception ex) { Debug.LogError($"Failed to create Recall Client: {ex.Message}"); } } private void OnDestroy() { // Always dispose of the client to clean up native C++ resources _recallClient?.Dispose(); } }
Poproś o dostęp do Recall
Gdy Twoja gra obsługuje proces logowania, np. dodawanie konta w grze, poproś o dostęp do Recall za pomocą
RequestRecallAccessAsync.
To wywołanie zwraca identyfikator sesji , który jest używany przez backend do wykonywania wywołań po stronie serwera do Google w celu łączenia i rozłączania kont w grze z użytkownikiem usług gier Play.
public async Task RequestRecallAccessAsync() { try { Debug.Log("Requesting Recall access..."); // Async call to retrieve the session ID var result = await _recallClient.RequestRecallAccessAsync(); if (result.IsOk) { // On success, access the RecallSessionId var sessionId = result.Value.RecallSessionId; Debug.Log($"Recall Access Granted! Session ID: {sessionId}"); // Pass 'sessionId' to your backend server to process account linking } else { // Handle expected API errors (e.g., Error) Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}"); } } catch (Exception ex) { Debug.LogException(ex); } }
Przetwarzanie identyfikatora sesji Recall
Gdy Twoja gra ma identyfikator sesji Recall i przekazała go do serwera backendu , użyj interfejsów API REST usług gier Play po stronie serwera, aby:
- wysyłać zapytania o istniejące połączone konta w grze za pomocą
recall.retrieveTokens - dodawać lub aktualizować połączone konta w grze za pomocą
recall.linkPersona - usuwać połączone konta w grze za pomocą
recall.unlinkPersona
Bardziej szczegółowy przewodnik dotyczący integracji po stronie serwera znajdziesz w dokumentacji opisującej, jak używać interfejsu API Recall na serwerze gry.