Реалізація Cloud Anchors для мультикористувацького AR

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація Cloud Anchors для мультикористувацького AR
Складний
~1-2 тижні
Часті запитання

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

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація Cloud Anchors для мультипользовательського AR

Два iPhone в одній кімнаті. Користувач A ставить AR-об'єкт на стіл. Користувач B бачить той самий об'єкт на тому ж столі, в тій ж позиції — в реальному часі. Без QR-кодів, без маркерів, без попередньої калібровки.

Це Cloud Anchors — технологія, де анкор створюється локально, завантажується в облако, а інші пристрої завантажують його та локалізуються відносно нього.

Два шляхи: ARCore та ARKit

Google ARCore Geospatial API та Cloud Anchors — крос-платформене рішення. Працює на iOS через ARCore SDK для iOS та на Android нативно. Анкори зберігаються на серверах Google, живуть від 1 дня до 365 днів залежно від настроєк.

Створення анкора:

// iOS, ARCore SDK
let anchor = garSession.createAnchor(at: transform)
garSession.hostCloudAnchor(anchor, ttlDays: 30) { cloudAnchorId, error in
    // cloudAnchorId — строка, відправляємо іншим учасникам через свій backend
}

Розрізнення анкора на іншому пристрої:

garSession.resolveCloudAnchor(cloudAnchorId) { anchor, error in
    // anchor.transform — позиція в світовому просторі цього пристрою
}

Apple Shared AR через ARKit + MultipeerConnectivity — працює тільки між Apple-пристроями, без зовнішнього сервера. Пристрої обмінюються ARWorldMap напрямку через локальну мережу. Обмеження: потрібен один "хост", який зберігає карту та розповсюджує учасникам.

Для production-додатків з крос-платформою — ARCore Cloud Anchors. Для Apple-only та офлайн-сценаріїв — MultipeerConnectivity.

Головні проблеми мультипользовательського AR

Синхронізація стану сцени. Cloud Anchor дає спільну систему координат. Але дані про те, хто що розмістив, куди переміщував, що видалив — це ваш шар. Потрібен realtime-канал: Firebase Realtime Database, Supabase Realtime, або власний WebSocket. Типова схема: подія objectPlaced(anchorId, modelId, transform) → broadcast всім учасникам → кожен застосовує локально.

Дрейф між пристроями. Два iPhone локалізуються відносно Cloud Anchor незалежно. Помилка позиціонування — 1–5 см при хорошому освітленні. При поганому освітленні або слабкій текстурованості поверхонь — до 10–15 см. Для ігор прийнятно. Для промисловості (розмітка обладнання, збірка) — ні.

Час розрізнення анкора. resolveCloudAnchor може займати 2–10 секунд, поки пристрій не зібере достатньо feature points для збігу з хмарним анкором. Показуємо GARCloudAnchorState.taskInProgress протягом цього часу, не дозволяємо користувачу взаємодіяти зі сценою.

Ліміти API. Google Cloud Anchors: 1000 безплатних resolve-операцій на день, потім платно. При активній аудиторії цей ліміт досягається швидко — потрібно рахувати заздалегідь.

Архітектура крос-платформенного AR-мультиплеєра

Пристрій A (iOS/Android)
  → створює Cloud Anchor → отримує cloudAnchorId
  → відправляє cloudAnchorId на backend (REST/WebSocket)

Backend (Firebase / власний сервер)
  → зберігає cloudAnchorId + метадані сесії
  → розповсюджує подій учасникам

Пристрій B (iOS/Android)
  → отримує cloudAnchorId
  → resolveCloudAnchor → будує спільну систему координат
  → отримує подій → застосовує зміни локально

Кейс: AR-квест у торговому центрі, 8 одночасних учасників. ARCore Cloud Anchors на точках інтересу (вхід, відділ, каса). Кожен якорь — завдання з віртуальним об'єктом. Синхронізація через Firebase Realtime Database: подія "гравець X знайшов об'єкт Y" → об'єкт зникає у всіх. Затримка між подією та оновленням у всіх учасників — 150–300 мс через LTE.

Що входить у роботу

  • Інтеграція ARCore SDK для iOS або настройка MultipeerConnectivity для Apple-only
  • Створення та розрізнення Cloud Anchors з обробкою помилок та таймаутів
  • Реалізація realtime-синхронізації стану сцени
  • UI для статусів: очікування учасників, розрізнення анкора, десинхронізація
  • Тестування з реальними пристроями в умовах різного освітлення

Сроки

Сценарій Сроки
Apple-only через MultipeerConnectivity 2–3 тижні
Крос-платформа через ARCore Cloud Anchors 4–6 тижнів
Повнофункціональний AR-мультиплеєр з синхронізацією стану 6–10 тижнів

Вартість розраховується індивідуально після обговорення архітектури та цільової аудиторії.