Đóng gói trò chơi cho Google Play Games trên máy tính

Vì Google Play Games trên máy tính cung cấp một môi trường Android Runtime tiêu chuẩn, nên không có sự khác biệt giữa việc gói trò chơi cho thiết bị di động hoặc máy tính ngoài việc đảm bảo rằng bạn đã thêm các tệp nhị phân x86 hoặc x86-64. Khi có thể, bạn nên sử dụng cùng một APK hoặc Gói ứng dụng trên máy tính như đối với bản dựng dành cho thiết bị di động.

Khi sử dụng một gói trên cả thiết bị di động và Google Play Games trên máy tính, tốt nhất là bạn nên bật các tính năng dành riêng cho Google Play Games trên máy tính trong thời gian chạy bằng cách phát hiện sự có mặt của bàn phím:

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

Hoặc bằng cách kiểm tra tính năng của hệ thống "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");