Migracja do wersji 2 usług gier Play (Unity)

Z tego dokumentu dowiesz się, jak przenieść istniejące gry z pakietu SDK gier w wersji 1 do pakietu SDK gier w wersji 2. Wtyczka Play Games do Unity w wersjach 10 i starszych korzysta z pakietu SDK gier w wersji 1.

Zanim zaczniesz

  • Upewnij się, że masz już skonfigurowaną Konsolę Play i zainstalowany Unity Hub.

Pobierz wtyczkę Gry Google Play do Unity

Aby korzystać z najnowszych funkcji Usług Google Play, pobierz i zainstaluj najnowszą wersję wtyczki. Pobierz go z repozytorium GitHub.

Usuwanie starego wtyczka

W Unity Hub usuń te foldery lub pliki:

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Usuń wyróżnione foldery w projekcie Unity.
Usuń wyróżnione foldery w projekcie Unity (kliknij, aby powiększyć).

Importowanie nowego wtyczki do projektu Unity

Aby zaimportować wtyczkę do projektu Unity, wykonaj te czynności:

  1. Otwórz projekt gry.
  2. W Unity Hub kliknij Zasoby > Importuj pakiet > Własny pakiet, aby zaimportować pobrany plik unitypackage do zasobów projektu.
  3. Sprawdź, czy bieżąca platforma kompilacji jest ustawiona na Android.

    1. W menu głównym kliknij Plik > Ustawienia kompilacji.

    2. Wybierz Android i kliknij Przełącz platformę.

    3. W menu Okno > Gry Google Play powinien pojawić się nowy element menu. Jeśli nie ma żadnych zasobów, odśwież je, klikając Zasoby > Odśwież, a następnie spróbuj ponownie skonfigurować platformę kompilacji.

  4. W Unity Hub kliknij Plik > Ustawienia kompilacji > Ustawienia odtwarzacza > Inne ustawienia.

  5. W polu Docelowy poziom interfejsu API wybierz wersję.

  6. W polu Backend skryptów wpisz IL2CPP.

  7. W polu Docelowe architektury wybierz wartość.

  8. Zanotuj nazwę pakietu package_name.Możesz jej użyć później.

    Ustawienia odtwarzacza w projekcie Unity
    Ustawienia gracza w projekcie Unity.
  9. Kopiowanie zasobów Androida z Konsoli Play

  10. Dodawanie zasobów Androida do projektu Unity

Aktualizowanie kodu logowania automatycznego

Zastąp klasę inicjowania PlayGamesClientConfiguration klasą PlayGamesPlatform.Instance.Authenticate(). Inicjowanie i aktywowanie PlayGamesPlatform nie jest wymagane. Wywołanie PlayGamesPlatform.Instance.Authenticate() pobiera wynik automatycznego logowania.

C#

W Unity Hub znajdź pliki z klasą PlayGamesClientConfiguration.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

Zmień go na:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Wybierz platformę społecznościową

Aby wybrać platformę społecznościową, zapoznaj się z artykułem Wybieranie platformy społecznościowej.

Pobieranie kodów uwierzytelniania serwera

Aby uzyskać kody dostępu po stronie serwera, zapoznaj się z artykułem Pobieranie kodów uwierzytelniania po stronie serwera.

Usuwanie kodu wylogowywania

Usuń kod logowania. Usługi Gier Play nie wymagają już przycisku wylogowania w grze.

Usuń kod pokazany w tym przykładzie:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Testowanie gry

Przetestuj grę, aby sprawdzić, czy działa zgodnie z zamierzeniami. Testy, które przeprowadzasz, zależą od funkcji gry.

Poniżej znajdziesz listę typowych testów do wykonania.

  1. Zalogowano się pomyślnie.

    1. Logowanie automatyczne działa. Użytkownik powinien być zalogowany w usługach gier Play, gdy uruchamia grę.

    2. Wyświetla się wyskakujące okienko powitalne.

      Przykładowe wyskakujące okienko powitalne
      Przykładowe wyskakujące okienko powitalne (kliknij, aby powiększyć).

    3. Wyświetlają się komunikaty o udanym zapisaniu danych do dziennika. Uruchom w terminalu to polecenie:

      adb logcat | grep com.google.android.

      Przykład komunikatu o udanym wykonaniu:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Zadbaj o spójność komponentów interfejsu.

    1. Wyskakujące okienka, tabele wyników i osiągnięcia wyświetlają się prawidłowo i w sposób spójny na różnych rozmiarach i orientacjach ekranu w interfejsie Usług Gier Play.

    2. Opcja wylogowania nie jest widoczna w interfejsie usług gier Play.

    3. Sprawdź, czy możesz pobrać identyfikator gracza i czy funkcje po stronie serwera działają zgodnie z oczekiwaniami.

    4. Jeśli gra używa uwierzytelniania po stronie serwera, dokładnie przetestuj proces requestServerSideAccess. Upewnij się, że serwer otrzyma kod autoryzacji i będzie mógł go wymienić na token dostępu. Testuj scenariusze powodzenia i niepowodzenia w przypadku błędów sieci i nieprawidłowych scenariuszy client ID.

Jeśli Twoja gra używała którejś z tych funkcji, przetestuj ją, aby upewnić się, że działa tak samo jak przed migracją:

  • Tabele wyników: możesz przesyłać wyniki i wyświetlać tabele wyników. Sprawdź, czy nazwy i wyniki graczy są prawidłowo wyświetlane i czy prawidłowo wyświetlane jest też ich ranking.
  • Osiągnięcia: odblokuj osiągnięcia i sprawdź, czy są one prawidłowo rejestrowane i wyświetlane w interfejsie Gier Play.
  • Zapisane gry: jeśli gra korzysta z zapisanych gier, sprawdź, czy zapisywanie i wczytywanie postępów w grze działa bez zarzutu. Jest to szczególnie ważne w przypadku testów na wielu urządzeniach i po aktualizacji aplikacji.

Zadania po migracji

Po migracji do pakietu SDK Games 2 wykonaj te czynności.

  1. Używanie podpisywania aplikacji przez Google Play

  2. Tworzenie pliku AAB

  3. Tworzenie wewnętrznej wersji testowej

  4. Weryfikacja danych logowania do podpisywania aplikacji