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

La API de ARCore Cloud Anchor, o servicio de Cloud Anchor de ARCore, proporciona capacidades de anclaje en la nube a tus apps para iOS, lo que permite que los usuarios de dispositivos iOS y Android compartan experiencias de RA.

En esta guía, se indica cómo realizar las siguientes acciones:

  • 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 una versión posterior (se requiere el destino de implementación de iOS 12.0 o una versión posterior)

Usa Cloud Anchors

En los siguientes pasos, se usa la app de ejemplo de Cloud Anchors a fin de mostrarte las tareas fundamentales para configurar y compilar una app que admita Cloud Anchors de ARCore.

Obtén la app de ejemplo de Cloud Anchors

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

  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 nube persistentes se encuentra en
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.

Configuración de la sesión

Como parte de la configuración de la sesión, la app de ejemplo realiza las siguientes tareas importantes:

Configura el uso compartido de ID de Cloud Anchor

La app de ejemplo de Cloud Anchors usa Firebase para compartir los 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 de la adición de Firebase a tu app.
  3. Habilita Firebase Storage para la muestra:
    • Ve a Firebase console y selecciona el proyecto que configuraste para la app de muestra.
    • 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 en una app que tienes pensado 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 en tu aplicación.

Ejecutar actualización del Pod

La app de CloudAnchorExample se envía con un Podfile preconfigurado con el SDK de ARCore y las versiones de iOS que necesitarás. Para instalar estas dependencias, sigue estos pasos:

  1. Abre una ventana de la terminal y ejecuta pod update desde la carpeta en la que existe el proyecto de Xcode.
    Esto genera un archivo .xcworkspace que usarás más adelante para compilar y ejecutar la app.

Consulta Agrega el SDK de ARCore a tu app para obtener detalles sobre cómo configurar 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 aplicación

En Xcode, cambia el ID de paquete de la app para poder firmarla con tu equipo.

Compila y ejecuta la app

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

  2. Si compilas y ejecutas la app de muestra, consulta la siguiente sección si quieres obtener detalles sobre cómo usar la app para alojar y resolver Cloud Anchors (opcional).

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, otórgale permisos a la app. Luego, ARKit comenzará a detectar planos frente a la cámara.

  3. Presiona HOST para ingresar al modo de hosting. 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 allí un ancla de nube.

    • La app coloca un objeto de Android de Andy en el plano y le adjunta un ancla.
    • Se envía una solicitud de host al extremo de nube de la API de ARCore. La solicitud de host incluye datos que representan la posición del ancla en relación con los rasgos visuales cercanos a ella.
    • Una vez que se aloja el ancla, esta obtiene un ID que se usa para resolver las anclas en la nube en este espacio.
  5. Presiona RESOLVE y, luego, ingresa un código de sala para acceder a los Cloud Anchors alojados anteriormente en esta sala con el mismo dispositivo o uno diferente.

    • Se envía una solicitud de resolución al extremo de la nube de la API de ARCore.
    • La solicitud de resolución incluye un ID de Cloud Anchor. 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 los objetos virtuales adjuntos a ella.

Agrega el SDK de ARCore a tus apps

En tus propias apps, deberás actualizar Podfile para incluir el SDK de ARCore y el control de versiones compatible con iOS. Para ello, sigue estos pasos:

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

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.41.0'
    
  1. Abre una ventana de terminal y ejecuta pod update desde la carpeta en la que existe tu proyecto de Xcode.
    Esto genera un archivo .xcworkspace que usarás para compilar y ejecutar la app.

Anclas de la nube persistentes

Como se describe en Aloja una Cloud Anchor con persistencia, puedes darle a la ancla de nube 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 desde GitHub.

Próximos pasos