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

Zaimportuj nowy wtyczkę do projektu Unity.
Aby zaimportować wtyczkę do projektu Unity, wykonaj te czynności:
- Otwórz projekt gry.
- W Unity Hub kliknij Assets > Import Package > Custom Package (Zasoby > Importuj pakiet > Własny pakiet), aby zaimportować pobrany plik
unitypackage
do zasobów projektu. Sprawdź, czy bieżąca platforma kompilacji jest ustawiona na Android.
W menu głównym kliknij Plik > Ustawienia kompilacji.
Wybierz Android i kliknij Przełącz platformę.
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.
W Unity Hub kliknij File > Build Settings > Player Settings > Other Settings (Plik > Ustawienia kompilacji > Ustawienia odtwarzacza > Inne ustawienia).
W polu Docelowy poziom API wybierz wersję.
W polu Backend skryptów wpisz
IL2CPP
.W polu Architektury docelowe wybierz wartość.
Zanotuj nazwę pakietu package_name.Te informacje możesz wykorzystać później.
Ustawienia odtwarzacza w projekcie 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ć.
Udało się zalogować.
Logowanie automatyczne działa. Po uruchomieniu gry użytkownik powinien być zalogowany w usługach gier Play.
Wyświetli się wyskakujące okienko powitalne.
Przykładowe wyskakujące okienko z powitaniem (kliknij, aby powiększyć). 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 ]
Zadbaj o spójność komponentów interfejsu.
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.
Opcja wylogowania nie jest widoczna w interfejsie usług gier Play.
Sprawdź, czy możesz pobrać identyfikator odtwarzacza i czy w odpowiednich przypadkach funkcje po stronie serwera działają zgodnie z oczekiwaniami.
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.