L'emulatore per sviluppatori di Google Play Giochi su PC è un emulatore per sviluppatori per Google Play Giochi su PC. A differenza dell'esperienza del player, puoi installare e eseguire il debug dei tuoi pacchetti. Puoi anche simulare varie configurazioni del player, come le proporzioni, l'emulazione del mouse e il backend grafico, per assicurarti che il tuo gioco funzioni come previsto su una serie di configurazioni PC.
Avvio dell'emulatore
Una volta installato, vedrai un elemento del menu di avvio "Google Play Giochi Emulatore per sviluppatori" e una scorciatoia da desktop per avviare l'emulatore. L'emulatore rimane residente nella barra delle app quando chiudi la finestra.
Accedi.
Ti viene chiesto di accedere al tuo Account Google la prima volta che esegui l'emulatore. Utilizza le stesse credenziali di accesso che prevedi di utilizzare per lo sviluppo.
Per uscire, fai clic con il tasto destro del mouse sull'icona della barra delle app, seleziona Opzioni sviluppatore e poi fai clic su Uscita forzata. A questo punto, l'emulatore si riavvia immediatamente e ti chiede di accedere di nuovo.
Navigazione
Dopo l'avvio, vedrai una schermata Home Android standard. I clic del mouse sinistro vengono tradotti direttamente in tocchi delle dita come nella modalità di emulazione del mouse. I giochi caricati lateralmente per lo sviluppo vengono visualizzati nell'elenco delle applicazioni, a cui puoi accedere facendo clic e trascinando verso l'alto sul computer (simulando uno scorrimento verso l'alto su un telefono o un tablet).
Oltre alla traduzione con il mouse, l'emulatore per sviluppatori di Google Play Giochi su PC fornisce anche scorciatoie da tastiera per migliorare la navigazione:
Ctrl+H : premi il tasto HomeCtrl + B : premi il tasto Indietro.F11 oAlt + Invio : passa dalla modalità a schermo intero alla modalità con finestra e viceversaMaiusc + Tab : apri l'overlay di Google Play Giochi su PC, incluse le mappature dei tasti correnti per l'SDK Input
Installazione di un gioco
L'emulatore per gli sviluppatori di Google Play Giochi su PC utilizza Android Debug Bridge (adb) per installare i pacchetti.
compatibilità con ADB
Le versioni attuali di adb
sono compatibili con l'emulatore per sviluppatori di Google Play Giochi su PC.
Inoltre, quando installi l'emulatore, viene installata una versione compatibile in C:\Program
Files\Google\Play Games Developer Emulator\current\emulator
.
Per seguire queste istruzioni, adb deve essere disponibile nel tuo $PATH
. Puoi verificare che adb
sia configurato correttamente con il comando adb devices
adb devices
List of devices attached
localhost:6520 device
Installa il gioco
- Avvia
Google Play Games for PC Emulator
Digita
adb devices
nel prompt dei comandi. Dovresti vedere:adb devices List of devices attached localhost:6520 device
Risoluzione dei problemi:
- Se viene visualizzato un messaggio di errore, verifica di aver seguito le istruzioni riportate nella sezione Compatibilità con ADB.
- Se non vedi un dispositivo, prova a riconnetterti tramite la porta
6520
:
adb connect localhost:6520
Digita
adb install path\to\your\game.apk
per installare il gioco. Se hai generato un Android App Bundle (aab), consulta le istruzioni per bundletool e utilizzabundletool install-apks
.Esegui il gioco in uno dei seguenti modi:
- Digita
adb shell monkey -p your.package.name 1
per eseguire il gioco, sostituendoyour.package.name
con il nome del pacchetto del gioco. - Nell'emulatore per sviluppatori di Google Play Giochi su PC, fai clic sull'icona per eseguire il gioco. Come su uno smartphone Android, devi "scorrere verso l'alto" nella schermata iniziale per visualizzare l'elenco dei giochi installati.
- Digita
Eseguire il debug di un gioco
Utilizza Android Debug Bridge (adb) per eseguire il debug come faresti per qualsiasi altro gioco.
L'emulatore viene visualizzato come dispositivo collegato tramite localhost:6520
.
adb logcat
funziona come previsto, così come gli strumenti che aiutano a migliorare o filtrare l'output di logcat, incluso Android Studio.
Oltre a adb
, puoi accedere ai log nella directory %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs
. Il valore più utile in questo caso è AndroidSerial.log
, che rappresenta tutto ciò che adb logcat
ripeterebbe dal momento dell'avvio dell'emulatore.
Impostazioni di sviluppo
L'emulatore per sviluppatori di Google Play Giochi su PC si concentra sull'efficienza degli sviluppatori piuttosto che sull'esperienza utente finale. Ciò significa che hai accesso senza ostacoli al sistema Android, incluso l'utilizzo del launcher Android standard anziché dell'esperienza Google Play Giochi su PC, nonché il controllo delle funzionalità che altrimenti vengono attivate e disattivate automaticamente per i giocatori.
Test dell'input del mouse
Durante lo sviluppo, l'emulatore per sviluppatori di Google Play Giochi su PC utilizza per impostazione predefinita l'emulazione tocco anziché l'input diretto del mouse. Puoi attivare l'input diretto del mouse facendo clic con il tasto destro del mouse sull'icona nell'area di notifica, selezionando Opzioni sviluppatore e poi Modalità PC (KiwiMouse).
Google Play Giochi su PC ha due modalità per il mouse: una modalità emulata che traduce i clic del mouse in singoli tocchi e una "modalità PC" passthrough che consente ai giochi di gestire le azioni del mouse in modo nativo ed eseguire il rilevamento del cursore. Per informazioni dettagliate sull'input del mouse in Google Play Giochi su PC, consulta Configurare l'input del mouse.
Nel client del player, l'emulazione viene disattivata aggiungendo quanto segue al manifest:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Questo flag di funzionalità non ha alcun effetto nell'ambiente di sviluppo.
Test delle proporzioni
L'emulatore per sviluppatori viene avviato con proporzioni 16:9, a differenza del client del player che le ricava dal display principale. Se fai clic con il tasto destro del mouse sull'icona della barra delle app, selezioni Opzioni sviluppatore e poi un'opzione nella sezione Rapporto aspetto, puoi verificare l'aspetto del gioco sugli schermi di diversi giocatori.
Il metodo preferito per configurare le proporzioni è utilizzare android:minAspectRatio
e android:maxAspectRatio
.
Ad esempio, un gioco in formato verticale avrà proporzioni 9/16
o 0.5625
, quindi ti consigliamo di impostare proporzioni massime pari a 1
per evitare che il gioco sia più largo di un quadrato:
<activity android:maxAspectRatio="1">
...
</activity>
Analogamente, un gioco in formato orizzontale misura 16/9
o circa 1.778
, quindi ti consigliamo di impostare un'altezza minima di 1
per evitare che sia più stretto di un quadrato:
<activity android:minAspectRatio="1">
...
</activity>
Che cosa testare
Se il tuo gioco supporta solo le modalità Ritratto nel file manifest, puoi selezionare 9:16 (Ritratto) nel menu a discesa per vedere come appare sui PC dei giocatori. In caso contrario, verifica che il tuo gioco funzioni con le proporzioni orizzontali più larghe e strette supportate nel file manifest, ricordando che 16:9 (predefinito) (o 9:16 (Ritratto) se il tuo gioco è solo in Ritratto) è obbligatorio per la certificazione completa.
Test dei backend di rendering
Google Play Giochi su PC utilizza Vulkan per il rendering dei giochi, una tecnologia comune sia agli ambienti Android che a quelli PC. Viene utilizzato un livello di sandboxing per isolare gli ambienti PC e Android. Poiché molti giochi utilizzano ancora OpenGL ES per il rendering, ANGLE convertirà i comandi OpenGL ES in comandi Vulkan compatibili con il PC host.
Analogamente, Google Play Giochi su PC massimizza la compatibilità dei giochi e riduce al minimo lo sforzo degli sviluppatori convertendo automaticamente i formati delle texture ottimizzati per il mobile, come ETC1 ed ETC2, in formati ottimizzati per il PC in fase di esecuzione. Per ottenere risultati ottimali, evita questa conversione utilizzando formati supportati dalle GPU per PC, come DXTC o BPTC.
Che cosa testare
Se il tuo gioco presenta artefatti di rendering imprevisti, controlla le immagini di origine e valuta la possibilità di passare a un formato adatto per PC. Presta particolare attenzione alle texture utilizzate per effetti più avanzati, poiché i problemi relativi alle mappe normali o cubiche sono spesso più difficili da individuare rispetto ai problemi di albedo.
La conversione dei comandi OpenGL ES in Vulkan da parte di ANGLE aggiungerà un po' di overhead. Verifica di soddisfare i target di rendimento previsti e valuta la possibilità di passare a un visualizzatore basato su Vulkan.
Profilazione del gioco per PC
Poiché l'emulatore utilizza la stessa tecnologia del client consumer, è un ambiente adatto per il profiling del rendimento.
Perfetto è uno strumento per analizzare il rendimento su Android. Per raccogliere e visualizzare una traccia Perfetto, segui questi passaggi:
In un prompt di PowerShell, avvia una traccia utilizzando
adb
adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
- Il flag
--time
specifica la durata della traccia da raccogliere. In questo esempio, la traccia è di 10 secondi. - Gli argomenti dopo il flag
--time
indicano quali eventi devono essere monitorati. In questo esempio,gfx
indica la grafica,wm
la gestione delle finestre esched
le informazioni sulla pianificazione dei processi. Si tratta di indicatori comuni per il profiling di giochi ed è disponibile un riferimento completo. - Il flag
--out
specifica il file di output, che viene estratto dall'emulatore sulla macchina host nel passaggio successivo.
- Il flag
Estrai la traccia dall'host
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
Apri la traccia nell'interfaccia utente di Perfetto
- Apri ui.perfetto.dev.
- Seleziona Apri file di traccia nell'angolo in alto a sinistra in Navigazione.
- Apri il file
example.trace
scaricato nel passaggio precedente nella directoryDownloads/
.
Controlla la traccia nell'interfaccia utente di Perfetto. Ecco alcuni suggerimenti:
- Ogni processo ha una propria riga, che può essere espansa per mostrare tutti i thread in quel processo. Se stai creando il profilo di un gioco, è probabile che la procedura sia la prima riga.
- Puoi aumentare e diminuire lo zoom tenendo premuto Ctrl e utilizzando la rotellina.
- Quando utilizzi l'evento
sched
, è presente una riga per ogni thread che mostra quando lo stato del thread è in esecuzione, eseguibile, in sospensione o bloccato. - Quando attivi un evento come
gfx
, puoi vedere le varie chiamate di grafica effettuate da vari thread. Puoi selezionare singole "sezioni" per vedere il tempo impiegato oppure puoi trascinare una riga per aprire una sezione "sezioni" in basso e visualizzare il tempo impiegato da tutte le sezioni nella finestra temporale selezionata.
Profilazione grafica
È possibile eseguire alcune analisi del profilo della grafica con RenderDoc.
- Imposta la variabile di ambiente
ANDROID_EMU_RENDERDOC
su una stringa non vuota (ad esempio"1"
). Imposta la variabile di ambiente
TMP
su%USERPROFILE%\AppData\LocalLow
. Questo indica a Renderdoc di posizionare i file di log in un punto raggiungibile all'interno della sandbox dell'emulatore.Se utilizzi il backend Vulkan. Seleziona Impostazioni grafiche > Livelli impliciti dell'istanza Vulkan e assicurati che VKLAYER_RENDERDOC_Capture sia selezionato.
Avvia l'emulatore per sviluppatori di Google Play Giochi su PC. Un overlay di RenderDoc viene visualizzato in alto se il supporto è attivato.
Avvia RenderDoc in qualsiasi momento prima o dopo il lancio dell'emulatore per sviluppatori di Google Play Giochi su PC.
Fai clic su File > Collega all'istanza in esecuzione e seleziona crosvm.
Specifica le variabili di ambiente
Affinché Renderdoc funzioni, devi aggiungere o modificare le variabili di ambiente in Windows. Puoi modificare le variabili di ambiente utilizzando l'interfaccia utente, PowerShell o cmd.exe.
Utilizzare l'interfaccia utente
- Premi
Win+R per aprire la finestra di dialogo di esecuzione. - Digita
sysdm.cpl
per aprire la finestra Proprietà di sistema. - Seleziona la scheda Avanzate, se non è già attiva.
- Fai clic sul pulsante Variabili di ambiente.
Da qui puoi fare clic sul pulsante Nuova per creare una nuova variabile di ambiente o selezionare una variabile e fare clic sul pulsante Modifica per modificarla.
Utilizzare PowerShell
In una finestra di PowerShell, digita:
$Env:VARIABLE_NAME=VALUE
Sostituisci VARIABLE_NAME
e VALUE
con i valori che vuoi impostare. Per
esempio, per impostare ANDROID_EMU_RENDERDOC
sul tipo "1"
:
$Env:ANDROID_EMU_RENDERDOC="1"
Utilizzare cmd.exe
In una finestra cmd.exe, digita:
set VARIABLE_NAME=VALUE
Sostituisci VARIABLE_NAME
e VALUE
con i valori che vuoi impostare. Per
esempio, per impostare ANDROID_EMU_RENDERDOC
sul tipo "1"
:
set ANDROID_EMU_RENDERDOC="1"
Suggerimenti per Android 11 (livello API 30) o versioni successive
Google Play Giochi su PC viene aggiornato con le ultime release di Android. Ecco alcuni suggerimenti per lavorare con la versione più recente di Android.
Mantenere aggiornati gli strumenti
Android Studio installa una versione di adb compatibile con l'emulatore sviluppatore. Tuttavia, alcuni motori di gioco includono una versione precedente di adb. In questo caso, dopo aver installato l'emulatore per sviluppatori, puoi trovare una versione compatibile di adb
all'indirizzo C:\Program Files\Google\Play Games Developer
Emulator\current\emulator
.
Se avvii una versione di adb
, l'altra viene chiusa. Ciò significa che se il tuo motore di gioco avvia automaticamente la propria istanza di adb
, potresti dover riavviare e ricollegare la versione di adb
fornita con l'emulatore sviluppatore ogni volta che esegui il deployment.
Se utilizzi un app bundle per Android, devi installare la versione più recente di Bundletool dal repository GitHub.
Archiviazione mirata
Android 11 (livello API 30) o versioni successive include lo spazio di archiviazione delimitato, che offre una protezione migliore ai dati delle app e degli utenti sullo spazio di archiviazione esterno. Oltre a rendere il tuo gioco compatibile con i requisiti di archiviazione basati sugli ambiti, devi eseguire passaggi aggiuntivi per caricare i file di espansione APK (obb) o i dati degli asset nell'emulatore per sviluppatori di Google Play Giochi su PC. Segui questi passaggi se riscontri problemi di accesso ai file dal gioco:
- Crea una directory che la tua app possa leggere.
- Invia i file di espansione all'emulatore.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Visibilità del pacchetto
A causa delle nuove regole relative alla visibilità dei pacchetti, le app che hanno come target Android 11
(livello API 30) o versioni successive non possono eseguire query per ottenere informazioni sulle altre app installate su un dispositivo. Ciò significa che il tuo gioco non può accedere a Play Services se viene installato tramite sideload tramite adb
anziché tramite il Play Store. Per testare l'IAP con un gioco caricato lateralmente,
devi aggiungere una query al pacchetto "com.android.vending
" nel
file AndroidManifest.xml
come segue:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Installare il gioco nel client consumer
Non puoi installare un gioco sul client consumer finché non è stato elencato nel catalogo dei servizi per i giochi di Play. Dopo aver rilasciato una singola versione del gioco, puoi creare un canale di test interno per convalidare gli aggiornamenti futuri prima del rilascio.
Il client del giocatore non supporta le funzionalità per gli sviluppatori dell'emulatore per sviluppatori di Google Play Giochi su PC. È ideale per il controllo qualità del gioco prima del rilascio e per testare l'esperienza utente end-to-end dopo la release iniziale.