Habilita la API de Geospatial para tu app de Unity (AR Foundation) orientada a Android

Establece la configuración de tu app para que pueda usar la API de Geospatial.

Requisitos previos

Asegúrate de comprender los conceptos fundamentales de RA y cómo configurar una sesión de ARCore antes de continuar.

Consulta la Introducción a la API de Geospatial para obtener más información.

Si es la primera vez que desarrollas con ARCore, consulta la sección Cómo comenzar para obtener información sobre los requisitos de software y hardware, los requisitos previos y otra información específica de las plataformas que usas.

Para usar la API de ARCore Geospatial, tu proyecto debe ser compatible con AR Foundation y las extensiones de ARCore para AR Foundation.

Habilita la API de ARCore

Antes de usar el sistema de posicionamiento visual (VPS) en tu app, primero debes habilitar la API de ARCore en un proyecto de Google Cloud nuevo o existente. Este servicio se encarga de alojar, almacenar y resolver las anclas geoespaciales.

Se prefiere la autorización sin clave, pero también se admite la autorización mediante clave de API.

Agrega las bibliotecas requeridas a tu app

Después de autorizar a tu app para que llame a la API de ARCore, debes agregar bibliotecas a fin de habilitar las funciones geoespaciales en tu app.

  1. Ve a Editar > Configuración del proyecto > XR Plug-In Management > Extensiones de ARCore.
  2. En Características opcionales, selecciona Geoespacial.

Habilita las capacidades geoespaciales en la configuración de la sesión

Una vez que se habilite la funcionalidad geoespacial en tu app, habilita las capacidades geoespaciales en la configuración de la sesión de RA de la app para que pueda comunicarse con la API de ARCore:

  1. Asegúrate de que la carpeta Assets del proyecto contenga un objeto de secuencia de comandos ARCoreExtensionsConfig. Para crear una, haz clic con el botón derecho en el panel Assets y selecciona Create > XR > ARCore Extensions Config.
  2. Selecciona el objeto de secuencia de comandos ARCoreExtensionsConfig en tu carpeta Assets y establece el Modo geoespacial en Habilitado.

  3. Configura el objeto de juego ARCore Extensions para que use la configuración ARCoreExtensionsConfig. En el panel Hierarchy, busca el objeto de juego ARCore Extensions que creaste cuando configuraste las extensiones de ARCore y conecta el campo ARCore Extensions Config al objeto de secuencia de comandos ARCoreExtensionsConfig en tu carpeta Assets.

Solicitar al usuario que permita el uso de datos del dispositivo

Las apps que usan la API de ARCore Geospatial deben presentar al usuario un mensaje para confirmar la recepción de datos y permitir el uso de datos de su dispositivo. Consulta los Requisitos de privacidad del usuario para obtener más información.

Cómo comprobar la compatibilidad del dispositivo

No todos los dispositivos que admiten ARCore también admiten la API de Geospatial. Para verificar la compatibilidad del dispositivo del usuario, llama a AREarthManager.IsGeospatialModeSupported(). Si esto muestra FeatureSupported.Unsupported, no intentes configurar la sesión.

Cómo solicitar al usuario permisos de ubicación durante el tiempo de ejecución

Las extensiones de ARCore solicitan automáticamente los permisos de ubicación adecuados cuando se habilita el modo geoespacial en ARCoreExtensions.Update(). Si el usuario no otorga el permiso de ubicación precisa, no se reanuda la sesión y se produce un error de "permiso no otorgado". Este es un error de finalización y requiere un reinicio para volver a activar la solicitud de permiso.

Comprueba la disponibilidad geoespacial en la ubicación actual del dispositivo

Como la API de Geospatial usa una combinación de VPS y GPS para determinar una pose geoespacial, la API se puede usar siempre que el dispositivo pueda determinar su ubicación. En áreas con baja precisión de GPS, como espacios interiores y entornos urbanos densos, la API utilizará la cobertura de VPS para generar posturas de alta precisión. En condiciones típicas, se puede esperar que el VPS proporcione una precisión posicional de aproximadamente 5 metros y una precisión de rotación de 5 grados. Usa AREarthManager.CheckVpsAvailability() para determinar si una ubicación determinada tiene cobertura de VPS.

La API de Geospatial también se puede usar en áreas que no tienen cobertura de VPS. En entornos al aire libre con pocas obstrucciones elevadas o ninguna, el GPS puede ser suficiente para generar una postura con gran precisión.

Próximos pasos