Android गेम के लिए प्लैटफ़ॉर्म की पुष्टि करना

Google Play Games Services की सुविधाओं को ऐक्सेस करने के लिए, आपके गेम को पुष्टि किए गए खिलाड़ी का खाता देना होगा. इस दस्तावेज़ में, आपके गेम में बिना किसी रुकावट के पुष्टि करने की सुविधा को लागू करने का तरीका बताया गया है.

Play Games की सेवाओं के v2 एसडीके टूल में कई सुधार किए गए हैं. इससे आपके गेम में पुष्टि किए गए उपयोगकर्ताओं की संख्या बढ़ती है और डेवलपमेंट आसान हो जाता है:

  • उपयोगकर्ताओं के लिए बेहतर सुविधाएं:
    • डिफ़ॉल्ट खाता चुनने के बाद, उपयोगकर्ताओं की पुष्टि हो जाती है. इसके लिए, उन्हें किसी प्रॉम्प्ट से इंटरैक्ट करने की ज़रूरत नहीं होती.
    • लोगों को Play की गेम सेवाओं से पुष्टि करने या नया खाता बनाने के लिए, अब Play Games ऐप्लिकेशन डाउनलोड करने की ज़रूरत नहीं है.
    • अब लोग, एक ही पेज से कई गेम के लिए, Play की गेम सेवाओं से जुड़े अपने खाते मैनेज कर सकते हैं.
  • डेवलपर के लिए किए गए सुधार:
  • क्लाइंट कोड को अब पुष्टि करने या साइन-आउट फ़्लो को मैनेज करने की ज़रूरत नहीं है. ऐसा इसलिए, क्योंकि गेम शुरू होने पर लॉगिन अपने-आप ट्रिगर हो जाता है. साथ ही, खाता मैनेज करने की सुविधा ओएस की सेटिंग में उपलब्ध होती है.

नए क्लाइंट का इंटिग्रेशन

इस सेक्शन में, Play की गेम सेवाओं के साइन इन करने की सुविधा के वर्शन 2 के साथ नया क्लाइंट इंटिग्रेशन करने का तरीका बताया गया है.

डिपेंडेंसी जोड़ना

अपने ऐप्लिकेशन की रूट-लेवल वाली build.gradle फ़ाइल में, Play की गेम सेवाओं के एसडीके टूल की डिपेंडेंसी जोड़ें. अगर Gradle का इस्तेमाल किया जा रहा है, तो इस तरह डिपेंडेंसी जोड़ी या अपडेट की जा सकती है:

dependencies {
 implementation "com.google.android.gms:play-services-games-v2:+"
}

प्रोजेक्ट आईडी तय करना

अपने ऐप्लिकेशन में Play की गेम सेवाओं के एसडीके का प्रोजेक्ट आईडी जोड़ने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में, <application> एलिमेंट में यह <meta-data> एलिमेंट और एट्रिब्यूट जोड़ें:

    <manifest>
      <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                   android:value="@string/game_services_project_id"/>
      </application>
    </manifest>
    

    अपने गेम की गेम सेवाओं के प्रोजेक्ट आईडी को वैल्यू के तौर पर इस्तेमाल करके, स्ट्रिंग संसाधन का रेफ़रंस @string/game_services_project_id तय करें. Google Play Console पर कॉन्फ़िगरेशन पेज में, गेम के नाम के नीचे आपको गेम सेवाओं का प्रोजेक्ट आईडी दिखेगा.

  2. अपनी res/values/strings.xml फ़ाइल में, स्ट्रिंग संसाधन का रेफ़रंस जोड़ें और अपने प्रोजेक्ट आईडी को वैल्यू के तौर पर सेट करें. Google Play Console में, कॉन्फ़िगरेशन पेज पर जाकर, अपने गेम के नाम के नीचे प्रोजेक्ट आईडी देखा जा सकता है. उदाहरण के लिए:

    <!-- res/values/strings.xml -->
    <resources>
      <!-- Replace 0000000000 with your game’s project id. Example value shown above.  -->
      <string translatable="false"  name="game_services_project_id"> 0000000000 </string>
    </resources>
    

एसडीके टूल को शुरू करना

अपनी Application क्लास के onCreate(..) कॉलबैक में, Play Games SDK टूल को शुरू करें.

import com.google.android.gms.games.PlayGamesSdk;

...

@Override
public void onCreate(){
  super.onCreate();
  PlayGamesSdk.initialize(this);
}

पुष्टि का नतीजा पाना

आपका गेम लॉन्च होने पर, वह हमेशा उपयोगकर्ता की पुष्टि करने की कोशिश करेगा. उपयोगकर्ता की पुष्टि करने के लिए, आपको यह पुष्टि करनी होगी कि उपयोगकर्ता की पुष्टि हो गई है. इसके बाद, उसका प्लेयर आईडी पाएं.

पुष्टि करने के लिए, GamesSignInClient.isAuthenticated() को कॉल करें और नतीजे पाने के लिए addOnCompleteListener का इस्तेमाल करें. उदाहरण के लिए:

GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());

gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
  boolean isAuthenticated =
    (isAuthenticatedTask.isSuccessful() &&
     isAuthenticatedTask.getResult().isAuthenticated());

  if (isAuthenticated) {
    // Continue with Play Games Services
  } else {
    // Show a sign-in button to ask players to authenticate. Clicking it should
    // call GamesSignInClient.signIn().
  }
});
इसके बाद, गेम के बैकएंड से सीधे तौर पर सर्वर-साइड कॉल करके, प्लेयर आईडी या अन्य डेटा वापस पाना चाहिए.