Android गेम के लिए साइन इन करें

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

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

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

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

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

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

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

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

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

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

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

    <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>
    

SDK टूल शुरू करें

अपने 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 {
    // Disable your integration with Play Games Services or show a
    // login button to ask  players to sign-in. Clicking it should
    // call GamesSignInClient.signIn().
  }
});

अगर गेम के लॉन्च होने के समय उपयोगकर्ता साइन इन नहीं करता है, तो आपको Play Games आइकॉन के साथ बटन दिखाना जारी रखें और अगर उपयोगकर्ता, GamesSignInClient.signIn() पर कॉल करके उपयोगकर्ता को फिर से साइन इन करने की अनुमति देता है बटन दबाता है.

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

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