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

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

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

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");