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

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

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

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

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

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

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

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

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

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

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

  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().
  }
});

अगर उपयोगकर्ता गेम लॉन्च होने पर पुष्टि नहीं करता है, तो हमारा सुझाव है कि आप Play Games के आइकॉन वाला बटन दिखाते रहें. इसके अलावा, उपयोगकर्ता को साइन-इन करने की ऐसी स्क्रीन दिखाएं जिसमें Play Games के आइकॉन वाला बटन, पुष्टि करने के विकल्पों में से एक के तौर पर मौजूद हो. साथ ही, अगर उपयोगकर्ता बटन दबाता है, तो GamesSignInClient.signIn() को कॉल करके, उपयोगकर्ता की फिर से पुष्टि करने की कोशिश करें. उपयोगकर्ता की पुष्टि हो जाने के बाद, उपयोगकर्ता की पहचान करने के लिए Player ID को वापस लाया जा सकता है. उदाहरण के लिए:

PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
    // Get PlayerID with mTask.getResult().getPlayerId()
  }
);