Google Play Giochi su PC richiede di apportare modifiche al tuo gioco per migliorarne la compatibilità e l'ottimizzazione per PC. Queste modifiche assicurano che il tuo gioco possa essere eseguito su un PC e che l'esperienza utente sia ottimizzata per la piattaforma.
Inoltre, Google Play Giochi su PC ha requisiti relativi a grafica, input del dispositivo e giochi cross-device. Per ulteriori informazioni, consulta la guida introduttiva.
Quando apporti le modifiche di compatibilità e ottimizzazione per PC (diverse dal supporto x86-64), puoi configurare il tuo gioco in modo da rilevare Google Play Giochi su PC e disattivare o attivare le funzionalità specifiche della piattaforma. In questo modo puoi utilizzare lo stesso APK o app bundle per le release per dispositivi mobili e PC Android.
Ecco un riepilogo dei requisiti e dei consigli riportati in questa pagina:
- Includi ABI x86-64 (obbligatorio)
- Rileva Google Play Giochi in fase di esecuzione (opzione consigliata)
- Gestisci l'evento onPause (opzione consigliata)
- Aggiorna gli elementi dell'interfaccia utente (obbligatorio)
- Disattivare le finestre di dialogo per le autorizzazioni delle app Android (obbligatorio)
- Disattivare le autorizzazioni e le funzionalità Android non supportate (obbligatorio)
- Sostituisci le WebView con gli intent del browser (opzione consigliata)
- Disattivare le API di Google Play Services non supportate (obbligatorio)
- Attiva lo spazio di archiviazione basato sugli ambiti (obbligatorio)
- Eseguire la migrazione a Google Analytics 4 (opzione consigliata)
Includi l'architettura ABI x86-64
Obbligatorio per la procedura di rilascio
Tutte le librerie incluse nel gioco richiedono versioni compatibili con ABI x86-64 per garantire le migliori prestazioni e la massima stabilità sulla piattaforma.
Se non è tecnicamente fattibile per il tuo gioco distribuire un file eseguibile x86 a 64 bit, devi contattare il team di revisione per richiedere un'eccezione. Il tuo gioco non può ottenere la certificazione completa con un'eccezione, ma può essere inserito nel catalogo come gioco "giocabile".
Raccolta di librerie
Per garantire la massima compatibilità con i processori x86-64, non utilizzare l'insieme di istruzioni di Atom quando compili le librerie. Ad esempio, quando utilizzi gcc
evita di utilizzare -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 grafico Unity, segui la procedura riportata di seguito per attivare i target Android x86-64:
Vai a Impostazioni del player > Altre impostazioni > Configurazione > Scripting Backend e seleziona IL2CPP dal menu a discesa per attivare il scripting backend IL2CPP.
Attiva i target Android x86-64 per la tua versione di Unity:
Unity 2018 e versioni precedenti: vai a Impostazioni player > Altre impostazioni > Architettura di destinazione e seleziona la casella di controllo x86. Poiché Unity 2018 supporta solo target x86, non potrai eseguire la compilazione per x86-64. Questa build richiede un'eccezione da parte del team di revisione. Contatta il tuo contatto Google per richiedere un'eccezione per x86.
Versione Unity 2019 con assistenza a lungo termine (LTS) e versioni successive: vai a Impostazioni del visualizzatore > Altre impostazioni > Architetture di destinazione e attiva x86-64 (ChromeOS).
Rilevare Google Play Giochi su PC
Puoi rilevare la piattaforma Google Play Giochi su PC in fase di runtime, il che ti consente di attivare o disattivare le funzionalità specifiche della piattaforma nel tuo gioco.
Controlla la funzionalità di sistema com.google.android.play.feature.HPE_EXPERIENCE
per determinare 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 Google Play Giochi su PC. Il tuo gioco è visibile
quando un giocatore attiva l'overlay dell'emulatore, quindi la mancata ascolto dell'evento
onPause
può comportare un'esperienza utente scadente.
Aggiornare l'interfaccia utente
Alcuni elementi e gesti dell'interfaccia utente non sono adatti al 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 lo zoom con pizzico e altri gesti multi-touch con l'input del mouse e della tastiera corrispondente. Per informazioni dettagliate sulle modifiche ai dispositivi input, consulta Supporto dell'input.
Consigliato:
- Tutto il testo visibile all'utente deve indicare "fai 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 un altro modo per percorrere rapidamente lunghe distanze.
- Non mostrare una tastiera cliccabile sullo schermo per l'inserimento di testo.
- Tutte le voci di testo devono rientrare nei limiti del campo di testo.
- I clic sugli elementi visibili devono:
- Accetta un clic in qualsiasi punto all'interno dei limiti visibili dell'elemento.
- Non accettare un clic nell'area esterna all'elemento visibile.
- Le finestre di dialogo devono avere un pulsante di chiusura visibile. Non rilevare un clic al di fuori dei confini della finestra di dialogo.
Disattivare la maggior parte delle finestre di dialogo delle autorizzazioni
Ad eccezione delle autorizzazioni per microfono e notifiche, Google Play Giochi su PC non mostra le finestre di dialogo di autorizzazione, pertanto non dovresti tentare di visualizzarle o richiedere autorizzazioni in fase di esecuzione. Se in passato hai visualizzato le finestre di dialogo di autorizzazione, devi aggiornare il tuo gioco in modo che non le mostri più sui PC.
Funzionalità e autorizzazioni Android non supportate
Obbligatorio per la procedura di rilascio
Alcune funzionalità hardware comuni su smartphone e tablet non sono disponibili su PC. Sono incluse funzionalità hardware come la fotocamera o la posizione di un giocatore. Qualsiasi gioco che richiede funzionalità mancanti non può essere scaricato e installato sul PC di un giocatore. Le richieste di funzionalità mancanti su un PC non vanno a buon fine automaticamente.
Per visualizzare un elenco completo delle funzionalità disponibili, digita:
adb shell pm list features
Per rendere il tuo gioco compatibile con i PC, sono necessarie le seguenti modifiche:
Devi contrassegnare le funzionalità come facoltative nel file manifest dell'app aggiungendo
android:required="false"
alla dichiarazione<uses-feature>
. Questo vale solo per le funzionalità già dichiarate nel file manifest dell'app.Non tentare di utilizzare le funzionalità mancanti in fase di esecuzione. Se utilizzi lo stesso APK sia sui canali mobile che su PC, rileva l'ambiente PC in fase di esecuzione ed evita i percorsi di codice pertinenti.
Non richiedere autorizzazioni Android non supportate in fase di runtime. Se utilizzi lo stesso APK sia sui canali mobile sia su quelli per PC, rileva l'ambiente PC in fase di esecuzione ed evita i percorsi di codice pertinenti. Non è necessario aggiornare il manifest.
Per saperne di più sulla compatibilità del file manifest dell'app, consulta la guida sulla compatibilità del file manifest dell'app per Chromebook.
Requisiti per i test funzionali
Rimuovi queste 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 indicate come supportate durante l'esecuzione di pm list features
per motivi di compatibilità, ma non sono completamente implementate. Per maggiori informazioni su come rimuovere la funzionalità android.hardware.wifi
, consulta Monitorare lo stato della connettività e la misurazione delle connessioni. Per un
elenco completo delle funzionalità non supportate, consulta la guida alla compatibilità del file manifest dell'app per Chromebook.
Requisiti per i 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 tuo 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 e WebView esterni
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 semplificare il porting, Google Play Giochi su PC supporta WebView. Poiché si apre nell'ambiente Google Play Giochi su PC, non sarà presente il browser desktop tipico. Se in precedenza utilizzavi WebView
per condividere i Termini di servizio, le Norme sulla privacy o altri contenuti simili, devi invece richiedere un'intent del browser.
Disattivare le API di Google Play Services non supportate
Obbligatorio per la procedura di rilascio
Google Play Giochi su PC include una propria variante di Google Play Services che contiene solo un sottoinsieme delle API di Google Play Services. Devi confermare che la tua applicazione non dipende fortemente da moduli omessi o non supportati su PC. Tieni presente che alcuni moduli potrebbero essere disponibili, ma la loro funzionalità non è supportata in ogni momento. Ad esempio, Firebase Cloud Messaging 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 piani per il supporto di funzionalità aggiuntive:
- Accesso con Google (non sono inclusi trasferimento dell'account, Smart Lock, verifica tramite SMS, calcolo della complessità della password)
- Cronet
- 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 garantire la loro funzionalità.
- Google Cloud Messaging (deprecato, utilizza Firebase Cloud Messaging)
- Firebase Authentication (l'autenticazione tramite 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 (obsoleto, 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 la futura API Play Integrity)
- Google Tag Manager
- Wear OS
Non funzionante
Obbligatorio per la procedura di rilascio
Non devi utilizzare questi moduli su PC perché possono causare comportamenti inaspettati in Google Play Giochi su PC.
Attivare lo spazio di archiviazione basato sugli ambiti
Obbligatorio per la procedura di rilascio
Questa sezione si applica se il tuo gioco legge o scrive in unità di archiviazione esterne. L'applicazione dell'ambito dell'archiviazione è obbligatoria come metodo alternativo per leggere e scrivere nell'archiviazione. In questo modo, non sarà necessario chiedere al giocatore di autorizzare queste autorizzazioni sensibili:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Per ulteriori informazioni sullo spazio di archiviazione basato sugli ambiti, consulta:
- Come attivare lo spazio di archiviazione basato sugli ambiti
- Best practice per la gestione dei file non multimediali
Analytics
I prodotti Google Analytics precedenti non funzionano in Google Play Giochi su PC. Se questo vale per i tuoi giochi, devi eseguire la migrazione a Google Analytics 4.
Ciò dovrebbe influire 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 visualizzarlo come proprietà nella Console Google Analytics, non devi intraprendere alcuna azione ulteriore.