Crea un pacchetto di un gioco per Google Play Giochi su PC
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Poiché Google Play Giochi su PC fornisce un ambiente di runtime Android standard,
non ci sono differenze tra il pacchettizzare il gioco per dispositivi mobili o PC, oltre a dover
assicurarti di includere i file binari x86 o x86-64. Se possibile, devi utilizzare lo stesso APK o App Bundle sul PC che utilizzi per le build mobile.
Se utilizzi un pacchetto per dispositivi mobili e Google Play Giochi su PC, è preferibile attivare funzionalità specifiche di Google Play Giochi su PC in fase di runtime rilevando la presenza di una tastiera:
Kotlin
val hasKeyboard = resources.configuration.keyboard == KEYBOARD_QWERTY
Java
boolean hasKeyboard = getResources().getConfiguration().keyboard == KEYBOARD.QWERTY
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var resources = currentActivity.Call<AndroidJavaObject>("getResources");
var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
var keyboard = configuration.Get<int>("keyboard");
var hasKeyboard == 2; // Configuration.KEYBOARD_QWERTY
In alternativa, controlla se è presente la funzionalità "com.google.android.play.feature.HPE_EXPERIENCE"
di sistema:
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");
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[null,null,["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Package a game for Google Play Games on PC\n\nSince Google Play Games on PC provides a standard Android runtime environment,\nthere are no differences between packing your game for mobile or PC outside of\nensuring that you include x86 or x86-64 binaries. When possible, you should use\nthe same APK or [App Bundle](/guide/app-bundle) on PC as you do for mobile\nbuilds.\n\nWhen using one package across mobile and Google Play Games on PC, it is best to\nenable Google Play Games on PC specific features at runtime either by\n[detecting the presence of a keyboard](/games/develop/all-screens#handle-interaction-models):\n\n\u003cbr /\u003e\n\n### Kotlin\n\n\u003cbr /\u003e\n\n val hasKeyboard = resources.configuration.keyboard == KEYBOARD_QWERTY\n\n\u003cbr /\u003e\n\n### Java\n\n\u003cbr /\u003e\n\n boolean hasKeyboard = getResources().getConfiguration().keyboard == KEYBOARD.QWERTY\n\n\u003cbr /\u003e\n\n### C#\n\n\u003cbr /\u003e\n\n var unityPlayerClass = new AndroidJavaClass(\"com.unity3d.player.UnityPlayer\");\n var currentActivity = unityPlayerClass.GetStatic\u003cAndroidJavaObject\u003e(\"currentActivity\");\n var resources = currentActivity.Call\u003cAndroidJavaObject\u003e(\"getResources\");\n var configuration = resources.Call\u003cAndroidJavaObject\u003e(\"getConfiguration\");\n var keyboard = configuration.Get\u003cint\u003e(\"keyboard\");\n var hasKeyboard == 2; // Configuration.KEYBOARD_QWERTY\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nOr by checking for the `\"com.google.android.play.feature.HPE_EXPERIENCE\"` system\nfeature: \n\n### Kotlin\n\n```kotlin\nvar isPC = packageManager.hasSystemFeature(\"com.google.android.play.feature.HPE_EXPERIENCE\")\n \n```\n\n### Java\n\n```java\nPackageManager pm = getPackageManager();\nboolean isPC = pm.hasSystemFeature(\"com.google.android.play.feature.HPE_EXPERIENCE\")\n \n```\n\n### C#\n\n```c#\nvar unityPlayerClass = new AndroidJavaClass(\"com.unity3d.player.UnityPlayer\");\nvar currentActivity = unityPlayerClass.GetStatic\u003cAndroidJavaObject\u003e(\"currentActivity\");\nvar packageManager = currentActivity.Call\u003cAndroidJavaObject\u003e(\"getPackageManager\");\nvar isPC = packageManager.Call\u003cbool\u003e(\"hasSystemFeature\", \"com.google.android.play.feature.HPE_EXPERIENCE\");\n \n```"]]