Лидерборды

Вы можете показывать на странице игры персонализированные лидерборды (таблицы лидеров) с результатами лучших игроков и местом в рейтинге авторизованного пользователя.

Чтобы у вас заработали описанные ниже запросы, проверьте, что в Консоли разработчика создан лидерборд.

Отправка счета

Примечание

Запрос доступен только для авторизованных пользователей. Рекомендуется заранее воспользоваться авторизацией и использовать лидерборды только если пользователь предоставил персональные данные.

Скриншот Construct 3: экран настройки лидербордов при помощи плагина YandexGamesSDK. Таблица из трех столбцов (в каждой ячейке третьего столбца есть кнопки «+ Добавить действие» и «+ Добавить...») и трех строк. 1 строка — иконка настроек «Система», «Выполнить единожды», «Yan... | Запросить информацию об игроке. Персональные данные: False». 2 строка — «YandexGames…», «Информация об игроке загружена», пустая ячейка. 3 строка — «YandexGames…», «Игрок авторизован», иконка настроек «Сис... | Установить authorized на True».

Используйте действие Отправить счет в лидерборд, чтобы отправить новый счет в лидерборд c параметрами:

Параметр

Тип

Описание

Название

string

Техническое название лидерборда.

Счет

number

Счет игрока в лидерборде.

Дополнительные данные

string

Необязательные метаданные, отправляемые вместе со счетом.

Например, отправка счета в лидерборд может выглядеть так:

Скриншот Construct 3: экран настройки лидербордов при помощи плагина YandexGamesSDK. Таблица из трех столбцов (в каждой ячейке третьего столбца есть кнопки «+ Добавить действие» и «+ Добавить...») и двух строк. 1 строка — «Кнопка», «При нажатии», пустая ячейка. 2 строка — иконка настроек «Система», «authorized правда», «Yan... | Отправить счет 10 в таблицу лидеров "score" с данными ""».

Примечание

Запрос можно отправлять не чаще, чем раз в секунду, иначе он будет отклонен с ошибкой.

Рекомендуется использовать отправку счета в связке с отложенным событием.

Скриншот Construct 3: экран настройки лидербордов при помощи плагина YandexGamesSDK. Таблица из трех столбцов (в каждой ячейке третьего столбца есть кнопки «+ Добавить действие» и «+ Добавить...») и трех строк. 1 строка — «Кнопка», «При нажатии», «Yan... | Отложить событие setScore на 1 секунду». 2 строка — «YandexGames…», «На отложенное событие "setScore"», пустая ячейка. 3 строка — иконка настроек «Система», «authorized правда», «Yan... | Отправить счет 10 в таблицу лидеров "score" с данными ""».

Записи лидербордов

Чтобы начать работать с таблицей лидеров, используйте действие Запросить таблицу лидеров в связке с триггерными условиями При успешной загрузке таблицы лидеров и При ошибке загрузки таблицы лидеров. Действие и условия принимают следующие параметры:

Параметр

Тип

Описание

Название

string

Техническое название лидерборда.

Позиции из топа

number

Количество запрашиваемых записей из топа лидерборда.

Запросить позицию игрока

boolean

Определяет, будет ли позиция пользователя запрошена.

Позиции позиций вокруг игрока

number

Количество запрашиваемых записей ниже и выше пользователя по таблице.

Плагин запросит данные о лидерборде через SDK Яндекс Игр, после чего при успешном запросе начнется цикл. Этот процесс занимает какое-то время.

Рекомендуется оставлять на экране какое-нибудь обозначение загрузки, пока идет процесс.

Важно

Убедитесь, что данный цикл не вызывается постоянно. Рекомендуется использовать его внутри функций или триггеров.

Скриншот Construct 3: экран настройки лидербордов при помощи плагина YandexGamesSDK. Таблица из трех столбцов (в каждой ячейке третьего столбца есть кнопки «+ Добавить действие» и «+ Добавить...») и 4 строк. 1 строка — иконка настроек «Система», «Выполнить единожды», «Yan... | Запросить таблицу лидеров "score". Топ: 5, пользователь: True, вокруг: 5. 2 строка — «YandexGames…», «Таблица лидеров "score" загружена. Топ: 5, пользователь: True, вокруг: 5.», пустая ячейка. 3 строка — «YandexGames…», «Для каждого игрока в текущей таблице лидеров», иконка настроек «Сис... | Установить currentUsernameInLeaderboard значение YandexGamesSDK.Имя текущего игрока в таблице лидеров». 4 строка — «YandexGames…», «Ошибка загрузки таблицы лидеров "score". Топ: 5, пользователь: True, вокруг: 5.», пустая ячейка.

Внутри цикла у вас будет доступ к выражениям из списка Таблицы лидеров.

Скриншот Construct 3: в верхней левой части экрана надпись «Таблицы лидеров». Ниже таблица с двумя столбцами и 14 строками. 1 строка: Аватар текущего игрока в таблице лидеров — строка, ссылка на аватар игрока. Может быть равна «», если нет доступа к аватару. 2 строка: Большой аватар текущего игрока в таблице лидеров — строка, ссылка на большой аватар игрока. 3 строка: Дополнительные данные текущего игрока из таблицы лидеров — необязательные метаданные, отправленные вместе со счётом. 4 строка: Имя текущего игрока в таблице лидеров — строка, имя игрока. Может быть равно «», если нет доступа к имени. 5 строка: Индекс запрошенного интервала в таблице лидеров — при запросе позиций из таблицы лидеров может образоваться несколько интервалов из значений. 6 строка: Маленький аватар текущего игрока в таблице лидеров — строка, ссылка на маленький аватар игрока. 7 строка: Название таблицы лидеров — локализованное название таблицы лидеров. 8 строка: Позиция текущего игрока в таблице лидеров — позиция, полученная сравнением счёта всех игроков. 9 строка: Смещение десятичной точки таблицы лидеров — размер десятичной части счёта. Например, при decimal_offset: 2 число 1234 будет отображаться как 12.34. 10 строка: Средний аватар текущего игрока в таблице лидеров — строка, ссылка на средний аватар игрока. 11 строка: Счёт текущего игрока в таблице лидеров — счёт, заработанный игроком в процессе игры. 12 строка: Техническое название таблицы лидеров — техническое название таблицы лидеров (не предназначено для отображения пользователям). 13 строка: Тип таблицы лидеров — тип счёта игрока в таблице лидеров. Возможные значения: numeric (число), time (секунды). 14 строка: Уникальный идентификатор текущего игрока в таблице лидеров — строка, уникальный идентификатор игрока.


Примечание

Если при работе с плагином вы столкнулись с проблемой или у вас появился вопрос, обратитесь в сообщество в Телеграме.

Репозиторий