Google Play Giochi su PC richiede modifiche alla compatibilità e all'ottimizzazione del gioco con i PC. Queste modifiche assicurano che il gioco possa essere eseguito su PC e che l'esperienza utente sia ottimizzata per la piattaforma.
Inoltre, Google Play Giochi su PC prevede requisiti di grafica, input del dispositivo e requisiti di gioco cross-device. Per ulteriori informazioni, consulta la Guida introduttiva.
Se apporti modifiche alla compatibilità e all'ottimizzazione di PC (oltre al supporto x86-64), puoi configurare il gioco in modo da rilevare Google Play Giochi su PC, quindi disattivare o attivare funzionalità specifiche per la piattaforma. In questo modo puoi usare lo stesso APK o app bundle per le tue release per dispositivi mobili Android e PC.
Ecco un riepilogo dei requisiti e dei consigli in questa pagina:
- Includi ABI x86-64 (obbligatoria)
- Rileva Google Play Giochi in fase di runtime (opzione consigliata)
- Gestire l'evento onPause (consigliato)
- Aggiorna elementi UI (obbligatorio)
- (Obbligatorio) Disattivare le finestre di dialogo relative alle autorizzazioni delle app per Android
- Disattivare le funzionalità e le autorizzazioni Android non supportate (obbligatorio)
- Sostituisci i componenti WebView con gli intent del browser (opzione consigliata)
- Disattiva le API Google Play Service non supportate (obbligatorio)
- Abilita archiviazione mirata (obbligatoria)
- Eseguire la migrazione a Google Analytics 4 (consigliata)
Includi architettura ABI x86-64
Obbligatorio per il processo di rilascio
Tutte le librerie incluse nel gioco richiedono versioni compatibili con ABI x86-64 per garantire le migliori prestazioni e stabilità sulla piattaforma.
Se è tecnicamente impossibile che il tuo gioco invii un file eseguibile x86 a 64 bit, devi contattare il team di revisione per richiedere un'eccezione. Il tuo gioco non può raggiungere la certificazione completa con un'eccezione, ma può essere inserito nel catalogo come gioco "utilizzabile".
Compilation della raccolta
Per garantire la massima compatibilità del processore x86-64, non utilizzare il set di istruzioni Atom durante la compilazione delle librerie. Ad esempio, quando usi gcc
evita di usare -march=atom
e usa -march=x86-64
.
Architettura di destinazione in Unity
Alcune versioni di Unity 2019 e 2020 non supportano l'architettura x86-64 su Android. Assicurati di utilizzare Unity 2019.4.31f1, 2020.3.19f1 o versioni successive.
Se il tuo gioco utilizza una versione compatibile del motore di gioco Unity, procedi nel seguente modo per attivare i target Android x86-64:
Vai a Impostazioni del player > Altre impostazioni > Configurazione > Backend di scripting e seleziona IL2CPP dal menu a discesa per attivare il backend di scripting IL2CPP.
Attiva i target Android x86-64 per la tua versione di Unity:
Unity 2018 e versioni precedenti: vai a Impostazioni del player > Altre impostazioni > Architettura di destinazione e seleziona la casella di controllo x86. Poiché Unity 2018 supporta solo target x86, non potrai creare x86-64. Questa build richiede un'eccezione da parte del team di revisione. Rivolgiti al tuo contatto Google per richiedere un'eccezione x86.
Release del supporto a lungo termine (LTS) di Unity 2019 e successive: vai a Impostazioni del player > Altre impostazioni > Architetture di destinazione e attiva x86-64 (ChromeOS).
Rileva Google Play Giochi su PC
Puoi rilevare la piattaforma Google Play Giochi su PC in fase di runtime, in modo da attivare o disattivare nel tuo gioco funzionalità specifiche per la piattaforma.
Controlla la funzionalità di sistema com.google.android.play.feature.HPE_EXPERIENCE
per stabilire se il tuo gioco è in esecuzione sulla piattaforma Google Play Giochi su PC:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Gestire gli eventi del ciclo di vita di Android
È importante gestire l'evento onPause
(c++) nell'ambiente di Google Play Giochi su PC. Il tuo gioco è visibile quando un giocatore attiva l'overlay dell'emulatore. Se non ascolti l'evento onPause
, l'esperienza utente potrebbe essere scadente.
Aggiorna l'interfaccia utente
Alcuni gesti e elementi dell'interfaccia utente non sono adatti su PC e devono essere aggiornati.
Obbligatorio:
- Sostituisci le azioni dell'interfaccia utente che richiedono due o più dita (gesti multi-touch). Ad esempio, devi sostituire la funzionalità Pizzica per eseguire lo zoom e gli altri gesti multi-touch con l'input del mouse e della tastiera corrispondenti. Per maggiori dettagli sulle modifiche all'ingresso dei dispositivi, consulta Supporto dell'input.
Consigliato:
- Tutto il testo visibile agli utenti deve contenere la dicitura "clic" anziché "tocca".
- Gli elenchi scorrevoli devono avere barre di scorrimento.
- Le aree in cui gli utenti possono eseguire la panoramica devono avere barre di scorrimento o altri mezzi per attraversare rapidamente grandi distanze.
- Non visualizzare sullo schermo una tastiera cliccabile per l'inserimento del testo.
- Tutte le voci di testo devono essere comprese nei limiti del campo di testo.
- I clic su elementi visibili devono:
- Accettare un clic ovunque entro i limiti visibili dell'elemento.
- Non accettare un clic nell'area esterna dell'elemento visibile.
- Le finestre di dialogo devono avere un pulsante di chiusura visibile. Non rilevare un clic al di fuori dei limiti della finestra di dialogo.
Disattiva la maggior parte delle finestre di dialogo delle autorizzazioni
Fatta eccezione per l'autorizzazione di accesso al microfono, in Google Play Giochi su PC non vengono visualizzate finestre di dialogo delle autorizzazioni, quindi non dovresti tentare di visualizzarle o richiedere autorizzazioni in fase di runtime. Se hai visualizzato in precedenza finestre di dialogo di autorizzazione, dovresti aggiornare il gioco in modo che non le mostri più sui PC.
Funzionalità e autorizzazioni di Android non supportate
Obbligatorio per il processo di rilascio
Alcune funzionalità hardware comuni su cellulari e tablet non sono disponibili sul PC. Sono incluse funzionalità hardware come la fotocamera o la posizione del player. I giochi che richiedono funzionalità mancanti non possono essere scaricati e installati sul PC di un giocatore. Le richieste di eventuali funzionalità mancanti su un PC non andranno a buon fine automaticamente.
Puoi visualizzare un elenco completo delle funzionalità disponibili digitando:
adb shell pm list features
Per rendere il tuo gioco compatibile con i PC, sono necessarie le seguenti modifiche:
Contrassegna le funzionalità come facoltative nel file manifest dell'app aggiungendo
android:required="false"
alla dichiarazione di<uses-feature>
. Si applica solo alle funzionalità già dichiarate nel file manifest dell'app.Non tentare di utilizzare le funzionalità mancanti in fase di runtime. Se utilizzi lo stesso APK sui canali mobile e PC, rileva l'ambiente PC in fase di runtime ed evita i percorsi di codice pertinenti.
Non richiedere autorizzazioni Android non supportate in fase di runtime. Se utilizzi lo stesso APK sui canali mobile e PC, rileva l'ambiente PC in fase di runtime ed evita i percorsi di codice pertinenti. Non è necessario aggiornare il file manifest.
Per ulteriori informazioni sulla compatibilità del file manifest dell'app, consulta la guida alla compatibilità del file manifest delle app per Chromebook.
Requisiti dei test funzionali
Rimuovi le seguenti funzionalità hardware prima di inviare la prima build di test a Google Play Console:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
Alcune di queste funzionalità potrebbero essere elencate come supportate durante l'esecuzione di pm list features
per motivi di compatibilità, ma non sono completamente implementate. Per
ulteriori informazioni su come rimuovere la funzionalità android.hardware.wifi
, consulta
Monitorare lo stato della connettività e la misurazione della connessione. Per un elenco completo delle funzionalità non supportate, consulta la guida alla compatibilità del file manifest delle app per i Chromebook.
Requisiti dei test di qualità
Queste funzionalità hardware di uso comune non sono compatibili con i PC, quindi devi rimuoverle prima dell'invio finale a Google Play Console:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
Autorizzazioni non supportate
Le seguenti autorizzazioni di uso comune non sono supportate sui PC, pertanto il gioco deve disattivarle per Google Play Giochi su PC:
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_WIFI_STATE
android.permission.BLUETOOTH
android.permission.CAMERA
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.INSTALL_PACKAGES
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.USE_CREDENTIALS
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SETTINGS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
Siti web esterni e WebView
Un intent del browser viene caricato nel browser web nativo di un PC anziché in uno nell'ambiente Google Play Giochi su PC. Si tratta di un'esperienza ideale per i giocatori nella maggior parte delle situazioni.
Per facilitare il trasferimento, Google Play Giochi su PC supporta
WebView. Poiché si apre nell'ambiente Google Play Giochi su PC, non è dotato del tipico browser desktop. Se in precedenza utilizzavi WebView
per condividere i tuoi Termini di servizio, le tue Norme sulla privacy o altri contenuti simili, dovresti invece attivare un intent del browser.
Disattiva le API Google Play Service non supportate
Obbligatorio per il processo di rilascio
Google Play Giochi su PC offre una propria variante di Google Play Services, che contiene solo un sottoinsieme delle API Google Play Services. Devi confermare che la tua applicazione non dipenda fortemente dai moduli omessi o non supportati su PC. Tieni presente che alcuni moduli potrebbero essere disponibili, ma la loro funzionalità non è sempre supportata. Ad esempio, Firebase Cloud Messaggiging non funzionerà quando Google Play Giochi su PC è chiuso.
Moduli supportati
Questi moduli sono attualmente disponibili e supportati da Google Play Giochi su PC, con in programma un supporto aggiuntivo delle funzionalità:
- Accedi con Google (esclusi trasferimento dell'account, SmartLock, verifica via SMS, calcolo della complessità delle password)
- Crona
- Servizi per i giochi di Google Play
- Attività
- Visione
- Google Pay
Assistenza limitata
I seguenti moduli sono parzialmente funzionali. Faremo del nostro meglio per supportarli su Google Play Giochi su PC, ma non possiamo garantirne la funzionalità.
- Google Cloud Messaging (deprecato, utilizza Firebase Cloud Messaging)
- Firebase Authentication (L'autenticazione del numero di telefono non funziona)
- Firebase Cloud Messaging
- Librerie comuni di Firebase
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Non supportato
Questi moduli non sono supportati in Google Play Giochi su PC, ma non causano problemi in Google Play Giochi su PC in caso di errore:
- Google Analytics (deprecato, utilizza Firebase Analytics)
- Google Cast
- API Awareness
- Drive (deprecato, verrà rimosso a breve)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B Testing
- Google Fit
- API Address
- API Instant Apps
- API Location
- SDK Google Maps
- Nelle vicinanze
- Panoramica
- Luoghi
- Google+
- SafetyNet (deprecato, compila il modulo di interesse per attivare l'imminente API Play Integrity)
- Google Tag Manager
- Wear OS
Non funzionante
Obbligatorio per il processo di rilascio
Non devi utilizzare questi moduli su PC perché potrebbero causare comportamenti imprevisti in Google Play Giochi su PC.
Abilita archiviazione mirata
Obbligatorio per il processo di rilascio
Questa sezione si applica se il gioco legge o scrive nella memoria esterna. L'applicazione forzata dell'archiviazione dell'ambito è necessaria come metodo alternativo per leggere e scrivere nell'archiviazione. In questo modo non sarà necessario richiedere al player queste autorizzazioni sensibili:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Per ulteriori informazioni sull'archiviazione mirata, consulta:
Analytics
I prodotti precedenti di Google Analytics non funzionano in Google Play Giochi su PC. Se questo è il caso per i tuoi giochi, devi eseguirne la migrazione a Google Analytics 4.
Ciò dovrebbe avere effetto sul tuo gioco solo se al momento utilizzi Google Analytics 360. Se utilizzi l'SDK Firebase per monitorare gli eventi di analisi nel tuo gioco e puoi visualizzare il gioco come una proprietà in Google Analytics Console, non devi fare ulteriori azioni.