Google Play Giochi su PC richiede che tu apporti modifiche di compatibilità e ottimizzazione per PC al tuo gioco. Queste modifiche garantiscono 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 per la grafica, l'input del dispositivo e il gioco cross-device. Per maggiori informazioni, consulta la guida introduttiva.
Quando apporti le modifiche di compatibilità e ottimizzazione per PC (diverse dal supporto x86-64), puoi configurare il gioco in modo da rilevare Google Play Giochi su PC e poi 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 runtime (opzione consigliata)
- Gestisci l'evento onPause (opzione consigliata)
- Aggiorna gli elementi della UI (obbligatorio)
- Disattivare le finestre di dialogo delle autorizzazioni delle app per Android (obbligatorio)
- Disattivare le funzionalità e le autorizzazioni Android non supportate (obbligatorio)
- Sostituisci le WebView con gli intent del browser (consigliato)
- Disattiva le API di Google Play Services non supportate (obbligatorio)
- Abilita lo spazio di archiviazione isolato (obbligatorio)
- Eseguire la migrazione a Google Analytics 4 (consigliato)
Includi l'architettura ABI x86-64
Obbligatorio per la procedura di rilascio
Tutte le librerie incluse nel gioco richiedono versioni compatibili con x86-64 ABI per garantire le migliori prestazioni e stabilità sulla piattaforma.
Se è tecnicamente impossibile per il tuo gioco distribuire un 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".
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 utilizzi gcc
evita di usare -march=atom e usa invece -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, procedi nel seguente modo per attivare le destinazioni Android x86-64:
Vai a Impostazioni giocatore > Altre impostazioni > Configurazione > Scripting Backend 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 Player Settings > Other Settings > Target Architecture e seleziona la casella di controllo x86. Poiché Unity 2018 supporta solo target x86, non potrai creare x86-64. Questa build richiederà un'eccezione da parte del team di revisione. Rivolgiti al tuo contatto Google per richiedere un'eccezione x86.
Unity 2019 Long Term Support (LTS) e versioni successive: vai a Player Settings > Other Settings > Target Architectures 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 viene eseguito 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 la sovrapposizione dell'emulatore, quindi la mancata ricezione dell'evento
onPause può comportare un'esperienza utente scadente.
Aggiornare l'interfaccia utente
Alcuni elementi e gesti della UI non sono adatti al PC e devono essere aggiornati.
Obbligatorio:
- Sostituisci le azioni dell'interfaccia utente che richiedono due o più dita (gesti multitocco). Ad esempio, devi sostituire il gesto di pizzicare per zoomare e altri gesti multitocco con l'input corrispondente di mouse e tastiera. Per informazioni dettagliate sulle modifiche all'input del dispositivo, vedi Supporto dell'input.
Consigliato:
- Tutto il testo visibile dall'utente deve riportare "fai clic" anziché "tocca".
- Gli elenchi scorrevoli devono avere barre di scorrimento.
- Le aree che gli utenti possono spostare orizzontalmente devono avere barre di scorrimento o un altro modo per percorrere rapidamente grandi distanze.
- Non visualizzare una tastiera sullo schermo su cui è possibile fare clic 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 ovunque all'interno dei limiti visibili dell'elemento.
- Non accettare un clic nell'area al di fuori 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.
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 delle autorizzazioni, quindi non devi tentare di visualizzarle o richiedere le autorizzazioni in fase di runtime. Se in precedenza hai visualizzato le finestre di dialogo delle autorizzazioni, devi aggiornare il gioco in modo che non vengano più visualizzate sui PC.
Funzionalità e autorizzazioni Android non supportate
Obbligatorio per la procedura di rilascio
Alcune funzionalità hardware comuni su cellulari 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.
Per visualizzare un elenco completo delle funzionalità disponibili, digita:
adb shell pm list featuresPer rendere il gioco compatibile con i PC, sono necessarie le seguenti modifiche:
Contrassegna le funzionalità come facoltative nel manifest dell'app aggiungendo
android:required="false"alla dichiarazione<uses-feature>. Questo vale solo per le funzionalità già dichiarate nel manifest dell'app.Non tentare di utilizzare funzionalità mancanti in fase di runtime. Se utilizzi lo stesso APK sia sui canali mobile che su quelli 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 sia sui canali mobile che su quelli PC, rileva l'ambiente PC in fase di runtime ed evita i percorsi di codice pertinenti. Non è necessario aggiornare il manifest.
Per maggiori informazioni sulla compatibilità del manifest dell'app, consulta la guida Compatibilità del manifest dell'app Chromebook.
Requisiti per i test funzionali
Rimuovi queste funzionalità hardware prima di inviare la prima build di test a Google Play Console:
android.hardware.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.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
maggiori 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 dell'app per Chromebook.
Requisiti per i test di qualità
Queste funzionalità hardware di uso comune non sono compatibili con i PC, pertanto devi rimuoverle prima dell'invio finale a Google Play Console:
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.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_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.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 quello dell'ambiente Google Play Giochi su PC. Questa è l'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 tipico
browser desktop. Se in precedenza utilizzavi WebView per condividere i Termini di servizio, le Norme sulla privacy o altri contenuti simili, devi invece richiamare un intent del browser.
Disattivare le API Google Play Services non supportate
Obbligatorio per la procedura di rilascio
Google Play Games 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 qualsiasi momento. Ad esempio, Firebase Cloud Messaging non funzionerà quando Google Play Games su PC è chiuso.
Moduli supportati
Questi moduli sono attualmente disponibili e supportati da Google Play Games su PC, con piani per il supporto di funzionalità aggiuntive:
- Accedi con Google (esclusi trasferimento dell'account, Smart Lock, verifica via SMS, calcolo della complessità della password)
- Cronet
- Google Play Game Services
- Attività
- Vista
- Google Pay
Assistenza limitata
I seguenti moduli sono parzialmente funzionanti. 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 con numero di telefono non funziona)
- Firebase Cloud Messaging
- Librerie comuni di Firebase
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Non supportata
Questi moduli non sono supportati in Google Play Giochi su PC, ma non causano problemi in Google Play Giochi su PC quando non funzionano:
- 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 l'imminente API Play Integrity)
- Google Tag Manager
- Wear OS
Servizi
Obbligatorio per la procedura di rilascio
Non devi utilizzare questi moduli sui PC perché possono causare un comportamento imprevisto in Google Play Giochi su PC.
Abilita lo spazio di archiviazione isolato
Obbligatorio per la procedura di rilascio
Questa sezione si applica se il tuo gioco legge o scrive su un dispositivo di archiviazione esterno. L'applicazione dell'ambito di archiviazione è obbligatoria come modo alternativo per leggere e scrivere nell'archiviazione. In questo modo, non è più necessario richiedere al giocatore queste autorizzazioni sensibili:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
Per saperne di più sullo spazio di archiviazione isolato, consulta:
- Come attivare lo spazio di archiviazione isolato
- Best practice per la gestione dei file non multimediali
Analytics
I prodotti Google Analytics legacy non funzionano in Google Play Giochi su PC. Se questo vale per i tuoi giochi, devi eseguire la migrazione a Google Analytics 4.
Questo dovrebbe influire sul tuo gioco solo se attualmente utilizzi Google Analytics 360. Se utilizzi l'SDK Firebase per monitorare gli eventi di analisi nel tuo gioco e puoi visualizzare il gioco come proprietà nella console Google Analytics, non devi intraprendere ulteriori azioni.