Разработка

Таблицы лидеров

Notice of feature support change
Приложение "Панель рейтинга" официально упразднено с 20 декабря 2024 г. Это изменение не нарушит работу существующих приложений, использующих API таблицы лидеров.
This is a Platform SDK feature requiring Data Use Checkup
Чтобы использовать эту или любую другую функцию Platform SDK, пройдите проверку использования данных. Проверка использования данных позволяет убедиться, что вы соблюдаете правила для разработчиков. Для этого администратор вашей команды должен подтвердить, что вы используете данные пользователей в соответствии с правилами платформы. Пока специалисты по проверке приложений не рассмотрят и не одобрят результаты проверки использования данных, функции платформы будут доступны только для тестовых пользователей.
Apps for children can't use Platform SDK features
Если вы самостоятельно обозначаете возрастные группы и объявляете, что ваше приложение предназначено в первую очередь для детей до 13 лет, не пользуйтесь функциями Platform SDK. Это ограничение обеспечивает соблюдение требований для определенных возрастов. Чтобы обеспечить это, функция проверки использования данных для вашего приложения будет отключена.
Таблицы лидеров позволяют отслеживать и сравнивать результаты игроков. Таблицы лидеров могут помочь создать конкуренцию и повысить вовлеченность пользователей.
Например, в гоночной игре для конкретной трассы можно создать таблицу лидеров по самому быстрому времени прохождения круга, отсортированную по наименьшему времени, и таблицу лидеров по наибольшему количеству побед, отсортированную по наибольшему значению. В игре может существовать множество различных таблиц лидеров.
Платформа Meta Horizon управляет данными таблиц лидеров, однако вы сами отвечает за отображение, передачу и проверку данных таблицы лидеров в своем приложении. Действия, которые нужно выполнить, чтобы добавить таблицы лидеров в ваши приложения, см. в разделе Реализация.
User Data Warning
Избегайте использования любых персональных данных, позволяющих установить личность.
Примечание. Метаданные таблицы лидеров может получить любой пользователь. Не храните конфиденциальную информацию при создании и обновлении таблиц лидеров.
При желании можно сделать таблицы лидеров ориентированными на пользователя, то есть пользователь сможет видеть свой рейтинг в сравнении с друзьями и другими пользователями в приложении Meta Quest. Вы также можете выбрать автоматическую генерацию уведомлений, когда пользователь преодолевает отметку друга в таблице лидеров.
На следующем изображении показана таблица лидеров, ориентированная на пользователя.
user facing leaderboard

Создание таблицы лидеров на панели разработчика

Первый шаг в добавлении таблиц лидеров в вашу игру — определить их на панели разработчика. Для этого выполните следующие действия.
  1. Перейдите на Панель разработчика Meta Horizon.
  2. Выберите свое приложение.
  3. В левой области навигации нажмите Взаимодействие >. Таблицы лидеров.
  4. Выберите Создать таблицу лидеров и введите следующую информацию:
    • Имя API — это уникальная строка, которая позволит вам ссылаться на эту таблицу лидеров в коде приложения. В имени API учитывается регистр. Имя, которое вы определяете на панели, должно точно соответствовать имени, на которое вы ссылаетесь в коде.
    • Создайте локализации для своего заголовка с помощью раскрывающегося меню Язык. Вам нужно ввести локализованную строку для каждого выбранного языка.
    • Введите заголовок для своей таблицы лидеров, который будет отображаться для всех.
    • Порядок сортировки — существует два варианта сортировки в зависимости от сценария использования:
      • Чем выше, тем лучше — пользователи ранжируются в порядке убывания, от самого высокого до самого низкого балла.
      • Чем ниже, тем лучше — пользователи ранжируются в порядке возрастания, от самого низкого до самого высокого балла.
    • Выберите Правила создания записей, чтобы определить, как можно отправлять записи.
      • Авторитет клиента — записи могут подаваться с клиента или сервера. Это позволяет обновлять данные с указанием маркера доступа на стороне клиента, и обновления можно выполнять с помощью запроса POST.
      • Авторитет сервера — записи могут отправляться только с сервера. Это более безопасный метод, поскольку для обновления записей используется маркер доступа приложения.
    • Выберите Тип балла, чтобы определить, как будут отображаться баллы в таблице лидеров. Для этого берется необработанный балл и форматируется следующим образом (в качестве примера используется число 1 000).
      • Расстояние в футах — 1 000 футов
      • Расстояние в метрах — 1 000 м
      • Процент — 1 000 %
      • Очки — 1 000
      • Время в миллисекундах — 00:00:01.000
      • Время в секундах — 00:16:40 с
    • Наконец, чтобы включить социальные функции для таблицы лидеров, воспользуйтесь ползунками. Вы можете:
    • Добавить Место назначения глубокой ссылки. Это означает, что, когда пользователь нажимает таблицу лидеров, он попадает в указанное вами место назначения в приложении. Подробнее о местах назначения см. в статьях Места назначения и Групповое присутствие.
    • Выбрать, чтобы таблица лидеров была ориентирована на пользователя, т. е. пользователь, владеющий приложением, мог видеть свой рейтинг в таблице лидеров в приложении Meta Quest.
    • Если таблица лидеров ориентирована на пользователя, вы также можете включить уведомления Друг опередил вас. Это означает, что Meta Quest отправляет пользователю уведомления о том, что друг превысил его балл.
  5. Закончив настройку, выберите Отправить, чтобы сохранить таблицу лидеров.
    Вы можете обновить настройки таблицы лидеров в любое время на панели разработчика. Также можно очистить результаты в таблице лидеров и сбросить баллы.

Рекомендации по работе с таблицами лидеров

Чтобы повысить вовлеченность с помощью таблиц лидеров, следуйте этим рекомендациям:
  • Задайте удобный для пользователя заголовок таблицы лидеров в дополнение к названию API.
  • Чтобы охватить более широкий рынок, предоставьте перевод вашего отображаемого заголовка.
  • Убедитесь, что ваша таблица лидеров общедоступна. Для этого включите переключатель на странице таблицы лидеров, если вы хотите, чтобы гарнитура Meta Quest предоставляла уведомления и социальные истории для этой таблицы лидеров.
  • Создайте место назначения для таблицы лидеров и свяжите его со своей таблицей лидеров. Если вы укажете место назначения, то сможете сделать глубокую ссылку на нужный уровень приложения, чтобы пользователи могли перейти к игре и попытаться превзойти результат друга в таблице лидеров, который они только что увидели на уровне платформы.

Редактирование таблицы лидеров

Вы можете редактировать любые свойства таблицы лидеров, кроме ее имени API. Это означает, что вы можете добавлять переводы и социальные функции уже после ее создания. Чтобы отредактировать таблицу лидеров:
  • Выберите Meta Horizon Developer Dashboard (Панель разработчика Meta Horizon)> [ваше приложение] > Development (Разработка) на левой панели > All Platform Services (все сервисы платформы) > Leaderboards (Таблицы лидеров).
  • Нажмите на многоточие (…) справа от таблицы лидеров, которую вы хотите отредактировать, и выберите Edit/View Entries (Отредактировать/Посмотреть заявки).
  • Внесите необходимые изменения, например добавьте языки и локализованные заголовки или включите социальные функции.
  • Нажмите Отправить, чтобы сохранить изменения.

Клиентские API таблицы лидеров

Закончив создание таблиц лидеров на панели, вы можете начать интегрировать их в свою игру или приложение. При вызове функций, упомянутых в этом разделе, используйте имя API таблицы лидеров, которое вы задали на Панели разработчика.
Таблица лидеров содержит массив записей таблицы. Запись таблицы лидеров представляет собой результат и место пользователя в конкретной таблице лидеров.
Подробнее о каждой из следующих функций см. в

Получение таблицы лидеров

Этот метод позволяет получить указанную таблицу лидеров.
ovr_Leaderboard_Get()
Если ошибок нет, результат будет содержать массив с таблицей лидеров.

Получение списка записей в таблице лидеров

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

Получение списка записей в таблице лидеров с определенного рейтинга

Этот метод позволяет получить список записей, начиная с указанного рейтинга. Например, если вы зададите список с afterRank = 10, вы получите список, начинающийся с 11-й позиции.
ovr_Leaderboard_GetEntriesAfterRank()
Если ошибок нет, результат будет содержать массив записей в таблице лидеров начиная с указанного рейтинга.

Получение следующего списка записей

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

Получение предыдущего списка записей

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

Добавление записи в таблицу лидеров

Этот метод заносит новую запись в указанную таблицу лидеров для текущего пользователя. Это не инкрементное обновление, существующая запись перезаписывается.
ovr_Leaderboard_WriteEntry()
Если ошибок нет, результат будет содержать статус таблицы лидеров.

Получение общего количества записей в таблице лидеров

Используйте этот метод для получения общего количества записей в таблице лидеров, чтобы показать место пользователя в общем количестве записей. Например, с помощью этого метода можно показать, что пользователь находится под номером 50 из 200 записей.
ovr_LeaderboardEntryArray_GetTotalCount()
Возвращает беззнаковое длинное значение, определяющее общее количество записей в таблице лидеров.

Получение блока записей в таблице лидеров для указанного пользователя или пользователей

Запрос блока записей в таблице лидеров для указанного идентификатора пользователя (пользователей) для просмотра этим клиентом. Используйте этот метод для получения рейтингов для пользователей, которые конкурируют друг с другом. Вы указываете название таблицы лидеров и то, следует ли начинать с самого верха, или же нужно показать таблицу так, чтобы пользователь (клиент) был в центре. Обратите внимание: если вы укажете, что пользователь клиента должен быть в центре, его запись в таблице лидеров будет входить в возвращаемый массив, даже если его ID не указан в списке идентификаторов.
ovr_Leaderboard_GetEntriesByIds()
Если ошибок нет, результат будет содержать массив записей таблицы лидеров.

Реализация таблицы лидеров

Для реализации таблиц лидеров существует два разных процесса.
  • Получение и отображение таблиц лидеров — отображение текущего состояния таблиц лидеров перед началом игры. Для нативного приложения используйте ovr_Leaderboard_GetEntries(). Существуют и другие методы, которые можно использовать для получения подмножества записей в таблице лидеров на основе входных критериев.
  • Обновление записей в таблице лидеров — запись результатов текущей игры в свою таблицу лидеров. Для нативного приложения используйте ovr_Leaderboard_WriteEntry(). Пользователь может иметь только одну запись в каждой таблице лидеров. Последующие записи будут заменять существующую запись в указанной таблице лидеров.

Советы по реализации

При реализации таблиц лидеров есть два распространенных сценария, о которых вам нужно знать:
  • Чтобы получить записи в таблице лидеров так, чтобы текущий пользователь был в центре, используйте перечисление LeaderboardStartAt, чтобы определить, где начинаются возвращаемые значения или какие находятся в центре. Чтобы получить данные только о текущем пользователе, поместите в центр того, кто просматривает таблицу лидеров, и ограничьте количество возвращаемых результатов до 1.
  • Чтобы вернуть только друзей пользователя, можно определить возвращаемые результаты в перечислении LeaderboardFilterType.

API-интерфейсы "сервер-сервер"

Возможно, вам понадобится управлять таблицей лидеров со своего доверенного сервера. Подробнее об API "сервер-сервер" для таблиц лидеров см. в статье API "сервер-сервер" для таблиц лидеров.
Логотип навигации
Русский
© 2026 Meta