Skip to content

उपयोगकर्ता

उपयोगकर्ता मॉड्यूल वर्तमान लॉग इन खिलाड़ी की जानकारी और टोकन प्राप्त करने की सुविधा प्रदान करता है। यदि खेल में लॉगिन के बिना सभी सुविधाओं का उपयोग किया जा सकता है, तो इस मॉड्यूल का उपयोग आवश्यक नहीं है; अन्यथा, संबंधित इंटरफ़ेस को कॉल करके सुविधाओं को लागू करना आवश्यक है।

JOGOS_SDK परिचय पृष्ठ पर अपने गेम इंजन से संबंधित भाग पढ़ने के बाद, आप निम्नलिखित तरीके से संबंधित सुविधाओं का उपयोग कर सकते हैं:

javascript
window.JOGOS_SDK.user;

वर्तमान उपयोगकर्ता जानकारी प्राप्त करना

आप निम्नलिखित तरीके से वर्तमान खिलाड़ी की जानकारी प्राप्त कर सकते हैं:

javascript
try {
  const user = await window.JOGOS_SDK.user.getUser();
  console.log('Get user result', user);
} catch (err) {
  // अपवाद संभालें
  console.error(err);
}

यदि वर्तमान खिलाड़ी पंजीकृत नहीं है या लॉगिन नहीं है, तो सिस्टम स्वचालित रूप से लॉगिन/पंजीकरण डायलॉग खोलेगा और खिलाड़ी को पंजीकरण या लॉगिन करने के बाद ही गेम जारी रखने की अनुमति देगा, अन्यथा 401 अप्राधिकृत, कृपया पुनः लॉगिन करें त्रुटि लौटाएगा।

यदि वर्तमान खिलाड़ी का खाता फ्रीज़ या रद्द कर दिया गया है, तो संबंधित त्रुटि भी लौटाई जाएगी।

सफलतापूर्वक लौटाए गए खिलाड़ी ऑब्जेक्ट की संरचना इस प्रकार है:

typescript
// उपयोगकर्ता जानकारी
export interface UserInfo {
  // उपयोगकर्ता Id
  userId: string;
  // उपयोगकर्ता नाम
  username: string;
  // प्रोफ़ाइल चित्र URL
  profilePictureUrl: string;
  // गेम Id
  gameId: number;
}

JOGOS_SDK उपयोगकर्ता नाम 6-20 अक्षरों का हो सकता है, जिसमें अक्षर, अंक, डॉट और अंडरस्कोर शामिल हो सकते हैं।

ध्यान दें: एक खाते में कई कैरेक्टर वाले गेम की सूचना

JOGOS_SDK का UserId खिलाड़ी के खाते के साथ 1:1 मेल खाता है। यदि आपका गेम कई कैरेक्टर बनाने या सर्वर बदलने की अनुमति देता है, तो इसे सर्वर साइड पर संभालना आवश्यक है ताकि खिलाड़ियों के कैरेक्टर खो न जाएं या बदल न सकें।

उपयोगकर्ता टोकन प्राप्त करना (गेम सर्वर के साथ इंटीग्रेशन)

  • यदि आपके पास सर्वर है, तो इसे इंटीग्रेट करना अनिवार्य है!
  • उपयोगकर्ता टोकन में वर्तमान लॉगिन खिलाड़ी की जानकारी शामिल होती है। इसे अपने सर्वर पर भेजें और आवश्यक जानकारी निकालने के लिए सत्यापित/डिकोड करें और अपने गेम सर्वर के उपयोगकर्ता सिस्टम के साथ बाइंड करें। डेटा सुरक्षा सुनिश्चित करें।

क्लाइंट से उपयोगकर्ता टोकन प्राप्त करने का तरीका निम्नलिखित है:

javascript
try {
  const token = await window.JOGOS_SDK.user.getUserToken();
  console.log('Get token result', token);
} catch (err) {
  // अपवाद संभालें
  console.error(err);
}

टोकन की वैधता अवधि 1 घंटा है। टोकन को स्टोर न करें और जब भी आवश्यक हो इसे कॉल करें।

यदि वर्तमान खिलाड़ी पंजीकृत नहीं है या लॉगिन नहीं है, तो सिस्टम स्वचालित रूप से लॉगिन/पंजीकरण डायलॉग खोलेगा और खिलाड़ी को पंजीकरण या लॉगिन करने के बाद ही गेम जारी रखने की अनुमति देगा, अन्यथा 401 अप्राधिकृत, कृपया पुनः लॉगिन करें त्रुटि लौटाएगा।

यदि खाता फ्रीज़ या रद्द कर दिया गया है, तो संबंधित त्रुटि भी लौटाई जाएगी।

लौटाए गए टोकन को jwt.io पर डिकोड और परीक्षण किया जा सकता है।

सफलतापूर्वक लौटाए गए टोकन में निम्नलिखित JSON डेटा शामिल है:

json
{
  "jti": "1899405772252258304",
  "sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
  "iss": "com:jogos:sdk",
  "iat": 1741688600,
  "exp": 1745288600
}
क्लाइंट पर टोकन डिकोड न करें
कृपया क्लाइंट पर उपयोगकर्ता टोकन डिकोड न करें। यह असुरक्षित है और इसे सर्वर साइड से ही संभालना आवश्यक है।

सर्वर पर अनुरोध प्रमाणीकरण की आवश्यकता होने पर, टोकन को सर्वर पर भेजें और डिकोड और सत्यापित करें। टोकन को सत्यापित करने के लिए इस उपयोगकर्ता टोकन सार्वजनिक कुंजी https://www.jogos.com/publicKey.json का उपयोग करें। यह कुंजी बदल सकती है, इसलिए हर सत्यापन पर इसे प्राप्त करना बेहतर है।

अगला चरण: सर्वर इंटीग्रेशन द्वारा सत्यापन

सर्वर संबंधित API के लिए, कृपया देखें: सर्वर इंटीग्रेशन इंटरफ़ेस पृष्ठ।

लोकल टेस्टिंग

लोकल टेस्टिंग के दौरान, उपयोगकर्ता मॉड्यूल के संबंधित इंटरफ़ेस केवल सिम्युलेटेड डेटा लौटाते हैं।