La API de Cloud Anchors de ARCore o el servicio de Cloud Anchors de ARCore proporcionan capacidades de anclas en la nube para tus apps para iOS, lo que permite que los usuarios de dispositivos iOS y Android compartan experiencias de RA.
En esta guía, se muestra cómo hacer lo siguiente:
- Configura tu entorno de desarrollo para trabajar con Cloud Anchors
- Prueba alojar y resolver anclas en una app de ejemplo
Requisitos previos
- Xcode versión 13.0 o posterior
- Cocoapods 1.4.0 o una versión posterior si usas Cocoapods
- Un dispositivo Apple compatible con ARKit que ejecute iOS 12.0 o versiones posteriores (se requiere un objetivo de implementación de iOS 12.0 o versiones posteriores)
Usa anclas de Cloud
En los siguientes pasos, se usa la app de ejemplo de Cloud Anchors para mostrarte las tareas críticas para configurar y compilar una app que admita las anclas en la nube de ARCore.
Obtén la app de ejemplo de Cloud Anchors
Clona o descarga el SDK de ARCore para iOS desde GitHub para obtener el código de ejemplo de la app.
Abre una ventana de Terminal o Finder y navega a la carpeta en la que clonaste o descargaste el SDK.
Puedes encontrar el código de la app de ejemplo en
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.El código de la app de ejemplo de anclas de Cloud persistentes se encuentra en
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Configuración de la sesión
La app de ejemplo realiza las siguientes tareas importantes como parte de la configuración de la sesión:
- Cómo crear un
GARSession
- Cómo crear un
ARSession
y ejecutarlo - Configura un
ARSessionDelegate
. - Pasar
ARFrame
alGARSession
en el métodosession:didUpdateFrame:
Configura el uso compartido de IDs de Cloud Anchor
La app de ejemplo de Cloud Anchors usa Firebase para compartir IDs de Cloud Anchor entre dispositivos. Puedes usar una solución diferente en tus propias apps.
Para configurar la base de datos de Firebase en la app de ejemplo, sigue estos pasos:
- Sigue las instrucciones de Firebase para agregar Firebase a tu app.
- Descarga el archivo
GoogleService-Info.plist
generado como parte del proceso de agregar Firebase a tu app. - Habilita el almacenamiento de Firebase para la muestra:
- Ve a Firebase console y selecciona el proyecto que configuraste para la app de ejemplo.
- Selecciona el panel Database.
- En la opción Realtime Database, haz clic en Get Started.
- Se abrirá el menú Security rules for Realtime Database.
- Para ejecutar la muestra, selecciona Start in test mode.
- Ten en cuenta que, si usas Firebase para una app que planeas publicar, debes usar reglas de seguridad más restrictivas.
- En Xcode, agrega el archivo
GoogleService-Info.plist
a tu app, junto aInfo.plist
.
Configura la API de ARCore
Para usar Cloud Anchors, primero debes configurar la API de ARCore para tu aplicación.
Ejecuta la actualización del pod
La app CloudAnchorExample incluye un Podfile
preconfigurado con las versiones del SDK de ARCore y de iOS que necesitarás. Para instalar estas dependencias, sigue estos pasos:
- Abre una ventana de Terminal y ejecuta
pod update
desde la carpeta en la que se encuentra el proyecto de Xcode.
Esto genera un archivo.xcworkspace
que usarás más adelante para compilar y ejecutar la app.
Consulta Cómo agregar el SDK de ARCore a tu app para obtener detalles sobre la configuración de Podfile
en tus propias apps.
Abre el archivo
.xcworkspace
del proyecto en Xcode.Para evitar errores de compilación, asegúrate de compilar desde el archivo
.xcworkspace
y no desde el archivo.xcodeproj
.
Cómo cambiar el ID del paquete de la app
En Xcode, cambia el ID del paquete de la app para que puedas firmarla con tu equipo.
Compila y ejecuta la app
Conecta tu dispositivo y, luego, inicia la app en Xcode.
(Opcional) Si compilas y ejecutas la app de ejemplo, consulta la siguiente sección para obtener detalles sobre el uso de la app para alojar y resolver anclas de Cloud.
Prueba la app de ejemplo
Compila y ejecuta la app de ejemplo desde el archivo
.xcworkspace
para iniciarla en tu dispositivo.Si se te solicita, otorga permisos de cámara a la app. Luego, ARKit comienza a detectar planos frente a la cámara.
Presiona HOST para ingresar al modo de host. Se generará un código de sala para compartir las anclas alojadas y aparecerá en la pantalla.
Presiona un plano para comenzar a alojar un ancla en la nube allí.
- La app coloca un objeto Android Andy en el plano y le adjunta un ancla.
- Se envía una solicitud de host al extremo de la nube de la API de ARCore. La solicitud del host incluye datos que representan la posición del ancla en relación con los componentes visuales cercanos.
- Una vez que se aloja el ancla, obtiene un ID que se usa para resolver anclas de Cloud en este espacio.
Presiona RESOLVE y, luego, ingresa un código de habitación para acceder a las anclas de Cloud alojadas anteriormente para esta habitación con el mismo dispositivo o con otro.
- Se envía una solicitud de resolución al extremo de nube de la API de ARCore.
- La solicitud de resolución incluye un ID de ancla de nube. Si el ID coincide con un ancla alojada y la localización se realiza correctamente, el servidor muestra la transformación del ancla en tus coordenadas locales.
- La app de ejemplo usa la transformación para agregar el ancla a tu escena y renderizar objetos virtuales adjuntos a ella.
Agrega el SDK de ARCore a tus apps
En tus propias apps, deberás actualizar tu Podfile
para incluir el SDK de ARCore y la versión compatible de iOS. Para ello, sigue estos pasos:
Agrega los siguientes
platform
ypod
alPodfile
de tu proyecto:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.48.0'
- Abre una ventana de Terminal y ejecuta
pod update
desde la carpeta en la que se encuentra tu proyecto de Xcode.
Esto genera un archivo.xcworkspace
que usas para compilar y ejecutar la app.
Cloud Anchors persistentes
Como se describe en Aloja un Cloud Anchor con persistencia,
puedes darle al Cloud Anchor un tiempo de actividad de hasta 365 días. El código de muestra para usar anclas de nube persistentes está disponible en el directorio /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
del SDK de ARCore para iOS de GitHub.
Próximos pasos
Consulta la Guía para desarrolladores de Cloud Anchors para iOS para explorar el código de muestra de la app y obtener más información sobre cómo trabajar con Cloud Anchors en tus propias apps.
Revisa los detalles en la Referencia de la API de ARCore para iOS.