Opakuj grę do Gier Google Play na PC

Gry Google Play na PC to standardowe środowisko wykonawcze Androida, więc nie ma różnic między zapakowaniem gry na urządzenie mobilne lub komputer poza tym, czy dołączysz pliki binarne x86 lub x86-64. W miarę możliwości używaj tego samego pliku APK lub pakietu aplikacji na PC co w przypadku kompilacji na urządzenia mobilne.

Jeśli korzystasz z jednego pakietu na urządzeniu mobilnym i w Grach Google Play na PC, najlepiej jest w czasie działania włączać określone funkcje Gier Google Play na PC przez wykrycie klawiatury:

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

Możesz też sprawdzić, czy dostępna jest funkcja systemowa "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");