Sviluppare con l'emulatore per sviluppatori di Google Play Giochi su PC

L'emulatore per sviluppatori di Google Play Giochi su PC è un emulatore dedicato agli sviluppatori per Google Play Giochi su PC. A differenza dell'esperienza player, puoi installare ed eseguire il debug dei tuoi pacchetti. Puoi anche simulare varie configurazioni del player, ad esempio le proporzioni, l'emulazione del mouse e il backend grafico, per assicurarti che il gioco funzioni come previsto su una varietà di configurazioni PC.

Avvio dell'emulatore

Dopo l'installazione avrai un elemento di menu Start "Emulatore per sviluppatori di Google Play Giochi" e una scorciatoia sul desktop per avviare l'emulatore. L'emulatore rimarrà nella barra delle applicazioni quando chiudi la finestra.

Eseguire l'accesso

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 usare per lo sviluppo.

Puoi uscire facendo clic con il pulsante destro del mouse sull'icona della barra delle applicazioni, selezionando Opzioni sviluppatore, quindi facendo clic su Forza disconnessione. Quando lo fai, l'emulatore si riavvia immediatamente e ti chiede di accedere di nuovo.

Dopo l'avvio, verrà visualizzata una tipica schermata Home di Android. I clic con il tasto sinistro del mouse vengono convertiti direttamente in tocchi con il dito, come nella modalità di emulazione del mouse. Nell'elenco delle applicazioni vengono visualizzati i giochi installati localmente, a cui puoi accedere facendo clic e trascinando sul desktop (emulando uno scorrimento verso l'alto su uno smartphone o un tablet).

Oltre alla traduzione con il mouse, l'emulatore per sviluppatori di Google Play Giochi su PC offre scorciatoie da tastiera per migliorare la navigazione:

  • Ctrl + H: premi il pulsante Home
  • Ctrl + B: premi il pulsante Indietro
  • F11 o Alt + Invio: passa dalla modalità a schermo intero alla modalità a finestra e viceversa
  • Maiusc + Tab: apre l'overlay di Google Play Giochi su PC, che include le mappature attuali dei tasti per l'SDK di immissione

Installazione di un gioco

L'emulatore per sviluppatori di Google Play Giochi su PC utilizza Android Debug Bridge (adb) per installare i pacchetti.

compatibilità ADB

Le versioni attuali di adb sono compatibili con l'emulatore per sviluppatori di Google Play Giochi su PC. Inoltre, viene installata una versione compatibile all'indirizzo C:\Program Files\Google\Play Games Developer Emulator\current\emulator quando installi l'emulatore.

Per seguire queste istruzioni, adb dovrebbe essere disponibile in $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 visualizzi un messaggio di errore, verifica di avere seguito le istruzioni riportate in Compatibilità con Adb.
    • Se non vedi un dispositivo, prova a riconnetterti sulla 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, quindi usa bundletool install-apks.

  • Per gestire il gioco:

    • Digita adb shell monkey -p your.package.name 1 per avviare il gioco, sostituendo your.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 un telefono Android, devi "scorrere verso l'alto" nella schermata Home per vedere l'elenco dei giochi installati.

Eseguire il debug di un gioco

Utilizza Android Debug Bridge (adb) per eseguire il debug come per qualsiasi altro gioco. L'emulatore viene visualizzato come dispositivo connesso tramite localhost:6520.

adb logcat funziona come previsto, così come gli strumenti che aiutano a ottimizzare o filtrare l'output del logcat, tra cui Android Studio.

Oltre a adb, è possibile accedere ai log nella directory %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. L'elemento più utile qui è AndroidSerial.log, che rappresenta tutto l'eco di adb logcat dal momento in cui viene avviato l'emulatore.

Impostazioni di sviluppo

L'emulatore per sviluppatori di Google Play Giochi su PC si concentra sull'efficienza degli sviluppatori anziché sull'esperienza dell'utente finale. Ciò significa che hai accesso illimitato al sistema Android, ad esempio l'utilizzo dell'Avvio app di Android standard anziché l'esperienza Google Play Giochi su PC, nonché i controlli sulle funzionalità che vengono altrimenti attivate e disattivate automaticamente per i giocatori.

Test dell'input del mouse in corso...

Durante lo sviluppo, l'emulatore per sviluppatori di Google Play Giochi su PC utilizza per impostazione predefinita l'emulazione al tocco anziché darti input diretto del mouse. Per attivare l'input diretto del mouse, fai clic con il pulsante destro del mouse sull'icona nella barra delle applicazioni, seleziona Opzioni sviluppatore, quindi Modalità PC (KiwiMouse).

Google Play Giochi su PC ha due modalità mouse: una modalità emulata che converte i clic del mouse in singoli tocchi e una "modalità PC" passthrough che consente ai giochi di gestire le azioni con il mouse in modo nativo ed eseguire l'acquisizione con il puntatore. Per informazioni dettagliate sull'input del mouse in Google Play Giochi su PC, consulta la pagina Configurare l'input del mouse.

Nel client del player, l'emulazione viene disattivata aggiungendo quanto segue al file 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 in proporzioni 16:9, a differenza del client del player che ricava le proporzioni dal display principale. Fai clic con il pulsante destro del mouse sull'icona della barra delle applicazioni, seleziona Opzioni sviluppatore, quindi fai clic su qualsiasi opzione nella sezione Proporzioni, puoi testare l'aspetto del gioco sui diversi schermi dei giocatori.

Il metodo preferito per configurare le proporzioni è utilizzare android:minAspectRatio e android:maxAspectRatio.

Ad esempio, un gioco verticale avrà proporzioni pari a 9/16 o 0.5625, pertanto ti consigliamo di impostare proporzioni massime di 1 per evitare che il gioco abbia una larghezza maggiore del quadrato:

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

Analogamente, un gioco orizzontale sarebbe 16/9 o approssimativamente 1.778, quindi ti consigliamo di impostare proporzioni minime di 1 per evitare che diventi più sottile del quadrato:

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

Che cosa verificare

Se il gioco supporta solo le modalità verticali nel file manifest, puoi selezionare 9:16 (Verticale) nel menu a discesa per vederne l'aspetto sui PC dei giocatori. In caso contrario, verifica che il gioco funzioni nelle proporzioni orizzontali più ampie e strette supportate nel file manifest, tenendo presente che il formato 16:9 (predefinito) (o 9:16 (verticale) se è necessario solo la certificazione verticale).

Test dei backend di rendering

Google Play Giochi su PC utilizza ANGLE come livello di compatibilità per garantire che le chiamate OpenGL ES vengano gestite correttamente dal PC host tramite un backend DirectX o Vulkan. L'emulatore supporta anche Vulkan direttamente, anche se non su Direct. Questo livello converte anche i formati di texture compressi solo mobile in formati compatibili con PC. Se fai clic con il tasto destro del mouse sull'icona della barra delle applicazioni e seleziona Override grafico generale, puoi impostare l'opzione predefinita del sistema o forzare l'attivazione o la disattivazione di vulkan per i test di compatibilità.

Che cosa verificare

Esistono variazioni minime nei formati delle texture supportati e nei passaggi necessari per emulare varie funzionalità per dispositivi mobili su computer. Per la profilazione e l'ottimizzazione del gioco, potrebbe essere utile controllare ogni backend.

Profilazione del gioco per PC

Poiché l'emulatore utilizza la stessa tecnologia del client consumer, è un ambiente adatto per la profilazione delle prestazioni.

Perfetto è uno strumento per analizzare le prestazioni su Android. Puoi raccogliere e visualizzare una traccia Perfetto seguendo questi passaggi:

  1. 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
    
    1. Il flag --time specifica la durata della traccia da raccogliere.In questo esempio, la traccia è di 10 secondi.
    2. Gli argomenti dopo il flag --time indicano gli eventi da tracciare. In questo esempio, gfx indica immagini, informazioni sulla gestione delle finestre di wm e sched sulla pianificazione dei processi. Si tratta di flag comuni per i giochi di profilazione ed è disponibile un riferimento completo.
    3. Il flag --out specifica il file di output, che viene estratto dall'emulatore e sulla macchina host nel passaggio successivo.
  2. Esegui il pull della traccia dal tuo host

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Apri la traccia nell'UI di Perfetto

    1. Apri ui.perfetto.dev.
    2. Seleziona Apri file di traccia nell'angolo in alto a sinistra in Navigazione.
    3. Apri il file example.trace scaricato nel passaggio precedente nella directory Downloads/.
  4. Esamina la traccia nell'interfaccia utente di Perfetto. Ecco alcuni suggerimenti:

    1. Ogni processo ha la propria riga, che può essere espansa per mostrare tutti i thread in quel processo. Se stai profilando un gioco, il processo è probabilmente la prima riga.
    2. Puoi aumentare e diminuire lo zoom tenendo premuto Ctrl e utilizzando la rotellina di scorrimento.
    3. Quando si utilizza l'evento sched, è presente una riga per ogni thread che mostra quando lo stato del thread è in esecuzione, eseguibile, in fase di sospensione o bloccato.
    4. Quando attivi un evento come gfx, puoi vedere le varie chiamate grafiche effettuate da vari thread. Puoi selezionare singole "sezioni" per vedere quanto tempo hanno impiegato oppure trascinare lungo una riga per aprire una sezione "Sezioni" in basso e mostrare il tempo impiegato da tutte le sezioni nella finestra di tempo selezionata.

Profilazione della grafica

È possibile eseguire alcune profilazioni delle immagini con RenderDoc.

  1. Imposta la variabile di ambiente ANDROID_EMU_RENDERDOC su una stringa non vuota (ad esempio "1").
  2. Imposta la variabile di ambiente TMP su %USERPROFILE%\AppData\LocalLow. Questo indica a Renderdoc di posizionare i file di log in un punto qualsiasi della sandbox dell'emulatore.

  3. Se utilizzi il backend Vulkan. Seleziona Impostazioni grafica > Livelli impliciti delle istanze Vulkan e assicurati che l'opzione VKLAYER_RENDERDOC_ Capture sia selezionata.

  4. Avvia l'emulatore per sviluppatori di Google Play Giochi su PC. In alto viene disegnato un overlay RenderDoc, purché il supporto sia attivo.

  5. Avvia RenderDoc in qualsiasi momento prima o dopo il lancio dell'emulatore per sviluppatori di Google Play Giochi su PC.

  6. 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 UI, PowerShell o cmd.exe.

Utilizzare l'interfaccia utente
  • Premi Win+R per aprire la finestra di dialogo Esegui.
  • Digita sysdm.cpl per aprire la finestra Proprietà del 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.

Usa PowerShell

In una finestra di PowerShell, digita:

$Env:VARIABLE_NAME=VALUE

Sostituisci VARIABLE_NAME e VALUE con i valori che vuoi impostare. Ad esempio, per impostare ANDROID_EMU_RENDERDOC su "1" tipo:

$Env:ANDROID_EMU_RENDERDOC="1"
Utilizzare cmd.exe

In una finestra di cmd.exe, digita:

set VARIABLE_NAME=VALUE

Sostituisci VARIABLE_NAME e VALUE con i valori che vuoi impostare. Ad esempio, per impostare ANDROID_EMU_RENDERDOC su "1" tipo:

set ANDROID_EMU_RENDERDOC="1"

Suggerimenti per Android 11 (livello API 30) o versioni successive

Google Play Giochi su PC è aggiornato con le ultime release di Android. Ecco alcuni suggerimenti per utilizzare l'ultima versione di Android.

Mantieni 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 su C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Se avvii una versione di adb, questa termina l'altra. Ciò significa che se il motore grafico avvia automaticamente la propria istanza adb, potrebbe essere necessario riavviare e ricollegare la versione di adb fornita con l'emulatore per sviluppatori ogni volta che esegui il deployment.

Se utilizzi un Android App Bundle, devi installare la versione più recente di Bundletool dal repository GitHub.

Archiviazione mirata

Android 11 (livello API 30) o versioni successive include l'archiviazione mirata, che offre una migliore protezione ai dati delle app e degli utenti memorizzati nell'unità di archiviazione esterna. Oltre a rendere il tuo gioco compatibile con i requisiti di archiviazione in ambito, 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 a questi file dal gioco:

  1. Crea una directory che possa essere letta dalla tua app.
  2. Esegui il push dei 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à dei pacchetti

A causa delle nuove regole di visibilità dei pacchetti, le app destinate ad Android 11 (livello API 30) o versioni successive non possono eseguire query sulle informazioni relative alle altre app installate su un dispositivo. Ciò significa che il tuo gioco non può accedere a Play Services quando viene trasferito tramite adb anziché essere installato tramite il Play Store. Per testare il tuo IAP con un gioco sideload, devi aggiungere una query al pacchetto "com.android.vending" nel file AndroidManifest.xml, come indicato di seguito:

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

Installazione del gioco nel client consumer

Non puoi installare un gioco sul client consumer finché non viene elencato nel catalogo dei servizi per i giochi di Play. Dopo che il gioco ha una singola release, puoi creare un canale di test interno per convalidare gli aggiornamenti futuri prima del rilascio.

Il client player non supporta le funzionalità incentrate sugli sviluppatori dell'emulatore per sviluppatori di Google Play Giochi su PC. Questa opzione è utile per eseguire il QA del gioco prima del rilascio, al fine di testare l'esperienza del player end-to-end dopo la release iniziale.