Ein Spiel für Google Play Spiele auf dem PC verpacken

Da Google Play Games auf dem PC eine standardmäßige Android-Laufzeitumgebung bietet, gibt es keine Unterschiede beim Packen Ihres Spiels für Mobilgeräte oder PCs, außer dass Sie x86- oder x86-64-Binärdateien einfügen müssen. Wenn möglich, sollten Sie dasselbe APK oder App Bundle auf dem PC wie für mobile Builds verwenden.

Wenn Sie ein Paket für Mobilgeräte und Google Play Games auf dem PC verwenden, sollten Sie Google Play Games auf dem PC-spezifische Funktionen zur Laufzeit aktivieren, indem Sie entweder das Vorhandensein einer Tastatur erkennen:

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

Oder so:"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");