Umożliwia płynne logowanie użytkowników w grze przy jednoczesnym korzystaniu z własnego systemu kont. Interfejsy Recall API w usługach Gier Google Play umożliwiają łączenie kont w grze z kontem w usługach Gier Google 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 wysłać zapytanie o połączone konto w grze i uprościć proces logowania.
Jeśli masz zintegrowane interfejsy Recall API na Androidzie, te interfejsy Recall API powinny być Ci znane. Wszystkie integracje po stronie serwera z funkcją wycofywania usług gier Play można ponownie wykorzystać w przypadku gier na PC, ponieważ są one takie same na Androidzie i PC.
Przestrzeń nazw: PlayPcSdkManaged.Recall
Klasa klienta: RecallClient
Wymagania wstępne
Przeczytaj omówienie interfejsu API odzyskiwania danych logowania w usługach gier Play.
Dokończ konfigurowanie usług gier Google Play w Konsoli Play.
Dodawanie identyfikatora projektu usług gier Play do pliku manifestu
Po zakończeniu konfigurowania usług gier Play w Konsoli Play Twoja gra będzie miała powiązany identyfikator projektu usług gier Play. Używając tego identyfikatora projektu, który znajdziesz na stronie konfiguracji usług Gier Play w Konsoli Play, zaktualizuj manifest.xml w swojej grze.
Przykładowa zawartość 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 tworzenia w edytorze Unity bez konieczności podpisywania cyfrowo pliku wykonywalnego gry ani uruchamiania jej w Grach Play Google. Dodatkowe kroki konfiguracji pliku manifestu znajdziesz w przewodniku po konfiguracji trybu programisty.
Tworzenie klienta
Zawsze używaj fabryki do tworzenia RecallClient. Dzięki temu bezpieczne wywołania zwrotne Unity są rejestrowane automatycznie.
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(); } }
Prośba o dostęp do funkcji Przywołaj
Gdy gra obsługuje proces logowania, np. dodawanie konta w grze, poproś o dostęp do funkcji Recall za pomocą kodu 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 połączenia i rozłączenia 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 wycofania
Gdy gra uzyska identyfikator sesji Recall i przekaże go do backendowego serwera gry, użyj interfejsów API REST usług Gier Play po stronie serwera, aby:
- Wyszukiwanie istniejących połączonych kont w grze za pomocą zapytania
recall.retrieveTokens - Dodawanie lub aktualizowanie połączonych kont w grze za pomocą
recall.linkPersona - Usuwanie połączonych kont w grze za pomocą
recall.unlinkPersona
Bardziej szczegółowy przewodnik dotyczący integracji po stronie serwera znajdziesz w dokumentacji, która zawiera informacje o tym, jak używać interfejsu Recall API na serwerze gry.