Guía de inicio rápido para Cloud Anchors en iOS

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

  1. Clona o descarga el SDK de ARCore para iOS desde GitHub para obtener el código de ejemplo de la app.

  2. Abre una ventana de Terminal o Finder y navega a la carpeta en la que clonaste o descargaste el SDK.

  3. 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:

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:

  1. Sigue las instrucciones de Firebase para agregar Firebase a tu app.
  2. Descarga el archivo GoogleService-Info.plist generado como parte del proceso de agregar Firebase a tu app.
  3. 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.
  4. En Xcode, agrega el archivo GoogleService-Info.plist a tu app, junto a Info.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:

  1. 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.

  1. 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

  1. Conecta tu dispositivo y, luego, inicia la app en Xcode.

  2. (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

  1. Compila y ejecuta la app de ejemplo desde el archivo .xcworkspace para iniciarla en tu dispositivo.

  2. Si se te solicita, otorga permisos de cámara a la app. Luego, ARKit comienza a detectar planos frente a la cámara.

  3. 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.

  4. 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.
  5. 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:

  1. Agrega los siguientes platform y pod al Podfile de tu proyecto:

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.48.0'
    
  1. 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