Разработка AR-мультиплеерного взаимодействия в мобильном приложении

AR-мультиплеер: синхронизация пространства на iOS и Android Два человека в одной комнате видят один и тот же AR-объект с разных углов. Звучит просто. На практике — это синхронизация AR-пространств двух устройств, каждое из которых живёт в своей системе координат, плюс latency сети, плюс drift поз

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка AR-мультиплеерного взаимодействия в мобильном приложении
Сложный
от 2 недель до 3 месяцев

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    898
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    600

AR-мультиплеер: синхронизация пространства на iOS и Android

Два человека в одной комнате видят один и тот же AR-объект с разных углов. Звучит просто. На практике — это синхронизация AR-пространств двух устройств, каждое из которых живёт в своей системе координат, плюс latency сети, плюс drift позиционирования. Без правильной архитектуры игровая фигура у первого игрока будет в метре от того места, где её видит второй. Наш опыт показывает: большинство проблем решается выбором подходящего стека синхронизации — от простого peer-to-peer до server-authoritative архитектуры.

Как синхронизировать AR-пространства на разных платформах?

ARKit — Collaborative Session. С iOS 13 ARKit поддерживает ARCollaborationData — бинарные пакеты с feature points и anchor информацией, которыми устройства обмениваются напрямую. Через MultipeerConnectivity (Bonjour, peer-to-peer Wi-Fi/Bluetooth) или через собственный relay-сервер. Каждое устройство строит общую карту пространства, объекты на ARAnchor синхронизируются автоматически.

// Отправляем collaboration data другим участникам func session(_ session: ARSession, didOutputCollaborationData data: ARSession.CollaborationData) { let encoded = try? NSKeyedArchiver.archivedData(withRootObject: data, requiringSecureCoding: true) sendToPeers(encoded) } 

Ограничение: работает только iOS–iOS, нет Android. Для кроссплатформы нужно другое решение.Источник: документация ARKit

Технические детали ARCollaborationData `ARCollaborationData` содержит `featurePoints`, `anchors` и `tracking state`. Размер пакета ~50–200 КБ. Частота отправки — 10–30 раз в секунду. Подробнее в [документации Apple](https://developer.apple.com/documentation/arkit/arcollaborationdata).

ARCore — Cloud Anchors. Google предоставляет серверную инфраструктуру: ARCore Cloud AnchorshostCloudAnchor() загружает feature map якоря в облако, возвращает cloudAnchorId. Второй пользователь вызывает resolveCloudAnchor(cloudAnchorId) — получает тот же якорь в своём пространстве. Через него синхронизируем позиции всех shared-объектов. Работает iOS (ARCore SDK for iOS) ↔ Android. Использование Cloud Anchors сокращает затраты на серверную инфраструктуру до 40%.

Unity + Photon + ARDK (Niantic Lightship). Для геймдев-проектов часто правильнее взять Niantic Lightship ARDK — нативная поддержка shared AR spaces, мультиплеер через Photon, кроссплатформа. Но это Unity, не нативная разработка.

Технология Платформы Синхронизация Задержка Применение
ARKit Collaborative Session iOS только Peer-to-peer, локальная сеть 10–50 мс AR-приложения в одной комнате
ARCore Cloud Anchors iOS + Android Relay через облако 100–300 мс Кросс-платформенные проекты
Niantic Lightship + Photon iOS + Android Relay-сервер 50–200 мс AR-игры с высокой нагрузкой

Почему мы выбираем server-authoritative физику?

Если AR-объекты имеют физику (шарик катится, кубики падают) — нужна авторитетная физическая симуляция. Для 2–4 игроков server-authoritative подход увеличивает нагрузку на сервер на 20–30%, но исключает рассинхронизацию. Варианты:

  • Server-authoritative: сервер (headless) симулирует физику, клиенты получают состояния и интерполируют. Исключает читерство, требует мощного сервера.
  • Client prediction + rollback: клиент предсказывает результат локально, сервер подтверждает или откатывает. Сложнее в реализации, но лучше по UX.

Для casual AR-игр достаточно client-side физики с периодической синхронизацией через state snapshot.

Как избежать типичных ошибок в AR-мультиплеере?

Ошибка Последствия Решение
Использование только iOS-решения без учёта Android Потеря 40% аудитории Закладывать кроссплатформенность с архитектуры
Отсутствие interpolation на клиенте Рывки объектов из-за задержки Реализовать dead reckoning и сглаживание
Игнорирование drift Разъезд якорей через 30 с Периодическая коррекция через Cloud Anchors или серверный авторитет

Применение interpolation сокращает видимую задержку на 50–100 мс.

Что входит в работу

  • Архитектурная документация (выбор стека синхронизации, схема сети)
  • Репозиторий с кодом (Swift/Kotlin/Flutter/Unity)
  • Интеграция ARKit/ARCore и сетевого модуля
  • Настройка CI/CD пайплайна для тестирования на реальных устройствах
  • Инструкция по деплою в App Store / Google Play
  • Обучение команды заказчика (1–2 дня)
  • Техническая поддержка 1 месяц после релиза

Процесс работы

Реализация проходит 5 этапов:

  1. Аналитика — выясняем сценарии использования, количество игроков, платформы, требования к латентности.
  2. Проектирование — выбираем стек (ARKit vs ARCore vs Unity), архитектуру синхронизации (state sync vs delta sync), протокол (WebSocket/WebRTC).
  3. Реализация — пишем код, интегрируем AR-слой и сетевой слой, настраиваем interpolation и dead reckoning.
  4. Тестирование — на реальных устройствах в реальном пространстве. CI/CD с Xcode Cloud / Firebase Test Lab, но финальное QA физически.
  5. Деплой — публикация в магазины приложений, мониторинг crash reports и метрик.

Сроки и стоимость

  • Базовый shared AR с Cloud Anchors для двух игроков — 4–7 недель.
  • Мультиплеерная AR-игра с серверной синхронизацией, несколькими комнатами и физикой — 3–6 месяцев.
  • Стоимость рассчитывается индивидуально. Получите консультацию — мы оценим ваш проект за один рабочий день.

Закажите разработку AR-мультиплеера прямо сейчас — наши инженеры оценят проект за один день. Свяжитесь с нами, чтобы обсудить ваш проект. Наши инженеры имеют опыт 10+ лет в мобильной разработке и выполнили 20+ AR-проектов. Гарантируем стабильную синхронизацию и соблюдение сроков.