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

Poiché Google Play Games 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 binari x86 o x86-64. Se possibile, devi utilizzare lo stesso APK o Android App Bundle sul PC che utilizzi per le build mobile.

Quando utilizzi un pacchetto su dispositivi mobili e Google Play Games su PC, è consigliabile attivare le funzionalità specifiche di Google Play Games 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");