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

Poiché Google Play Giochi su PC offre un ambiente di runtime Android standard, non ci sono differenze tra pacchettizzare il gioco per dispositivi mobili o PC al di fuori assicurandoti di includere i file binari x86 o x86-64. Se possibile, utilizza è lo stesso APK o App Bundle usato su PC per i dispositivi mobili le build.

Se utilizzi un unico pacchetto per dispositivi mobili e Google Play Giochi su PC, è meglio attivare funzionalità specifiche di Google Play Giochi su PC in fase di runtime rilevamento della 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, cercando il sistema "com.google.android.play.feature.HPE_EXPERIENCE" funzionalità:

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