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.](https://developer.android.com/static/images/games/pgs/unityfolders.png?hl=pl)
Importowanie nowego wtyczki do projektu Unity
Aby zaimportować wtyczkę do projektu Unity, wykonaj te czynności:
- Otwórz projekt gry.
- W Unity Hub kliknij 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 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.
W Unity Hub kliknij Plik > Ustawienia kompilacji > Ustawienia odtwarzacza > Inne ustawienia.
W polu Docelowy poziom interfejsu API wybierz wersję.
W polu Backend skryptów wpisz
IL2CPP
.W polu Docelowe architektury wybierz wartość.
Zanotuj nazwę pakietu package_name.Możesz jej użyć później.
Ustawienia gracza w projekcie 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.
Zalogowano się pomyślnie.
Logowanie automatyczne działa. Użytkownik powinien być zalogowany w usługach gier Play, gdy uruchamia grę.
Wyświetla się wyskakujące okienko powitalne.
Przykładowe wyskakujące okienko powitalne (kliknij, aby powiększyć). 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 ]
Zadbaj o spójność komponentów interfejsu.
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.
Opcja wylogowania nie jest widoczna w interfejsie usług gier Play.
Sprawdź, czy możesz pobrać identyfikator gracza i czy funkcje po stronie serwera działają zgodnie z oczekiwaniami.
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 scenariuszyclient 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.