Разработчикам игр

Как разместить свою игру в MRIYU: кабинет разработчика, SDK, сохранения, рекорды и мультиплеер онлайн.

Любой может добавить свою браузерную игру в раздел «Игры». Игроки запускают её прямо в MRIYU, приглашают друзей, а игра получает их имена, сохранения, таблицу рекордов и комнаты для игры онлайн.

Как разместить игру

  1. Сделайте игру на своём сайте — страница должна открываться по https.
  2. Подключите на странице игры SDK: <script src="https://mriyu.com/sdk/v1.js"></script>.
  3. Откройте «Игры» → «Разместить игру» (или страницу /developers) и нажмите «Новая игра».
  4. Укажите название, адрес игры, жанр и короткое описание, добавьте значок (квадрат от 256×256), по желанию — обложку 16:9 и до 6 скриншотов.
  5. Проверьте игру кнопкой «Открыть» — вам она доступна ещё до публикации.
  6. Нажмите «Отправить на проверку». После одобрения модератором игра появится в разделе «Игры» в блоке «От разработчиков».

Не знаете, что вставить в игру? Откройте игру в кабинете → вкладка «Подключение» (кнопка «Как подключить»). Там готовый код именно под вашу игру с кнопкой «Скопировать» или файлом-шаблоном, галочка «SDK подключён», когда игра связалась с MRIYU, и готовые примеры для сохранений, рекордов, друзей и мультиплеера. Токен и секрет нужны только тем, у кого есть свой сервер.

Состояние Что значит
Черновик Игру видите только вы.
На проверке Модератор проверяет игру.
Опубликована Игра в каталоге для всех.
Отклонена Прочитайте «Комментарий модератора», исправьте и отправьте снова.
Заблокирована Игра снята из каталога, редактировать её нельзя.

Сменили адрес опубликованной игры — она снова уйдёт на проверку.

В кабинете видна статистика: «Игроков», «Новых за 30 дней», «Играли за 30 дней» и «Запусков».

SDK: что умеет игра

Все методы возвращают Promise. Сначала вызовите MRIYU.init() — он вернёт игрока (user.id, user.name, user.avatar, user.lang).

Метод Что делает
MRIYU.init() Знакомство с сайтом: игра, игрок, комната из приглашения (launch.room).
MRIYU.getFriends() Друзья игрока; plays — запускали ли уже игру.
MRIYU.invite(id, {room, text}) Приглашение другу в личные сообщения со ссылкой на игру.
MRIYU.storage.get(key) / set(key, value) / remove(key) / keys() Сохранения в облаке: до 50 ключей на игрока, до 64 КБ каждый.
MRIYU.leaderboard.submit(score, {board}) Результат игрока; хранится лучший.
MRIYU.leaderboard.top({board, limit, friends}) Таблица рекордов, до 100 строк; friends: true — только друзья.
MRIYU.getLaunchToken() Токен для проверки игрока на сервере игры.
MRIYU.multiplayer.connect() Подключение к комнатам для игры онлайн.

Настоящий номер страницы игра не получает: у каждого игрока в каждой игре свой идентификатор из 16 символов.

Мультиплеер онлайн

Включите в настройках игры «Мультиплеер онлайн» и укажите, сколько игроков в комнате (2–16). Свой сервер не нужен — комнаты держит MRIYU.

Что Как
Подключиться const mp = await MRIYU.multiplayer.connect()
Найти соперника mp.quick() — свободная комната или новая
Своя комната mp.create({max: 4}), код комнаты — mp.room.code
Войти по коду mp.join('ABC234')
Отправить ход mp.send(data) — всем или {to: id} одному
Общее состояние mp.setState(data) — только хозяин комнаты
Начать игру mp.start() — комната пропадает из поиска
События mp.on('joined' / 'left' / 'message' / 'state' / 'started', …)

Ушёл хозяин — хозяином становится следующий игрок. Пример целой игры — крестики-нолики онлайн.

Если у игры есть свой сервер

Получите в игре MRIYU.getLaunchToken() и передайте токен на свой сервер. Проверьте подпись HMAC-SHA256 секретом игры (кабинет → «Настройки» → «Показать секрет») или отправьте POST https://mriyu.com/api/games/verify с полями token и secret. Ответ: valid и игрок (id, name). Токен действует час.

Секрет никому не показывайте. Если он попал в чужие руки — нажмите «Новый секрет».

Правила

  • Игра открывается во встроенном окне и не может изменить страницу MRIYU.
  • Запрещены мошенничество, сбор паролей и данных, реклама запрещённых товаров, контент 18+.
  • За нарушения игру отклоняют или блокируют.