API ARCore Cloud Anchor или сервис ARCore Cloud Anchor предоставляет возможности облачной привязки для ваших приложений iOS, позволяя пользователям устройств iOS и Android обмениваться опытом AR.
В этом руководстве показано, как:
- Настройте свою среду разработки для работы с Cloud Anchors
- Попробуйте размещение и разрешение привязок в примере приложения.
Предварительные условия
- Xcode версии 13.0 или новее
- Cocoapods 1.4.0 или новее, если вы используете Cocoapods
- ARKit-совместимое устройство Apple под управлением iOS 12.0 или более поздней версии (требуется цель развертывания iOS 12.0 или более поздней версии)
Использование облачных якорей
В следующих шагах используется пример приложения Cloud Anchors, чтобы показать важные задачи по настройке и созданию приложения, поддерживающего ARCore Cloud Anchors.
Получите образец приложения Cloud Anchors
Клонируйте или загрузите ARCore SDK для iOS с GitHub, чтобы получить пример кода приложения.
Откройте окно Терминала или Finder и перейдите к папке, в которую вы клонировали или загрузили SDK.
Вы можете найти пример кода приложения в
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Пример кода приложения постоянных облачных привязок находится в
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Настройка сеанса
Пример приложения выполняет следующие важные задачи в рамках настройки сеанса:
- Создание
GARSession
- Создание
ARSession
и его запуск - Установка
ARSessionDelegate
. - Передача
ARFrame
вGARSession
в методеsession:didUpdateFrame:
Настройте общий доступ к идентификатору Cloud Anchor
Пример приложения Cloud Anchors использует Firebase для обмена идентификаторами Cloud Anchor между устройствами. Вы можете использовать другое решение в своих приложениях.
Чтобы настроить базу данных Firebase в примере приложения:
- Следуйте инструкциям Firebase по добавлению Firebase в ваше приложение .
- Загрузите файл
GoogleService-Info.plist
, созданный при добавлении Firebase в ваше приложение. - Включите хранилище Firebase для примера:
- Перейдите в консоль Firebase и выберите проект, который вы настроили для примера приложения.
- Выберите панель Database .
- В разделе Realtime Database нажмите Get Started .
- Откроется меню Security rules for Realtime Database .
- Чтобы запустить образец, выберите Start in test mode .
- Обратите внимание: если вы используете Firebase для приложения, которое планируете опубликовать, вам следует использовать более строгие правила безопасности.
- В Xcode добавьте файл
GoogleService-Info.plist
в свое приложение рядом сInfo.plist
.
Настройте API ARCore
Чтобы использовать Cloud Anchors, вам необходимо сначала настроить API ARCore для вашего приложения.
Запустить обновление модуля
Приложение CloudAnchorExample поставляется с Podfile
, предварительно настроенным с использованием необходимых вам версий ARCore SDK и iOS. Чтобы установить эти зависимости:
- Откройте окно терминала и запустите
pod update
из папки, где существует проект Xcode.
При этом будет создан файл.xcworkspace
, который вы будете использовать позже для сборки и запуска приложения.
См. раздел «Добавление ARCore SDK в ваше приложение» для получения подробной информации о настройке Podfile
в ваших собственных приложениях.
Откройте файл
.xcworkspace
проекта в Xcode.Чтобы избежать ошибок сборки, убедитесь, что вы выполняете сборку из файла
.xcworkspace
, а не из файла.xcodeproj
.
Измените идентификатор пакета приложений
В Xcode измените идентификатор пакета приложения, чтобы вы могли подписать приложение со своей командой.
Создайте и запустите приложение
Подключите свое устройство и запустите приложение в Xcode.
(Необязательно) Если вы создаете и запускаете пример приложения, см. следующий раздел для получения подробной информации об использовании приложения для размещения и разрешения облачных привязок.
Попробуйте образец приложения
Создайте и запустите пример приложения из файла
.xcworkspace
, чтобы запустить его на своем устройстве.При появлении запроса предоставьте приложению разрешения камеры. Затем ARKit начинает обнаруживать самолеты перед вашей камерой.
Нажмите HOST , чтобы войти в режим хостинга. Код комнаты для совместного использования размещенных якорей генерируется и отображается на вашем экране.
Коснитесь самолета, чтобы разместить там облачную привязку.
- Приложение помещает объект Andy Android на плоскость и прикрепляет к нему якорь.
- Запрос хоста отправляется на конечную точку облака ARCore API. Запрос хоста включает данные, представляющие положение привязки относительно визуальных объектов рядом с ней.
- После размещения привязки она получает идентификатор, который используется для разрешения облачных привязок в этом пространстве.
Нажмите RESOLVE и введите код комнаты, чтобы получить доступ к ранее размещенным облачным привязкам для этой комнаты с помощью того же или другого устройства.
- Запрос на разрешение отправляется в конечную точку облака API ARCore.
- Запрос на разрешение включает идентификатор облачной привязки. Если идентификатор соответствует размещенному привязке и локализация прошла успешно, сервер возвращает преобразование привязки в ваших локальных координатах.
- Пример приложения использует преобразование для добавления привязки к сцене и рендеринга прикрепленных к ней виртуальных объектов.
Добавьте ARCore SDK в свои приложения
В ваших собственных приложениях вам необходимо обновить Podfile
, включив в него ARCore SDK и поддерживаемые версии iOS. Для этого:
Добавьте следующую
platform
иpod
вPodfile
вашего проекта:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.0'
- Откройте окно терминала и запустите
pod update
из папки, где находится ваш проект Xcode.
При этом создается файл.xcworkspace
, который вы используете для сборки и запуска приложения.
Постоянные облачные якоря
Как описано в разделе «Размещение облачной привязки с постоянством» , вы можете задать срок жизни облачной привязки до 365 дней. Пример кода для использования постоянных облачных привязок доступен в каталоге /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
в ARCore SDK для iOS на GitHub .
Следующие шаги
См . Руководство разработчика Cloud Anchors для iOS, чтобы изучить пример кода приложения и узнать больше о работе с Cloud Anchors в ваших собственных приложениях.
Подробности см. в справочнике по ARCore iOS API .