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