Play की गेम सेवाओं को वापस लाएं

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

अगर आपने Android के Recall API को इंटिग्रेट किया है, तो ये Recall API आपको जाने-पहचाने लगेंगे. Play Games की सेवाओं के Recall के साथ सर्वर-साइड इंटिग्रेशन को पीसी पर चलने वाले गेम के लिए भी इस्तेमाल किया जा सकता है. ऐसा इसलिए, क्योंकि ये इंटिग्रेशन Android और पीसी, दोनों के लिए एक जैसे होते हैं.

नेमस्पेस: PlayPcSdkManaged.Recall

क्लाइंट क्लास: RecallClient

ज़रूरी शर्तें

मेनिफ़ेस्ट में, Play Games की सेवाओं के प्रोजेक्ट का आईडी जोड़ना

Play Console में, Play Games की सेवाओं का सेटअप पूरा करने के बाद, आपके गेम से Play Games की सेवाओं के प्रोजेक्ट का आईडी जुड़ जाता है. इस प्रोजेक्ट आईडी का इस्तेमाल करके, अपने गेम के manifest.xml को अपडेट करें. यह आईडी, Play Console में Play की गेम सेवाओं के कॉन्फ़िगरेशन वाले पेज पर मौजूद होता है.

manifest.xml के कॉन्टेंट का उदाहरण:

<?xml version="1.0" encoding="utf-8"?>
<?Manifest version="1">
   <?Application>
     <?PackageName>com.example.package<?/PackageName>
     <?PlayGamesServices>
          <?ProjectId>123456789<?/ProjectId>
     <?/PlayGamesServices>
   <?/Application>
<?/Manifest>

ध्यान दें: अगर आपको Unity Editor में डेवलपमेंट के दौरान, पीसी के एसडीके का इस्तेमाल करना है, तो आपको अपने गेम की एक्ज़ीक्यूटेबल फ़ाइल पर डिजिटल हस्ताक्षर करने या उसे Google Play Games से लॉन्च करने की ज़रूरत नहीं है. मेनिफ़ेस्ट को कॉन्फ़िगर करने के अन्य चरणों के लिए, डेवलपर मोड सेटअप गाइड देखें.

क्लाइंट बनाना

RecallClient बनाने के लिए, हमेशा फ़ैक्ट्री का इस्तेमाल करें. इससे यह पक्का होता है कि Unity के साथ काम करने वाले कॉलबैक अपने-आप रजिस्टर हो जाएं.

using UnityEngine;
using System;
using System.Threading.Tasks;
// Required SDK Namespaces
using PlayPcSdkManaged.Recall;
using PlayPcSdkManaged.Unity;

public class RecallManager : MonoBehaviour
{
    private RecallClient _recallClient;

    public void SetupRecall()
    {
        try
        {
            // Creates the client with the required UnityRecallCallbacksHandler
            _recallClient = PlayPcSdkFactory.CreateRecallClient();
            Debug.Log("Recall Client created successfully.");
        }
        catch (Exception ex)
        {
            Debug.LogError($"Failed to create Recall Client: {ex.Message}");
        }
    }

    private void OnDestroy()
    {
        // Always dispose of the client to clean up native C++ resources
        _recallClient?.Dispose();
    }
}

Recall के ऐक्सेस का अनुरोध करना

जब आपका गेम, साइन-इन की प्रोसेस को मैनेज कर रहा हो, जैसे कि इन-गेम खाता जोड़ना, तो Recall के ऐक्सेस का अनुरोध करने के लिए RequestRecallAccessAsync का इस्तेमाल करें.

इस कॉल से सेशन आईडी मिलता है. इसका इस्तेमाल, आपका बैकएंड, Google को सर्वर-साइड कॉल करने के लिए करता है. इससे, आपके इन-गेम खातों को Play की गेम सेवाओं के किसी उपयोगकर्ता से लिंक और अनलिंक किया जा सकता है.

public async Task RequestRecallAccessAsync()
{
    try
    {
        Debug.Log("Requesting Recall access...");

        // Async call to retrieve the session ID
        var result = await _recallClient.RequestRecallAccessAsync();

        if (result.IsOk)
        {
            // On success, access the RecallSessionId
            var sessionId = result.Value.RecallSessionId;
            Debug.Log($"Recall Access Granted! Session ID: {sessionId}");

            // Pass 'sessionId' to your backend server to process account linking
        }
        else
        {
            // Handle expected API errors (e.g., Error)
            Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}");
        }
    }
    catch (Exception ex)
    {
        Debug.LogException(ex);
    }
}

Recall के सेशन आईडी को प्रोसेस करना

जब आपके गेम को Recall का सेशन आईडी मिल जाता है और वह इसे आपके बैकएंड गेम सर्वर को भेज देता है, तो Play Games के सर्वर-साइड REST API का इस्तेमाल करके:

सर्वर-साइड इंटिग्रेशन के बारे में ज़्यादा जानकारी पाने के लिए, वह दस्तावेज़ देखें जिसमें बताया गया है कि आपके गेम सर्वर में, Recall API का इस्तेमाल कैसे किया जाता है.