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 na pakiet SDK gier w wersji 2. Wtyczka Usług gier Play do silnika Unity w wersji 10 i starszych korzysta z pakietu SDK usług gier w wersji 1.

Zanim zaczniesz

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

Pobieranie wtyczki Gry Google Play do Unity

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

Usuwanie starej wtyczki

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ć).

Zaimportuj nowy wtyczkę do projektu Unity.

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

  1. Otwórz projekt gry.
  2. W Unity Hub kliknij Assets > Import Package > Custom Package (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 powinna pojawić się nowa pozycja. Jeśli nie, odśwież zasoby, klikając Zasoby > Odśwież, a następnie spróbuj ponownie ustawić platformę kompilacji.

  4. W Unity Hub kliknij File > Build Settings > Player Settings > Other Settings (Plik > Ustawienia kompilacji > Ustawienia odtwarzacza > Inne ustawienia).

  5. W polu Docelowy poziom API wybierz wersję.

  6. W polu Backend skryptów wpisz IL2CPP.

  7. W polu Architektury docelowe wybierz wartość.

  8. Zanotuj nazwę pakietu package_name.Te informacje możesz wykorzystać później.

    Ustawienia odtwarzacza w projekcie Unity
    Ustawienia odtwarzacza 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ę inicjującą 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();
}

i zaktualizuj ją do tej wartości:

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 serwera.

Usuwanie kodu wylogowania

Usuń kod, aby się wylogować. Usługi gier Play nie wymagają już przycisku wylogowania w grze.

Usuń kod widoczny w tym przykładzie:

C#

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

Testowanie gry

Sprawdź, czy gra działa zgodnie z założeniami. Przeprowadzane testy zależą od funkcji gry.

Poniżej znajdziesz listę typowych testów, które warto przeprowadzić.

  1. Udało się zalogować.

    1. Logowanie automatyczne działa. Po uruchomieniu gry użytkownik powinien być zalogowany w usługach gier Play.

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

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

    3. Wyświetlą się komunikaty dziennika o udanych operacjach. Uruchom w terminalu to polecenie:

      adb logcat | grep com.google.android.

      Komunikat dziennika o udanej aktualizacji wygląda tak:

      [$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 spójnie na różnych rozmiarach i orientacjach ekranu w interfejsie użytkownika Usług Gier Play.

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

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

    4. Jeśli gra korzysta z uwierzytelniania po stronie serwera, dokładnie przetestuj proces requestServerSideAccess. Sprawdź, czy serwer otrzymuje kod autoryzacji i może go wymienić na token dostępu. Przetestuj zarówno scenariusze powodzenia, jak i niepowodzenia w przypadku błędów sieci i nieprawidłowych scenariuszy.client ID

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

  • Tabele wyników: przesyłaj wyniki i wyświetlaj tabele wyników. Sprawdź, czy nazwy graczy i wyniki są prawidłowo wyświetlane i usystematyzowane.
  • Osiągnięcia: odblokuj osiągnięcia i sprawdź, czy są prawidłowo rejestrowane i wyświetlane w interfejsie Usług Gier Play.
  • Zapisane gry: jeśli gra korzysta z zapisanych gier, upewnij się, że zapisywanie i wczytywanie postępów w grze działa bez zarzutu. Jest to szczególnie ważne w przypadku testowania na wielu urządzeniach i po aktualizacjach aplikacji.

Zadania po migracji

Po migracji do pakietu SDK do gier w wersji 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