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