लीडरबोर्ड
आप किसी गेम पेज पर वैयक्तीकृत लीडरबोर्ड प्रदर्शित कर सकते हैं जिसमें शीर्ष प्लेयर के परिणामों और रैंकिंग में किसी लॉग-इन किए हुए उपयोगकर्ता का स्थान दिखाया गया हो।
नीचे दिए गए अनुरोधों के काम करने के लिए, सुनिश्चित करें कि:
- आपने SDK को चालू और कॉन्फ़िगर कर दिया है, और उसका ऑब्जेक्ट
ysdk
वैरिएबल के माध्यम से उपलब्ध है। - आपने डेवलपर डैशबोर्ड में एक लीडरबोर्ड बना दिया है।
चेतावनी
यदि डेवलपर डैशबोर्ड में Technical leaderboard name फ़ील्ड में कोई भी लीडरबोर्ड उसके नाम के साथ नहीं है, तो अनुरोध पर एक 404 त्रुटि आती है।
लीडरबोर्ड का वर्णन
नाम द्वारा किसी लीडरबोर्ड का वर्णन पाने के लिए, ysdk.leaderboards.get_description()
का उपयोग करें:
ysdk.leaderboards.get_description(
leaderboard_name: string,
callback: function
)
callback: function
— कॉल की गई विधि का हैंडलर। इसका स्वरूप इस प्रकार है:
function(self, description: table|nil): nil
description: table
— लीडरबोर्ड का विवरण। इसमें निम्नलिखित गुण होते हैं:
description: {
app_id: string,
dеfault: boolean,
invert_sort_order: boolean,
decimal_offset: integer,
type: string,
name: string,
title: {
en: string,
ru: string
}
}
उदाहरण
function display_leaderboard()
ysdk.leaderboards.get_description("highscores",
function (self, description)
if description then
print(
description.name,
description.title.en
)
end
end)
end
नया स्कोर
प्रतिबंध
केवल पंजीकृत उपयोगकर्ताओं के लिए अनुरोध उपलब्ध है। आवश्यकता होने पर प्रमाणीकरण का उपयोग करें।
खिलाड़ी के लिए नया परिणाम सेट करने के लिए, ysdk.leaderboards.set_score()
मेथड का उपयोग करें:
ysdk.leaderboards.set_score(
leaderboard_name: string,
score: integer,
extraData: string|nil
)
नोट
अनुरोध एक सेकंड में एक बार से अधिक नहीं भेजा जा सकता है, अन्यथा यह त्रुटि के साथ अस्वीकार कर दिया जाएगा।
कोई रैंकिंग प्राप्त करना
प्रतिबंध
केवल पंजीकृत उपयोगकर्ताओं के लिए अनुरोध उपलब्ध है। आवश्यकता होने पर प्रमाणीकरण का उपयोग करें।
उपयोगकर्ता की रैंकिंग प्राप्त करने के लिए, ysdk.leaderboards.get_player_entry()
मेथड का उपयोग करें:
ysdk.leaderboards.get_player_entry(
leaderboard_name: string,
callback: function
)
callback: function
— कॉल किए गए मेथड का हैंडलर। इसका स्वरूप है:
function(self, player_entry: table|nil): nil
player_entry: table
— उपयोगकर्ता रेटिंग। इसमें ये प्रॉपर्टीज़ शामिल हैं:
player_entry: {
score: integer,
extraData: string,
rank: integer,
avatar_src: {
small: string,
medium: string,
large: string,
},
avatar_srcset: {
small: string,
medium: string,
large: string,
},
lang: string,
public_name: string,
unique_id: string,
formatted_score: string
}
उदाहरण
function display_high_score()
ysdk.leaderboards.get_player_entry("highscores",
function (self, player_entry)
if player_entry then
print("highscore: " .. player_entry.score)
end
end)
end
लीडरबोर्ड प्रविष्टियाँ
उपयोगकर्ता रैंकिंग प्रदर्शित करने के लिए, ysdk.leaderboards.get_entries()
का उपयोग करें:
ysdk.leaderboards.get_entries(
leaderboardName: string,
callback: function,
options: {
include_user: boolean|nil,
quantity_around: number|nil,
quantity_top: number|nil
}
)
callback: function
— कॉल किए गए मेथड का हैंडलर। इसका रूप है:
function(self, entries: table|nil): nil
entries: table
— उपयोगकर्ताओं की रैंकिंग। इसमें निम्नलिखित गुण शामिल हैं:
entries: {
leaderboard: {
...
},
ranges: [
{
start: integer,
size: integer
}
],
userRank: integer,
entries: [
{
score: integer,
extraData: string,
rank: integer,
avatar_src: {
small: string,
medium: string,
large: string,
},
avatar_srcset: {
small: string,
medium: string,
large: string,
},
lang: string,
public_name: string,
unique_id: string,
formatted_score: string
},
...
]
}