Crea un pacchetto di un gioco per Google Play Giochi su PC

Poiché Google Play Giochi su PC fornisce un ambiente di runtime Android standard, non ci sono differenze tra il packaging del gioco per dispositivi mobili o PC, a parte assicurarsi di includere i file binari x86 o x86-64. Se possibile, devi utilizzare lo stesso APK o pacchetto app su PC e per le build per dispositivi mobili.

Quando utilizzi un unico pacchetto per dispositivi mobili e Google Play Giochi su PC, è consigliabile attivare le 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

Oppure controllando la funzionalità di sistema "com.google.android.play.feature.HPE_EXPERIENCE":

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");