Создать таблицу лидеров Android

Обновлено: 29.01.2023

В этом руководстве показано, как использовать API-интерфейсы списков лидеров в приложении для Android для создания визуальных списков лидеров, записи результатов игроков и сравнения результатов с результатами предыдущих игровых сессий. API можно найти в пакетах com.google.android.gms.games и com.google.android.gms.games.leaderboards.

Прежде чем начать

Если вы еще этого не сделали, возможно, вам будет полезно ознакомиться с концепциями игр с таблицами лидеров.

Прежде чем вы начнете программировать с помощью API списков лидеров:

  • Следуйте инструкциям по установке и настройке приложения для использования игровых сервисов Google Play в руководстве по настройке SDK сервисов Google Play.
  • Определите списки лидеров, которые вы хотите отображать или обновлять в своей игре, следуя инструкциям в руководстве Google Play Console.
  • Загрузите и просмотрите примеры кода списков лидеров на странице примеров Android.
  • Ознакомьтесь с рекомендациями, описанными в контрольном списке качества.

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

Чтобы начать использовать API списков лидеров, ваша игра должна сначала получить объект LeaderboardsClient. Вы можете сделать это, вызвав метод Games.getLeadeboardsClient() и передав действие и учетную запись GoogleSignInAccount для текущего игрока. Чтобы узнать, как получить информацию об учетной записи игрока, см. раздел Вход в игры для Android.

Примечание. Класс LeaderboardsClient использует класс Task сервисов Google Play для асинхронного возврата результатов. Дополнительные сведения об использовании задач для управления многопоточной работой см. в руководстве разработчика Tasks API.

Обновление счета игрока

Когда счет игрока изменяется (например, когда игрок заканчивает игру), ваша игра может обновить его счет в таблице лидеров, вызвав LeaderboardsClient.submitScore() и передав идентификатор таблицы лидеров и исходное значение счета.< /p>

Хорошей практикой является определение идентификатора таблицы лидеров в файле strings.xml, чтобы ваша игра могла ссылаться на таблицы лидеров по идентификатору ресурса. Выполняя вызовы для обновления и загрузки очков игроков, обязательно следуйте этим рекомендациям, чтобы не превысить квоту API.

Отображение таблицы лидеров

Чтобы отобразить таблицу лидеров, вызовите LeaderboardsClient.getLeaderboardIntent(), чтобы получить Intent для создания пользовательского интерфейса таблицы лидеров по умолчанию. Затем ваша игра может вызвать пользовательский интерфейс, вызвав startActivityForResult .

В следующем фрагменте кода показано, как ваше приложение может обновлять счет игрока. Во фрагменте кода RC_LEADERBOARD_UI — это произвольное целое число для кода запроса.

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


Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

Чтобы загрузить код, войдите в систему с помощью одной из следующих социальных сетей.

Наберитесь терпения. мы получаем ваш исходный код.


Цель:

Основная цель этого руководства — дать вам представление о том, как настроить таблицу лидеров для Unity в игре для Android.

Введение:

Что такое таблица лидеров?

Таблица лидеров обычно используется в игровой индустрии для обозначения рейтинга людей, играющих в различные игры. Игроки могут быть ранжированы по сравнению с другими игроками на основе их очков. В целом, таблица лидеров может стать для игроков стимулом к ​​самосовершенствованию, поскольку многие из них дают чувство превосходства или достижения.

Вот полное руководство по настройке таблицы лидеров в Unity для Android с помощью подключаемого модуля Google Play Services.

Шаг 1. Загрузите подключаемый модуль таблицы лидеров

Загрузить последнюю версию подключаемого модуля для сервисов Google Play можно здесь. Найдите последнюю версию плагина (файл .unitypackage). Импортируйте его в свой проект Unity.

Шаг 2. Загрузить APK

Чтобы использовать службу таблицы лидеров, вам необходимо загрузить подписанный APK-файл в свою учетную запись издателя Google Play и опубликовать его.

Шаг 3. Настройте приложение в учетной записи разработчика

Чтобы использовать подключаемый модуль таблицы лидеров, сначала необходимо настроить игру в консоли разработчика Google Play.

Следующие шаги объясняют это вкратце:

<р>1. Откройте страницу «Игры с игровыми сервисами».

<р>2. Выберите слева вкладку игровых сервисов Google Play и нажмите кнопку "Добавить новую игру".

add-new-game

<р>3. Выберите подходящий вариант для вашей игры (новая игра или существующая игра).

select-game-type

4 Если это новая игра, добавьте название и тип игры.

<р>5. Нажмите «Продолжить» и «Сохранить», чтобы создать новую запись для своей игры в консоли разработчика.

<р>6. Теперь выберите созданное приложение и свяжите свое приложение.

link-app

<р>7. Теперь выберите вкладку таблицы лидеров, чтобы настроить таблицу лидеров для вашего приложения.

<р>8. Добавьте все необходимые поля и сохраните его.

<р>9. На этой вкладке вы получите идентификатор приложения и идентификатор списка лидеров.

application- id-и-id-таблицы лидеров

Подробнее о том, как добавить игру в консоль разработчика Google Play, можно узнать здесь.

Вы можете получить больше информации о том, как создать таблицу лидеров в своем приложении здесь.

Шаг 4. Настройка проекта Unity

<р>1. В редакторе Unity откройте окно >> Google Play Game >> setup >> android для настройки.

android-setup

<р>2. Получите ресурсы из аккаунта разработчика — скопируйте его

getresources
<р>3. Скопируйте ресурсы из аккаунта разработчика в редактор Unity

resources-setup

Пример кода шага 5

Пример кода Создайте скрипт с именем GPGDemo.cs, скопируйте следующий код и назначьте этот скрипт игровому объекту.

Описание кода:

В этом коде я создал 4 метода, давайте подробно разберем каждый из них.

В этом коде я создал 4 метода:

Вход Эта функция используется для входа в систему в учетную запись google (авторизация пользователя).
Добавить счет в таблицу лидеров Эта функция используется для обновления счета в таблице лидеров.
Показать таблицу лидеров Эта функция используется для отображения таблицы лидеров — очков всех игроков (табло).
Выйти Эта функция используется для выхода пользователя из Google.

Экраны:

<р>1. Войти в таблицу лидеров

 screenshot_2015-12-23-15-22-07

<р>2. Экран успешного входа

 screenshot_2015-12-23-15-22-14

<р>3. Табло

 screenshot_2015-12-23-15-26-15

Убедитесь, что ваш Android SDK обновлен.

Надеюсь, этот блог был вам полезен при настройке таблицы лидеров для Android в Unity. Дайте мне знать, если у вас есть какие-либо вопросы или сомнения относительно настройки таблицы лидеров для Android, настройки таблицы лидеров в Unity, оставьте комментарий здесь, и мы свяжемся с вами как можно скорее.

Есть представление о разработке игр? Чего ты все еще ждешь? Свяжитесь с нами сейчас и скоро увидите идею вживую. Наша компания была названа одной из лучших компаний по разработке игр Unity 3D в Индии.

Никундж Рола

Я профессиональный разработчик игр, искренне увлеченный созданием различных типов игр и изучением различных игровых концепций, которые могут расширить мои знания. Игры — моя страсть, и я стремлюсь создавать увлекательные, уникальные, креативные и качественные игры.

androidLeaderboard.jpg

См. Таблицы лидеров | Сервисы Play Игр | Google Developers для получения информации о настройке игровых сервисов Google Play для вашего приложения.

Для вашего проекта Unreal:

В меню «Правка» в Unreal Editor выберите «Настройки проекта», чтобы просмотреть параметры конфигурации для вашего проекта.

Слева выберите вкладку "Платформы: Android".

В разделе "Сервисы Google Play" установите флажок "Включить поддержку Google Play".

Введите идентификатор приложения для своей игры в поле "Идентификатор приложения для игр".

Введите лицензионный ключ Google Play в поле Лицензионный ключ Google Play.

Добавить элемент на карту лидеров.

На карте таблицы лидеров вам нужно будет ввести имя, которое используется только в вашем проекте Unreal Project, и идентификатор таблицы лидеров, который вы установили в своих сервисах Google Play.

androidSetup.jpg

Все эти значения доступны в консоли разработчика Google Play для ваших приложений и игровых сервисов.

Поскольку значение имени на карте достижений является только сопоставлением для идентификатора таблицы лидеров сервисов Google Play, а iOS напрямую упоминается в их ссылке на таблицу лидеров, и если вы выпускаете на платформах Android и iOS, введите ссылку на таблицу лидеров. из настроек iOS Game Center в качестве вашего имени, поэтому вам нужно вызывать только один узел независимо от платформы.

Если вы планируете выпустить свое приложение на устройствах Android и iOS, дополнительную информацию о настройке списков лидеров см. в разделе Использование списков лидеров iOS Game Center.

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

Узел Read Leaderboard Integer запросит у игрового сервиса платформы (в настоящее время iOS Game Center или Google Play Services) значение, хранящееся в заданном имени статистики для предоставленного контроллера игрока.

Обратите внимание, что это скрытый узел и, следовательно, имеет несколько выходных контактов выполнения. Самый верхний — это «сквозной», который работает как любой другой выходной контакт исполнения. Два других вывода («При успехе» и «При отказе») будут выполняться, когда онлайн-сервис возвращает (или не возвращает) значение. Значение Leaderboard Value до успешного возврата (или если служба не может получить ответ) будет равно 0 .

В чертежах:

Пример ниже взят из глобальной схемы экземпляра игры в образце игры Unreal Match 3. В этих нескольких узлах мы вызываем узел чтения списка лидеров для контроллера игрока с индексом игрока 0 в имени статистики (таблице лидеров) «Match3HighScore»:

readLeaderboard.jpg

Запись в таблицу лидеров

Узел Write Leaderboard Integer отправит заданное целочисленное значение характеристики в таблицу лидеров, указанную в имени характеристики для предоставленного контроллера игрока.

В чертежах:

Пример ниже взят из схемы VictoryScreen в образце игры Unreal Match 3. Когда отображается экран победы (или поражения), он проверяет, удалось ли при загрузке Unreal Match 3 получить высокий балл, а затем, если он смог, он отправит последний высокий балл в таблицу лидеров. Перед этим выполняется дополнительная проверка, чтобы увидеть, больше ли новый рекорд, чем тот, который был получен во время запуска приложения, но даже если этого не было, системы лидеров iOS и Android будут принимать только значения, превышающие те, которые они в настоящее время магазин.

writeLeaderboard.PNG

Отображение доски объявлений для конкретной платформы

На экране «Показать таблицу лидеров для конкретной платформы» будет показана таблица лидеров, указанная в названии категории на устройстве.

В чертежах:

Пример ниже взят из виджета Blueprint GameOverButtons из примера игры Unreal Match 3. При нажатии кнопки ShowScores игра попытается отобразить таблицу лидеров.

App42 Leaderboard позволяет разработчикам игр сохранять очки и управлять своей таблицей лидеров с помощью сервиса Scoreboard. Можно запросить средний или наивысший балл для пользователей в игре/уровне. Можно также просмотреть средний/самый результативный игрок в данной игре/уровне. Он также записывает и обеспечивает ранжирование пользователей по отношению к заданной группе пользователей (например, друзьям в Facebook) в игре/уровне.

Чтобы начать работу с таблицей лидеров, сначала необходимо создать игру/уровень в консоли AppHQ. Здесь игру можно логически рассматривать как другой игровой уровень внутри вашего приложения. В одном приложении App42 может быть столько игр/уровней. Вот шаги по созданию игры/уровня с консоли.

bullet

Нажмите кнопку "Добавить игру", как показано на изображении ниже, заполните все необходимые поля и отправьте заявку, чтобы сохранить игру

р>

После того, как ваша игра/уровень будет создана, вы будете готовы использовать сервисы таблицы лидеров, как описано ниже.

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

Читайте также: