Google Play Games on PC के लिए किसी गेम का पैकेज बनाएं

Google Play Games on PC, स्टैंडर्ड Android रनटाइम एनवायरमेंट उपलब्ध कराता है. इसलिए, x86 या x86-64 बाइनरी शामिल करने के अलावा, मोबाइल या पीसी के लिए गेम को पैक करने में कोई अंतर नहीं होता. जब भी हो सके, पीसी पर उसी APK या ऐप्लिकेशन बंडल का इस्तेमाल करें जिसका इस्तेमाल मोबाइल वर्शन के लिए किया जाता है.

मोबाइल और पीसी पर Google Play Games के लिए एक ही पैकेज का इस्तेमाल करते समय, यह सबसे अच्छा है कि पीसी पर Google Play Games की खास सुविधाओं को रनटाइम के दौरान चालू किया जाए. इसके लिए, इनमें से कोई एक तरीका अपनाएं: कीबोर्ड के मौजूद होने का पता लगाएं:

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

इसके अलावा, "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");