लीडरबोर्ड

आप किसी गेम पेज पर वैयक्तीकृत लीडरबोर्ड प्रदर्शित कर सकते हैं जिसमें शीर्ष प्लेयर के परिणामों और रैंकिंग में किसी लॉग-इन किए हुए उपयोगकर्ता का स्थान दिखाया गया हो।

नीचे दिए गए अनुरोधों के काम करने के लिए, सुनिश्चित करें कि:

चेतावनी

यदि डेवलपर डैशबोर्ड में 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
    },
    ...
  ]
}

रिपोजिटरी