Tworzenie za pomocą emulatora dla deweloperów Gier Google Play na PC

Emulator Gier Google Play na PC dla deweloperów to emulator Gier Google Play na PC przeznaczony dla deweloperów. W przeciwieństwie do odtwarzacza możesz instalować i debugować własne pakiety. Możesz też symulować różne konfiguracje odtwarzacza, takie jak proporcje, emulacja myszy i sprzęt do generowania grafiki, aby mieć pewność, że gra działa zgodnie z oczekiwaniami na różnych konfiguracjach PC.

Uruchamianie emulatora

Po zainstalowaniu pojawi się element menu „Emulator dewelopera w Gry Google Play” oraz skrót na pulpicie umożliwiający uruchomienie emulatora. Po zamknięciu okna emulator pozostanie w obszarze systemowym.

Zaloguj się

Po uruchomieniu emulatora po raz pierwszy zostaniesz poproszony(-a) o zalogowanie się na konto Google. Użyj tych samych danych logowania, których zamierzasz używać podczas tworzenia.

Aby się wylogować, kliknij prawym przyciskiem myszy ikonę na pasku systemowym, wybierz Opcje dla deweloperów, a następnie kliknij Wymuś wylogowanie. Gdy to zrobisz, emulator natychmiast się zrestartuje i poprosi Cię o ponowne zalogowanie.

Po uruchomieniu zobaczysz typowy ekran główny Androida. Kliknięcia lewym przyciskiem myszy są bezpośrednio przekształcane w kliknięcia palcem, tak jak w trybie emulacji myszy. Gry załadowane na potrzeby rozwoju wyświetlają się na liście aplikacji, do której można przejść, klikając i przeciągając w górę na komputerze (co emuluje przesunięcie w górę na telefonie lub tablecie).

Oprócz obsługi myszy Emulator Gier Google Play na PC dla deweloperów udostępnia skróty klawiszowe, które ułatwiają nawigację:

  • Ctrl + H: naciśnij przycisk Home.
  • Ctrl + B: naciśnij przycisk Wstecz
  • F11 lub Alt + Enter: przełączanie między trybem pełnoekranowym a trybem okna
  • Shift + Tab: otwiera nakładkę Google Play Games na PC, w tym bieżące mapowania klawiszy pakietu SDK do wprowadzania danych.

Instalowanie gry

Emulator Gier Google Play na PC dla deweloperów do instalowania pakietów korzysta z Android Debug Bridge (adb).

Zgodność z adb

Aktualne wersje adb są zgodne z emulatorem deweloperskim Gier Google Play na PC. Dodatkowo podczas instalowania emulatora na urządzeniu C:\Program Files\Google\Play Games Developer Emulator\current\emulator zostanie zainstalowana zgodna wersja.

Aby wykonać te czynności, musisz mieć dostęp do narzędzia adb na urządzeniu $PATH. Aby sprawdzić, czy adb jest prawidłowo skonfigurowany, użyj polecenia adb devices.

adb devices
List of devices attached
localhost:6520  device

Instalowanie gry

  • Uruchom Google Play Games for PC Emulator
  • W wierszu poleceń wpisz adb devices. Powinieneś/powinnaś zobaczyć:

    adb devices
    List of devices attached
    localhost:6520 device
  • Rozwiązywanie problemów:

    • Jeśli pojawi się błąd, sprawdź, czy postępujesz zgodnie z instrukcjami podanymi w artykule Zgodność Adb.
    • Jeśli nie widzisz urządzenia, spróbuj połączyć się przez port 6520:
    adb connect localhost:6520
  • Aby zainstalować grę, wpisz adb install path\to\your\game.apk. Jeśli wygenerowałeś pakiet aplikacji na Androida (aab), zapoznaj się z instrukcjami dotyczącymi bundletool i zamiast tego użyj polecenia bundletool install-apks.

  • Uruchom grę:

    • Aby uruchomić grę, wpisz adb shell monkey -p your.package.name 1, zastępując your.package.name nazwą pakietu gry.
    • W emulatorze deweloperskim Gier Google Play na PC kliknij ikonę, aby uruchomić grę. Podobnie jak na telefonie z Androidem, aby wyświetlić listę zainstalowanych gier, musisz przesunąć palcem w górę na ekranie głównym.

Debugowanie gry

Aby debugować, użyj narzędzia Android Debug Bridge (adb) w taki sam sposób jak w przypadku innych gier. Emulator jest widoczny jako urządzenie połączone przez localhost:6520.

adb logcat działa zgodnie z oczekiwaniami, podobnie jak narzędzia ułatwiające upiększanie lub filtrowanie danych wyjściowych logcat, w tym Android Studio.

Oprócz adb możesz uzyskać dostęp do logów w katalogu %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. Najbardziej przydatne jest tutaj AndroidSerial.log, które odpowiada za wszystko, co adb logcat powinien echować od momentu uruchomienia emulatora.

Ustawienia programisty

Emulator Gier Google Play na PC dla deweloperów skupia się na efektywności deweloperów, a nie na wrażeniach użytkowników. Oznacza to, że masz pełny dostęp do systemu Androida, w tym możliwość korzystania ze standardowego menu uruchamiania Androida zamiast Gier Google Play na PC, a także kontrolę nad funkcjami, które są automatycznie włączane i wyłączane dla graczy.

Testowanie sygnału myszy

Podczas tworzenia gry w Gry Google Play na PC użyj emulatora dla deweloperów, który domyślnie emuluje dotyk, a nie bezpośrednie sterowanie za pomocą myszy. Aby włączyć bezpośrednie sterowanie myszką, kliknij prawym przyciskiem myszy ikonę w obszarze powiadomień, wybierz Opcje dla deweloperów, a następnie Tryb komputera (KiwiMouse).

Gry Google Play na PC mają 2 tryby myszy: emulowany, który przekształca kliknięcia myszą w pojedyncze dotknięcia, oraz tryb „przesyłający” (PC), który pozwala grom na obsługę działań myszy w natywnym środowisku i przechwytywanie kursora. Szczegółowe informacje o używaniu myszy w Gry Google Play na PC znajdziesz w artykule Konfigurowanie sterowania myszką.

W pliku manifestu klienta odtwarzacza można wyłączyć emulację, dodając ten kod:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

Ten parametr funkcji nie ma żadnego wpływu w środowisku programistycznym.

Testowanie formatów obrazu

Emulator dla deweloperów uruchamia się w formacie 16:9, w przeciwieństwie do klienta odtwarzacza, który pobiera format z ekranu głównego. Kliknij prawym przyciskiem ikonę na pasku systemowym, wybierz Opcje dla deweloperów, a następnie dowolną opcję w sekcji Format obrazu. Dzięki temu możesz sprawdzić, jak gra wygląda na ekranach różnych graczy.

Preferowana metoda konfigurowania proporcji to użycie android:minAspectRatio i android:maxAspectRatio.

Na przykład gra w formacie pionowym ma proporcje 9/16 lub 0.5625, więc warto ustawić maksymalne proporcje 1, aby gra nie była szersza niż kwadrat:

<activity android:maxAspectRatio="1">
 ...
</activity>

Podobnie w przypadku gry w orientacji poziomej będzie to 16/9 lub około 1.778, więc warto ustawić minimalny współczynnik proporcji 1, aby nie był on węższy niż kwadrat:

<activity android:minAspectRatio="1">
 ...
</activity>

Co testować

Jeśli gra obsługuje tylko tryb pionowy w pliku manifestu, w menu możesz wybrać 9:16 (Portrait), aby sprawdzić, jak wygląda na komputerach graczy. W przeciwnym razie sprawdź, czy gra działa w najszerszym i najwęźszym formacie poziomym, który obsługuje w pliku manifestu. Pamiętaj, że format 16:9 (domyślny) (lub 9:16 (Portrait), jeśli gra jest tylko w formacie pionowym) jest wymagany do uzyskania pełnej certyfikacji.

Testowanie backendów renderowania

Gry Google Play na PC korzystają z Vulkana do renderowania gier, co jest wspólne dla środowisk zarówno Androida, jak i komputerów PC. Warstwę piaskownicy stosuje się do oddzielenia środowiska komputera PC i Androida. Ponieważ wiele gier nadal używa OpenGL ES do renderowania, ANGLE będzie konwertować polecenia OpenGL ES na polecenia Vulkan zgodne z hostowanym komputerem PC.

Podobnie Gry Google Play na PC maksymalizują zgodność gier i minimalizują wysiłki deweloperów, automatycznie konwertując formaty tekstur przyjazne urządzeniom mobilnym, takie jak ETC1 i ETC2, na formaty przyjazne komputerom w czasie działania. Aby uzyskać najlepsze wyniki, unikaj tej konwersji, korzystając z formatów obsługiwanych przez karty graficzne PC, takich jak DXTC lub BPTC.

Co testować

Jeśli w grze występują nieoczekiwane artefakty związane z renderowaniem, sprawdź źródłową grafikę i rozważ przekształcenie jej w format przyjazny dla komputerów PC. Zwróć szczególną uwagę na tekstury używane do bardziej zaawansowanych efektów, ponieważ problemy z mapą normalną lub mapą sześcien są często trudniejsze do zauważenia niż problemy z albedo.

Konwersja poleceń OpenGL ES na Vulkan przez ANGLE spowoduje pewne obciążenie. Sprawdź, czy osiągasz oczekiwaną wydajność, i rozważ przejście na procesor graficzny Vulkan.

Profilowanie gry na PC

Ponieważ emulator korzysta z tej samej technologii co klient konsumencki, jest to odpowiednie środowisko do profilowania wydajności.

Perfetto to narzędzie do analizowania wydajności na urządzeniach z Androidem. Aby zebrać i wyświetlić ślad usługi Peretto, wykonaj te czynności:

  1. W promptzie PowerShell uruchom śledzenie za pomocą adb.

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Flaga --time określa czas trwania zebranego śladu. W tym przykładzie śledzenie trwa 10 sekund.
    2. Argumenty po parametrze --time wskazują, które zdarzenia mają być śledzone. W tym przykładzie gfx oznacza grafikę, wm – zarządzanie oknem, a sched – informacje o planowaniu procesu. To są typowe flagi do profilowania gier. Pełna lista jest dostępna.
    3. Flaga --out określa plik wyjściowy, który w następnym kroku zostanie wyodrębniony z emulatora i przesłany na komputer hosta.
  2. Pobieranie ścieżki z hosta

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Otwieranie śledzenia w interfejsie Perfectto

    1. Otwórz stronę ui.perfetto.dev.
    2. W lewym górnym rogu w sekcji Nawigacja kliknij Otwórz plik z wykrywaniem.
    3. Otwórz pobrany w poprzednim kroku plik example.trace w katalogu Downloads/.
  4. Sprawdź ślad w interfejsie Perfectto. Wskazówki:

    1. Każdy proces ma własny wiersz, który można rozwinąć, aby wyświetlić wszystkie wątki tego procesu. Jeśli profilujesz grę, proces ten jest prawdopodobnie pierwszym.
    2. Powiększanie i pomniejszanie odbywa się przez przytrzymanie Ctrl i użycie kółka przewijania.
    3. Gdy używasz zdarzenia sched, w przypadku każdego wątku jest wiersz pokazujący, czy stan tego wątku to „running” (uruchomiony), „runnable” (można uruchomić), „sleeping” (uśpiony) czy „blocked” (zablokowany).
    4. Po włączeniu zdarzenia, takiego jak gfx, możesz zobaczyć różne wywołania funkcji graficznych wykonane przez różne wątki. Możesz wybrać poszczególne „segmenty”, aby zobaczyć, ile czasu zajęło ich wykonanie, lub przeciągnąć kursor po wierszu, aby otworzyć sekcję „segmenty” na dole i zobaczyć, ile czasu zajęło wykonanie wszystkich segmentów w wybranym przedziale czasowym.

Profilowanie grafiki

Za pomocą RenderDoc możesz przeprowadzić profilowanie grafiki.

  1. Ustaw zmienną środowiskową ANDROID_EMU_RENDERDOC na niepusty ciąg znaków (np. "1").
  2. Ustaw zmienną środowiskową TMP na %USERPROFILE%\AppData\LocalLow. To powoduje, że Renderdoc umieszcza pliki dziennika w miejscu dostępnym w piaskownicy emulatora.

  3. Jeśli używasz backendu Vulkan. Wybierz Ustawienia grafiki > Implikowane warstwy instancji Vulkana i upewnij się, że zaznaczona jest opcja VKLAYER_RENDERDOC_Capture.

  4. Uruchom Emulator Gier Google Play na PC dla deweloperów. Przesłonięcie RenderDoc jest wyświetlane u góry, dopóki włączona jest obsługa.

  5. Uruchom RenderDoc w dowolnym momencie przed lub po uruchomieniu gier Google Play na PC w emulatorze dla deweloperów.

  6. Kliknij Plik > Załącz do uruchomionej instancji i wybierz crosvm.

Określanie zmiennych środowiskowych

Aby Renderdoc działał, musisz dodać lub zmienić zmienne środowiskowe w Windows. Zmienne środowiskowe możesz zmieniać za pomocą interfejsu użytkownika, PowerShell lub cmd.exe.

Korzystanie z interfejsu
  • Naciśnij Win + R, aby otworzyć okno uruchamiania.
  • Wpisz sysdm.cpl, aby otworzyć okno Właściwości systemu.
  • Wybierz kartę Zaawansowane, jeśli nie jest aktywna.
  • Kliknij przycisk Zmienna środowiskowa.

Możesz kliknąć przycisk Nowa, aby utworzyć nową zmienną środowiskową, lub wybrać zmienną i kliknąć przycisk Edytuj, aby ją edytować.

Używanie programu PowerShell

W oknie PowerShell wpisz:

$Env:VARIABLE_NAME=VALUE

Zastąp VARIABLE_NAMEVALUE wartościami, które chcesz ustawić. Aby na przykład ustawić typ ANDROID_EMU_RENDERDOC na "1":

$Env:ANDROID_EMU_RENDERDOC="1"
Używanie cmd.exe

W oknie cmd.exe wpisz:

set VARIABLE_NAME=VALUE

Zastąp VARIABLE_NAMEVALUE wartościami, które chcesz ustawić. Aby na przykład ustawić typ ANDROID_EMU_RENDERDOC na "1":

set ANDROID_EMU_RENDERDOC="1"

Wskazówki dotyczące Androida 11 (poziom API 30) lub nowszego

Gry Google Play na PC są aktualizowane wraz z najnowszymi wersjami Androida. Oto kilka wskazówek dotyczących pracy z najnowszą wersją Androida.

Aktualizuj narzędzia

Android Studio instaluje wersję adb, która jest zgodna z emulatorem dla deweloperów. Niektóre silniki gier zawierają jednak starsze wersje adb. W takim przypadku po zainstalowaniu emulatora dla deweloperów możesz znaleźć zgodną wersję adb na stronie C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Jeśli uruchomisz jedną wersję adb, spowoduje to zamknięcie drugiej. Oznacza to, że jeśli silnik gry automatycznie uruchamia własny egzemplarz adb, może być konieczne ponowne uruchomienie i ponowne połączenie wersji adb dołączonej do emulatora dla deweloperów za każdym razem, gdy wdrażasz aplikację.

Jeśli używasz pakietu aplikacji na Androida, musisz zainstalować najnowszą wersję Bundletoolrepozytorium GitHub.

Ograniczony dostęp do miejsca na dane

Android 11 (poziom API 30) lub nowszy zawiera ograniczoną pamięć, która zapewnia lepszą ochronę danych aplikacji i użytkownika na zewnętrznej pamięci. Oprócz zapewnienia zgodności gry z wymaganiami dotyczącymi ograniczonego miejsca na dane musisz wykonać dodatkowe czynności, aby załadować pliki rozszerzeń APK (obb) lub dane zasobów do emulatora dewelopera Gier Google Play na PC. Jeśli napotkasz problemy z dostępem do tych plików w grze, wykonaj te czynności:

  1. Utwórz katalog, który aplikacja może odczytać.
  2. Prześlij pliki rozszerzeń do emulatora.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

Widoczność pakietu

Ze względu na nowe zasady dotyczące widoczności pakietu aplikacje kierowane na Androida 11 (poziom interfejsu API 30) lub nowszego nie mogą wysyłać zapytań o informacje o innych aplikacjach zainstalowanych na urządzeniu. Oznacza to, że Twoja gra nie ma dostępu do Usług Google Play, gdy została zainstalowana z innego urządzenia za pomocą adb, a nie zainstalowana ze Sklepu Play. Aby przetestować IAP w grze zainstalowanej z pliku, musisz dodać zapytanie do pakietu „com.android.vending” w pliku „AndroidManifest.xml” w ten sposób:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

Instalowanie gry w kliencie dla konsumentów

Nie możesz zainstalować gry na kliencie dla konsumentów, dopóki nie zostanie ona dodana do katalogu Usług gier Play. Gdy gra ma już jedną wersję, możesz utworzyć ścieżkę testów wewnętrznych, aby weryfikować przyszłe aktualizacje przed ich opublikowaniem.

Klient gracza nie obsługuje funkcji dla deweloperów w Emulatorze dla deweloperów Gier Google Play na PC. Najlepiej jest go używać do testowania gry przed jej wydaniem, aby sprawdzić, jak gra działa od początku do końca po jej wydaniu.