Skip to content

Технические требования

Совместимость с устройствами и браузерами

Мы хотим, чтобы игра работала в браузерах Chrome и Edge. Игры, которые плохо работают в Safari, будут отключены.

Значительная часть пользователей Jogos использует Chromebook. Если игра работает не плавно на устройствах с 4 ГБ оперативной памяти, система Chromium OS отключит такие игры.

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

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

  • Для обеспечения совместимости HTML5-игр в разных странах и регионах мы установили следующие требования к упаковке игры в целом:

    КатегорияНастольные устройстваМобильные устройства
    Размер начального загрузочного пакета≤50 МБ≤25 МБ
    Общий размер файлов≤ 500 МБ≤ 250 МБ
    Количество файлов≤5000≤3000

Требования к мобильным играм

Чтобы быть допущенной на мобильную главную страницу, начальный размер загрузки не должен превышать 25 МБ.

Вы можете настроить поддерживаемые ориентации в своём представлении. Сайт попросит пользователей повернуть устройство, чтобы игра работала только в этих ориентациях. Поэтому вам не нужно реализовывать логику блокировки ориентации.

Например, при игре на некоторых устройствах (например, планшетах) двойной клик или длительное нажатие могут вызвать отображение инструмента масштабирования или выделить всю игру с отображением контекстного меню. Чтобы избежать неудобств в управлении, добавьте следующий CSS в тело игры:

java
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

Из-за частых сбоев (вызванных нехваткой памяти) игры Unity по умолчанию отключены на платформе iOS. Когда ваша игра наберёт определённый объем пользовательской активности, наша команда оценит её работу на платформе iOS и рассмотрит возможность включения этой функции.

Мы управляем качеством графики Unity (соотношением пикселей устройства), чтобы гарантировать хорошие игровые производительности для пользователей: Для устройств iOS и Android-устройств с малым объемом памяти выбирается значение DPR = 1, так как эти устройства вылетают при большем поддерживаемом ими DPR. Для других устройств используется собственный DPR, поддерживаемый устройством (window.devicePixelRatio). Если мы сочтем нужным, можем вручную изменить эту конфигурацию.

Описание контроллера QA

Инструмент проверки качества QA для разработчиков Jogos предоставляет две полные адаптивные решения. Вам не нужно дополнительно адаптировать игру:

  • Если ваша игра изначально адаптирована только для мобильных устройств и использует виртуальные кнопки и джойстики, вы можете использовать конфигурацию "Адаптация элементов управления мобильной игры для настольных устройств", чтобы настроить кнопки мыши или клавиатуры и удовлетворить игроков на ПК. alt text

  • Если ваша игра изначально адаптирована только для ПК и использует управление клавиатурой и мышью, вы можете использовать конфигурацию "Адаптация элементов управления настольной игры для мобильных устройств", перетаскивая виртуальные кнопки и джойстики в подходящие места для отображения, чтобы сопоставить клавиши ПК и обеспечить управление на мобильных устройствах для игроков.
    alt text

Обработка часто встречающихся проблем

Следующий фрагмент кода может исправить многие проблемы с пользовательским опытом, вызванные стандартным поведением браузеров (эти проблемы уже реализованы в нашем UnitySDK; для других платформ используйте при необходимости):

  • Ненужная прокрутка страницы
  • Ненужные клавиатурные события
  • Изменение видимости в приложении Samsung
  • Появление контекстного меню за пределами холста Unity
javascript
//Отключение ненужной прокрутки страницы.
window.addEventListener('wheel', (event) => event.preventDefault(), {
  passive: false,
});
//Отключение ненужных клавиатурных событий и прокрутки пробелом.
window.addEventListener('keydown', (event) => {
  if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
    event.preventDefault();
  }
});
//Исправление для обработки изменений видимости
//В веб-видеоэлементе это проблема, сообщавшаяся для приложения Samsung.
document.addEventListener('visibilitychange', () => {
  if (document.visibilityState) {
    if (document.visibilityState === 'hidden') {
      application.publishEvent('OnWebDocumentPause', 'True');
    } else if (document.visibilityState === 'visible') {
      application.publishEvent('OnWebDocumentPause', 'False');
    }
  }
});
//Отключение контекстного меню, появляющегося при правом клике за пределами холста.
document.addEventListener('contextmenu', (event) => event.preventDefault());