Unity गेम में दोस्त

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

शुरू करने से पहले

इन एपीआई को लागू करने के सबसे सही तरीके के बारे में निर्देश पाने के लिए, सबसे सही तरीकों के दिशा-निर्देश देखें.

दोस्तों को जोड़ने की सुविधा चालू करना

दोस्तों के साथ शेयर करने की सुविधा चालू करने के लिए, इन फ़ंक्शन का इस्तेमाल करें:

  • दोस्तों की सूची देखना: किसी खिलाड़ी की दोस्तों की सूची का ऐक्सेस पाने का अनुरोध करें, ताकि आप उनके Play Games के दोस्तों को अपनी गेम में मौजूद दोस्तों की सूची में जोड़ सकें.

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

दोस्त देखना

दोस्तों को लोड करने के दो तरीके हैं. पहला, ISocial फ़्रेमवर्क का इस्तेमाल करके और दूसरा, सीधे PlayGamesPlatform का इस्तेमाल करके.

ISocial फ़्रेमवर्क की मदद से दोस्तों की सूची लोड करना

Social.localUser.LoadFriends((success) =>  {
    Debug.Log("Friends loaded OK: " + ok));
    foreach(IUserProfile p in Social.localUser.friends) {
         Debug.Log(p.userName + " is a friend");
    }

हालांकि, अगर मौजूदा खिलाड़ी ने अब तक गेम को यह जानकारी ऐक्सेस करने की अनुमति नहीं दी है, तो यह कॉल पूरा नहीं होगा. LoadFriends की सहमति न मिलने की वजह से, LoadFriends के काम न करने की जांच करने के लिए, GetLastLoadFriendsStatus का इस्तेमाल करें.

 PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
    // Check for consent
    if (status == LoadFriendsStatus.ResolutionRequired) {
        // Ask for resolution.
    }
});

कोई गेम, AskForLoadFriendsResolution को कॉल करके, मौजूदा खिलाड़ी से दोस्तों की सूची शेयर करने के लिए कह सकता है.

PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
    if (result == UIStatus.Valid) {
        // User agreed to share friends with the game. Reload friends.
    } else {
        // User doesn’t agree to share the friends list.
    }
});

इस सुविधा से, प्लैटफ़ॉर्म के हिसाब से, दोस्तों के साथ शेयर करने के लिए यूज़र इंटरफ़ेस (यूआई) दिखेगा. इस यूज़र इंटरफ़ेस (यूआई) में, खिलाड़ी से पूछा जाता है कि क्या उसे अपने दोस्तों के साथ गेम शेयर करना है.

PlayGamesPlatform की मदद से दोस्तों को लोड करना

दोस्तों की जानकारी लोड करने का दूसरा तरीका यह है कि LoadFriends और LoadMoreFriends का इस्तेमाल करें:

PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
    // Check if the call is successful and if there are more friends to load.
});

PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
    // Check if there are more friends to load.
});

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

अगर कॉलबैक LoadFriendsStatus.LoadMore दिखाता है, तो इसका मतलब है कि और भी दोस्त हैं जिन्हें लोड करना है. LoadFriendsStatus.ResolutionRequired का मतलब है कि उपयोगकर्ता ने दोस्तों की सूची शेयर नहीं की है और आपके पास सीधे PlayGamesPlatform.Instance.AskForLoadFriendsResolution को कॉल करने का विकल्प है.

यह तय करना कि दोस्तों की सूची किसको दिखे

PlayGamesPlatform.Instance.GetFriendsListVisibility का इस्तेमाल करके, यह पता करें कि उपयोगकर्ता ने गेम के साथ दोस्तों की सूची शेयर की है या नहीं. सामान लौटाने की ये स्थितियां हो सकती हैं:

  • FriendsListVisibilityStatus.RequestRequired से पता चलता है कि आपको अनुमति लेनी होगी.

  • FriendsListVisibilityStatus.Visible से पता चलता है कि दोस्तों की सूची लोड हो गई है.

  • FriendsListVisibilityStatus.Unknown आम तौर पर ऐसा नहीं होना चाहिए. डेटा रीफ़्रेश करने के लिए, forceReload को 'सही' पर सेट किया जा सकता है.

PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});

किसी प्लेयर की प्रोफ़ाइल देखना

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

PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
    mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
    (result) => {
        // Profile comparison view has closed.
});