VKWebAppShowLeaderBoardBox
VKWebAppShowLeaderBoardBox открывает диалоговое окно, которое показывает результаты пользователя в игре относительно его друзей или всех пользователей.
Тип данных таблицы: полученные очки, пройденные уровни или заработанные баллы миссий — указывается в настройках игры: Настройки → Дополнительные → Таблица результатов.
Пример
bridge.send("VKWebAppShowLeaderBoardBox", {
user_result: 100
})
.then( (data) => {
if (data.success) {
// Диалоговое окно было показано
// ...
}
})
.catch( (error) => {
console.log(error); // Ошибка
});Совместимость
Площадки | Платформы |
|---|---|
ВКонтакте | Android, iOS, Mobile Web, Web |
Одноклассники | – |
Параметры
Поле | Тип | Описание |
|---|---|---|
app_id
необязательное | integer | Идентификатор игры. |
user_result
необязательное | integer | Результат игрока, который будет показан в таблице: заработанные очки, номер пройденного уровня или баллы за пройденную миссию. Тип передаваемого значения: очки, уровни или баллы миссий — зависит от типа таблицы, который указан в настройках игры в разделе Таблица результатов.
Значение используется только для отображения в таблице. Оно не сохраняется на стороне игровой платформы. Чтобы указать или обновить сохранённое значение, используйте API-запрос secure.addAppEvent.
|
global
необязательное | integer | Наполнение таблицы: 0 — показать только друзей, 1 — показать всех пользователей. |
Чтобы показать результаты, сохранённые ранее, вызовите событие без параметров.
Результат
Проверить результат можно:
- •
Используя объект
Promise, который возвращается вызовомbridge.send(...). - •
С помощью событий
VKWebAppShowLeaderBoardResultиVKWebAppShowLeaderBoardFailed.
Подробнее о проверке результатов при вызовах VK Bridge.
Объект Promise
Если обращение к платформе прошло успешно, управление будет передано в then-обработчик объекта Promise. В качестве ответа платформа возвращает объект со следующим полем:
Поле | Тип | Описание |
|---|---|---|
data.success | boolean | Равен true. Сигнализирует о том, что таблица была показана. |
Если при обращении к платформе произошла ошибка или таблица не была показана по другой причине, управление передаётся в метод catch. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.
События
VKWebAppShowLeaderBoardResult
Сигнализирует, что таблица была показана. В обработчик события передаются следующие данные:
{
"type": "VKWebAppShowLeaderBoardResult",
"data": {
"success": true
}
}Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.
VKWebAppShowLeaderBoardFailed
Сигнализирует об ошибке, которая произошла при вызове события.
В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.
Пример обработки событий
Подробнее — в разделе Обработка результата.
Примечания
- •
Параметр
user_result— необязательный. Его удобно использовать, если вы показываете таблицу сразу после изменения результата пользователя в игре. Это значение не добавляется к общему результату игрока, сохранённому на стороне игровой платформы ВКонтакте.Чтобы указать или обновить сохранённое значение, используйте API-запрос
secure.addAppEvent.Будьте внимательны. Отображаемое значение должно совпадать с общим результатом после начисления. Если пользователь увидит в таблице одно значение, а в реальности на стороне платформы будет другое, то тем самым игра вызовет недовольство пользователя.
- •
Для достижений пользователя на платформе действуют ограничения:
- •Номер уровня — от 1 до 15 000.
- •Количество очков — от 1 до 10 000 000.
- •Баллы миссий — от 1 до 2 000.
Событие
VKWebAppShowLeaderBoardBoxне проверяет значение параметраuser_resultна соответствие этим ограничениям. - •
Песочница
Материалы по теме
- •
- •