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

Da Google Play Spiele auf dem PC eine standardmäßige Android-Laufzeitumgebung bietet, gibt es keine Unterschiede zwischen der Packung für Mobilgeräte oder PCs, abgesehen von der Gewährleistung, dass du x86- oder x86-64-Binärdateien verwendest. Verwenden Sie nach Möglichkeit dasselbe APK oder App Bundle auf dem PC wie für mobile Builds.

Wenn Sie ein Paket für ein Mobilgerät und für Google Play Spiele auf dem PC verwenden, empfiehlt es sich, bestimmte Funktionen von Google Play Spiele auf dem PC zur Laufzeit zu aktivieren. Hierzu müssen Sie entweder feststellen, dass eine Tastatur vorhanden ist:

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 suchen Sie nach der Systemfunktion "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");