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

La API de Cloud Anchor de ARCore, o el servicio de Cloud Anchor de ARCore, proporciona funciones de Cloud Anchor para tus apps para iOS, por lo que 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 Cloud Anchors

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 la app de ejemplo.

  2. Abre una ventana de Terminal o Finder y navega a la carpeta donde 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 del 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 que se generó 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 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 el API de ARCore para tu aplicación.

Ejecuta pod update

La app CloudAnchorExample se envía con un Podfile preconfigurado con el Las versiones de iOS y del SDK de ARCore 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 para 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 la app

En Xcode, cambia el ID del paquete de la app para que puedas firmar la app con tu equipo.

Compila y ejecuta la app

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

  2. Si compilas y ejecutas la app de ejemplo, consulta los siguientes vínculos (opcional) para obtener información sobre cómo usar la app para alojar y resolver Cloud Anchors.

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. ARKit, luego comienza a detectar planos frente a tu 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 allí un ancla en la nube.

    • La app coloca un objeto de Android de Andy en el avión y fija un ancla. que se les asigna.
    • 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, este obtiene un ID que se usa para resolver problemas de anclas 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 uno diferente.

    • Se envía una solicitud de resolución al extremo en 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 objetos virtuales adjuntos a él.

Agrega el SDK de ARCore a tus apps

En tus propias apps, deberás actualizar tu Podfile para incluir el SDK de ARCore y versiones de iOS compatibles. 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.46.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.

Anclas de nube 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. Código de muestra de con anclas de nube persistentes está disponible en /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample en el SDK de ARCore para iOS desde GitHub.

Próximos pasos