Skip to content

उपलब्धियाँ और लीडरबोर्ड

लीडरबोर्ड

लीडरबोर्ड बनाएँ

यह खंड बताता है कि कैसे एक नए गेम या मौजूदा गेम के लिए लीडरबोर्ड बनाया जाए। अधिकतम सीमा 20 है, और प्रत्येक गेम में लीडरबोर्ड आईडी अद्वितीय होनी चाहिए।

अपने गेम के लिए लीडरबोर्ड बनाने के लिए, अपने गेम के अनुरूप GameRank प्रबंधन पृष्ठ पर जाएं, एक्सटेंशन > जोड़ें चुनें और लीडरबोर्ड बनाएं बटन पर क्लिक करें।

alt text

फिर, बस इस लीडरबोर्ड के लिए आवश्यक जानकारी भरें।

स्कोर प्रारूप

  • संख्यात्मक लीडरबोर्ड स्कोर को संख्याओं के रूप में प्रदर्शित करते हैं। ये स्कोर पूर्णांक या फ़्लोटिंग-पॉइंट संख्याओं के रूप में प्रदर्शित किए जा सकते हैं, उदाहरण के लिए 3.14159, 3141.59 या 314159; ध्यान दें कि मान अत्यधिक बड़े नहीं होने चाहिए, वर्तमान में केवल सिंगल प्रिसिजन समर्थित है।
  • समय लीडरबोर्ड स्कोर को घंटे/मिनट/सेकंड/सैकंड के सौवें हिस्से के प्रारूप में या पारंपरिक घड़ी प्रारूप (जैसे HH:MM:SS) में प्रदर्शित करेंगे, उदाहरण के लिए 66032, 1:06:3
  • फ़ॉर्मेट किए गए स्कोर एक कस्टम प्रारूप का उपयोग करके स्कोर प्रदर्शित करेंगे। मुद्रा इकाइयों जैसे $19.95 के साथ स्कोर सबमिट करें। उदाहरण के लिए, $19.95

बैकग्राउंड इमेज दिशानिर्देश

लीडरबोर्ड की पृष्ठभूमि छवि 1024 x 1024 की JPEG फ़ाइल के रूप में बनाई जानी चाहिए। यह वैकल्पिक है; यदि अपलोड नहीं की जाती है, तो प्लेटफ़ॉर्म की डिफ़ॉल्ट छवि का उपयोग किया जाएगा। सभी भाषा लोकेल के लिए एक ही पृष्ठभूमि छवि का उपयोग किया जाता है, इसलिए हम अनुशंसा करते हैं कि आप छवि के अंदर कोई पाठ या स्थानीयकृत सामग्री न जोड़ें।

लीडरबोर्ड समायोजित करें

लीडरबोर्ड की प्रविष्टियों की सूची के लिए, डेवलपर असामान्य खिलाड़ियों को संसाधित कर सकते हैं:

  • हटाएं: लीडरबोर्ड से खिलाड़ी के वर्तमान में प्रदर्शित डेटा को हटाएं।
  • ब्लैकलिस्ट में जोड़ें: बाद में खिलाड़ी को वर्तमान गेम के सभी लीडरबोर्ड में भाग लेने की योग्यता से वंचित करें। ब्लैकलिस्ट में जोड़े जाने के बाद, 'सभी लीडरबोर्ड' अनुभाग में ब्लैकलिस्ट किए गए खातों की सूची देखी जा सकती है, जहाँ आप खिलाड़ी के खाते को ब्लैकलिस्ट से हटा भी सकते हैं।
  • डेटा संपादित करें: लीडरबोर्ड संपादन पृष्ठ खोलने के लिए क्लिक करें।
  • लीडरबोर्ड हटाएं: निर्दिष्ट लीडरबोर्ड सूची को हटाने के लिए क्लिक करें।

लीडरबोर्ड डेटा रिपोर्टिंग फ़ील्ड

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

नोट: इंटरफेस पैरामीटर में लीडरबोर्ड नाम और डेटा प्रकार डेवलपर सेंटर में परिभाषित नाम और डेटा प्रकार से सख्ती से मेल खाना चाहिए।

डेवलपर बैकएंड निम्नलिखित तीन प्रकार की रिपोर्टिंग डेटा प्रकार बना सकता है:

  • संख्यात्मक स्कोर: number
  • समय स्कोर: time
  • फ़ॉर्मेट किया गया स्कोर: custom

रिपोर्ट किया गया डेटा एक key-value pair है, जहां मान केवल एक संख्या, स्ट्रिंग या तिथि हो सकता है। यह डेवलपर सेंटर में कॉन्फ़िगर किए गए डेटा प्रारूप के अनुरूप होना चाहिए।

लीडरबोर्ड डेटा रिपोर्टिंग इंटरफेस

लीडरबोर्ड डेटा रिपोर्टिंग इंटरफेस: JOGOS_SDK.game.commitRankingData

== HTML5

javascript
/**
 * लीडरबोर्ड डेटा सबमिट करें
 *
 * @param rankingName लीडरबोर्ड ID
 * @param data लीडरबोर्ड डेटा
 */
await window.JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

== Cocos

javascript
/**
 * लीडरबोर्ड डेटा सबमिट करें
 *
 * @param rankingName लीडरबोर्ड ID
 * @param data लीडरबोर्ड डेटा
 */
await JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

== Unity

लीडरबोर्ड डेटा रिपोर्टिंग इंटरफेस: JogosSDK.Game.CommitRankingData

csharp
/// <summary>
 /// लीडरबोर्ड डेटा रिपोर्ट करें
 /// </summary>
 /// <param name="rankingName"></param> लीडरबोर्ड ID
 /// <param name="rankingData"></param> रिपोर्ट करने के लिए डेटा
 /// <param name="action"></param> रिपोर्ट सफलता कॉलबैक
 public void CommitRankingData(string rankingName, string rankingData, Action<bool> action)

//उदाहरण:
JsonObject json = new JsonObject();
json["number"] = 1;
JogosSDK.Game.CommitRankingData("LevelRank", json.ToString(), (isSucc) =>
{
	Debug.Log("CommitRankingData isSucc:"+ isSucc);
});

:::

लीडरबोर्ड इंटरफेस खोलने का इंटरफेस:

लीडरबोर्ड इंटरफेस खोलने का इंटरफेस: JOGOS_SDK.game.openRankingDialog यदि आप एक विशिष्ट लीडरबोर्ड (सभी लीडरबोर्ड नहीं) प्रदर्शित करना चाहते हैं, तो आप इस विधि को एक लीडरबोर्ड नाम पास कर सकते हैं (यह डेवलपर बैकएंड में बनाए गए नाम से मेल खाना चाहिए);

== HTML5

javascript
/**
 * लीडरबोर्ड विंडो खोलें
 *
 * @param rankingName लीडरबोर्ड का नाम
 */
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);

== Cocos

javascript
/**
 * लीडरबोर्ड विंडो खोलें
 *
 * @param rankingName लीडरबोर्ड का नाम
 */
await JOGOS_SDK.game.openRankingDialog(rankingName: string);

== Unity

csharp
/// <summary>
 /// लीडरबोर्ड इंटरफेस खोलें
 /// </summary>
 /// <param name="rankingName"></param> लीडरबोर्ड का नाम
 /// <param name="action"></param> इंटरफेस ओपन कॉलबैक
 public void OpenRankingDialog(string rankingName, Action<bool> action)

//उदाहरण:
 JogosSDK.Game.OpenRankingDialog("LevelRank", (isSucc) =>
 {
     Debug.Log("OpenRankingDialog isSucc:" + isSucc);
 });

:::

उपलब्धियाँ एकीकरण

यदि कोई खिलाड़ी कोई 特定 उपलब्धि हासिल करता है, तो आप खिलाड़ी उपलब्धि डेटा सबमिशन इंटरफेस को कॉल करके संबंधित डेटा Jogos बैकएंड सेवा पर भेज सकते हैं। खिलाड़ी फिर Jogos प्लेटफ़ॉर्म पर खिलाड़ी उपलब्धि विंडो खोलकर अनलॉक की गई उपलब्धियों को देख सकता है।

नोट: इंटरफेस पैरामीटर में उपलब्धि नाम डेवलपर सेंटर में परिभाषित नाम है और बिल्कुल मेल खाना चाहिए।

उपलब्धियों के लिए जो क्रमिक (step-based) नहीं हैं:

  • रिपोर्ट केवल तभी आवश्यक है जब उपलब्धि वास्तव में अनलॉक हो गई हो (यानी, उपलब्धि प्रगति नहीं दिखाती है; रिपोर्ट करने का अर्थ है कि उपलब्धि अनलॉक हो गई है)।
  • यदि उपलब्धि को एक क्रमिक (step-based) उपलब्धि के रूप में कॉन्फ़िगर किया गया है: प्रगति progress की रिपोर्ट की जा रही step ID से मेल खाना चाहिए। उदाहरण के लिए, step 2 पूरा करने पर progress = 2 की रिपोर्ट करें।

उपलब्धियाँ बनाएँ

डेवलपर बैकएंड में, GameService सेवा - उपलब्धियाँ पृष्ठ पर, उपलब्धि बनाएं चुनें। उपलब्धि जोड़ें पृष्ठ पर, फ़ॉर्म भरें।

alt text

प्रत्येक उपलब्धि के निम्नलिखित संबद्ध बुनियादी तत्व होते हैं:

  • उपलब्धि ID: अल्फ़ान्यूमेरिक संयोजनों का समर्थन करता है। गेम 内 खिलाड़ी रिपोर्ट और वेबसाइट पर उपलब्धि प्रदर्शन से मेल खाने के लिए उपयोग किया जाता है। यह मान एक ही गेम के लिए अद्वितीय होना चाहिए।
  • नाम: उपलब्धि का नाम (उदाहरण के लिए, "Pieman")।
  • अनलॉक शर्त: उपलब्धि को कैसे अनलॉक करें, इसका विवरण। आम तौर पर, यह मान खिलाड़ी को बताता है कि इसे कैसे प्राप्त किया जाए।
  • आइकन: आपकी उपलब्धि से जुड़ा वर्गाकार आइकन। आपको लॉक और अनलॉक छवियों को अपलोड करने की आवश्यकता है।
  • उपलब्धि प्रकार (Achievement Types), 3 प्रकारों का समर्थन करता है, single choice। फ्रंटएंड पर उपलब्धियों की सूची उनके प्रकार के क्रम के अनुसार अलग-अलग दिखाई जाती है:
    • शुरुआती अन्वेषण उपलब्धियाँ (Beginner's Exploration Achievements), 900 तक बनाई जा सकती हैं।
    • मध्यवर्ती चुनौती उपलब्धियाँ (Intermediate Challenge Achievements), 50 तक बनाई जा सकती हैं।
    • उन्नत गौरव उपलब्धियाँ (Advanced Glory Achievements), 10 तक बनाई जा सकती हैं।

स्थिति: एक उपलब्धि निम्नलिखित तीन अलग-अलग स्थितियों में से एक में हो सकती है:

  • छिपी हुई उपलब्धियाँ का मतलब है कि उपलब्धि का विवरण खिलाड़ी से छिपा होगा। Jogos गेम सेवाएं छिपी हुई स्थिति में उपलब्धियों के लिए एक सामान्य प्लेसहोल्डर विवरण और आइकन प्रदान करेगी। यदि किसी उपलब्धि में गेम स्पॉइलर हैं जिन्हें आप समय से पहले प्रकट नहीं करना चाहते हैं (उदाहरण के लिए, "Discover that you were a ghost all along!"), तो हम अनुशंसा करते हैं कि आप इसे छिपा हुआ सेट करें।
  • प्रकट उपलब्धियाँ इंगित करती हैं कि खिलाड़ी उपलब्धि से अवगत है लेकिन अभी तक इसे अनलॉक नहीं किया है। अधिकांश उपलब्धियां शुरू में प्रकट स्थिति में होती हैं।
  • अनलॉक की गई उपलब्धियाँ इंगित करती हैं कि खिलाड़ी ने सफलतापूर्वक लक्ष्य हासिल कर लिया है। खिलाड़ी ऑफलाइन उपलब्धियां अनलॉक कर सकते हैं। जब गेम ऑनलाइन होता है, तो यह उपलब्धियों की अनलॉक स्थिति को अपडेट करने के लिए Jogos गेम सेवाओं के साथ सिंक होगा।

क्रमिक उपलब्धियाँ (Step-based)

  • आप किसी उपलब्धि को मानक या क्रमिक के रूप में निर्दिष्ट कर सकते हैं। आम तौर पर, एक क्रमिक उपलब्धि वह होती है जहां खिलाड़ी लंबी अवधि में पूरा होने की दिशा में काम करता है। जैसे ही खिलाड़ी क्रमिक उपलब्धि में प्रगति करता है, आप पूरी की गई प्रगति की रिपोर्ट Jogos गेम सेवाओं को कर सकते हैं।
  • Jogos सेवाएं प्रगति जानकारी को ट्रैक करती हैं, खिलाड़ी के उपलब्धि अनलॉक करने के लिए आवश्यक शर्तों को पूरा करने पर गेम को सूचित करती हैं, और खिलाड़ी को बताती हैं कि लक्ष्य तक पहुंचने में उनका कितना समय बाकी है।

आइकन दिशानिर्देश

आइकन 512 x 512 पिक्सेल की PNG, JPEG या JPG फ़ाइलों के रूप में बनाए जाने चाहिए। आपको हमें केवल अनलॉक की गई उपलब्धि का आइकन प्रदान करने की आवश्यकता है। हम अनुशंसा करते हैं कि आप अपने उपलब्धि आइकन में रंग तत्व शामिल करें ताकि उपयोगकर्ता प्रदर्शित उपलब्धियों और अनलॉक उपलब्धियों के बीच अंतर कर सकें। सभी भाषा लोकेल के लिए एक ही आइकन का उपयोग किया जाता है, इसलिए हम अनुशंसा करते हैं कि आप आइकन के अंदर कोई पाठ या स्थानीयकृत सामग्री न जोड़ें।

उपलब्धि रिपोर्टिंग इंटरफेस

== HTML5

javascript
/**
 * खिलाड़ी उपलब्धि डेटा सबमिट करें
 *
 * @param name उपलब्धि ID
 * @param progress पूर्णता प्रगति
 * @param hidden छिपा हुआ फ्लैग
 */
await window.JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

== Cocos

javascript
/**
 * खिलाड़ी उपलब्धि डेटा सबमिट करें
 *
 * @param name उपलब्धि ID
 * @param progress पूर्णता प्रगति
 * @param hidden छिपा हुआ फ्लैग
 */
await JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

== Unity रिपोर्टिंग इंटरफेस:

csharp
/// <summary>
/// उपलब्धि डेटा रिपोर्ट करें
/// </summary>
/// <param name="name"></param> उपलब्धि ID
/// <param name="progress"></param> प्रगति
/// <param name="hidden"></param> क्या यह एक छिपी हुई उपलब्धि है
/// <param name="action"></param> रिपोर्ट सफलता कॉलबैक
public void CommitAchievementData(string name, int progress, bool hidden, Action<bool> action)

//उदाहरण:
 JogosSDK.Game.CommitAchievementData("level", 1, false,(isSucc)=>
{
		Debug.Log("CommitAchievementData level,isSucc:"+ isSucc);
});

यदि उपलब्धि को क्रमिक उपलब्धि के रूप में कॉन्फ़िगर किया गया है: संबंधित step उपलब्धि की रिपोर्ट करें:

csharp
JogosSDK.Game.CommitAchievementData("Event", 1, false,null);

Step उपलब्धि की रिपोर्ट करते समय, समग्र उपलब्धि प्रगति की भी रिपोर्ट करनी होगी: प्रगति progress: उदाहरण के लिए, यदि steps की कुल संख्या 3 है और 2 पूरे हो चुके हैं (किसी भी क्रम में), तो प्रगति के रूप में 2 रिपोर्ट करें।

csharp
JogosSDK.Game.CommitAchievementData("Root", 2, false,null);

:::

उपलब्धि इंटरफेस खोलने का इंटरफेस:

Jogos प्लेटफ़ॉर्म खिलाड़ी उपलब्धि विंडो खोलने की कार्यक्षमता प्रदान करता है। यदि आवश्यक हो, तो आप गेम के अंदर एक इंटरफेस को कॉल करके खिलाड़ी उपलब्धि विंडो भी खोल सकते हैं।

== HTML5

javascript
// खिलाड़ी उपलब्धि विंडो खोलें
await window.JOGOS_SDK.game.openAchievementsDialog();

== Cocos

javascript
// खिलाड़ी उपलब्धि विंडो खोलें
await JOGOS_SDK.game.openAchievementsDialog();

== Unity उपलब्धि इंटरफेस खोलने का इंटरफेस: JogosSDK.Game.OpenAchievementsDialog

csharp
/// <summary>
 /// उपलब्धि इंटरफेस खोलें
 /// </summary>
 /// <param name="action">इंटरफेस ओपन कॉलबैक</param>
 public void OpenAchievementsDialog(Action<bool> action)

//उदाहरण:
JogosSDK.Game.OpenAchievementsDialog((isSucc) =>
{
	Debug.Log("OpenAchievementsDialog isSucc:"+ isSucc);
});

:::