Guía de inicio rápido de Cloud Anchors para Android

Prueba el hosting y la resolución de Cloud Anchors en las apps de ejemplo cloud_anchor_java y persistent_cloud_anchor_java.

¿Qué app de ejemplo deberías usar?

Las Cloud Anchors son anclas que se alojan en el extremo de la nube de la API de ARCore. Esta API permite que los usuarios compartan experiencias en la misma app. Los Cloud Anchors persistentes son Cloud Anchors que se pueden alojar durante más de 24 horas.

  • persistent_cloud_anchor_java es una implementación de un caso de uso de proyecto colaborativo. Utiliza la autorización sin clave para autorizar las llamadas a la API de ARCore. Como no usa un backend de Firebase para compartir los IDs de Cloud Anchor entre dispositivos, es mucho más fácil comenzar a usarlo.
  • cloud_anchor_java es una implementación de un caso de uso para varios jugadores. Usa una clave de API para autorizar las llamadas a la API de ARCore.

Requisitos previos

Requisitos

Hardware

Software

  • Android Studio versión 3.0 o posterior con la versión 7.0 (nivel de API 24) o posterior de la plataforma del SDK de Android
  • El SDK de ARCore para Android, que puedes obtener de una de las siguientes dos maneras:
    • Descárgalo de GitHub y extráelo en tu máquina.
    • Clona el repositorio con el siguiente comando:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Abre la app de ejemplo en Android Studio

El SDK de ARCore proporciona las apps de ejemplo cloud_anchor_java y persistent_cloud_anchor_java para demostrar la funcionalidad de Cloud Anchors. Sigue estos pasos para abrir las apps en Android Studio.

Cloud Anchors persistentes

  1. En Android Studio, haz clic en Open.

  2. Navega al lugar donde se almacena el directorio arcore-android-sdk en tu máquina. No abras toda la carpeta del SDK. En su lugar, ve a samples > persistent_cloud_anchor_java y haz clic en Open.

Cloud Anchors

  1. En Android Studio, haz clic en Open.

  2. Navega al lugar donde se almacena el directorio arcore-android-sdk en tu máquina. No abras toda la carpeta del SDK. En su lugar, ve a samples > cloud_anchor_java y haz clic en Open.

Configura el uso compartido de IDs de Cloud Anchor

Los IDs de Cloud Anchor son cadenas que identifican las Cloud Anchors alojadas. Se usan para resolver o renderizar los objetos 3D adjuntos a los anclajes alojados.

Cloud Anchors persistentes

El uso compartido de IDs de Cloud Anchor se mantiene de forma local en la app, por lo que no necesitas hacer nada aquí.

Cloud Anchors

La app de ejemplo cloud_anchor_java usa las bases de datos en tiempo real de Firebase para compartir IDs de Cloud Anchor entre dispositivos. Puedes usar una solución diferente en tus propias apps.

  1. Agrega Firebase a tu app de forma manual. El nombre del paquete cloud_anchor_java es com.google.ar.core.examples.java.cloudanchor. Puedes encontrarlo en main/AndroidManifest.xml.
  2. Descarga el archivo google-services.json que generaste cuando agregaste Firebase a tu app.
  3. Crea una Realtime Database con Firebase.
  4. En Android Studio, agrega el archivo google-services.json al directorio app de tu proyecto.

Autoriza llamadas a la API de ARCore

Autoriza las llamadas a la API de ARCore para alojar y resolver Cloud Anchors para tu app. Sigue los pasos que se indican en Usa la API de ARCore en Google Cloud y usa la autorización sin clave para los Cloud Anchors persistentes o la autorización con clave de API para los Cloud Anchors.

Cómo compilar y ejecutar la app de muestra

Cloud Anchors persistentes

Ejecuta la app

  1. Asegúrate de que tu dispositivo tenga habilitadas las opciones para desarrolladores y la depuración por USB.
  2. Conecta el dispositivo a la máquina de desarrollo a través de un cable USB.
  3. En Android Studio, selecciona tu dispositivo como objetivo de implementación y haz clic en Run.

persistent_cloud_anchor_java debería iniciarse en tu dispositivo y solicitarle a ARCore que detecte los planos frente a la cámara del dispositivo.

Si falla la autorización de Google Cloud, consulta los pasos para solucionar problemas.

Cómo colocar un ancla

  1. Una vez que la app comience a detectar planos, presiona la pantalla para colocar un ancla en uno de los planos detectados.
  2. Presiona el botón HOST para alojar el ancla colocada. Esto envía una solicitud de host a la API de ARCore, que incluye datos que representan la posición del ancla en relación con las características visuales cercanas.

Una solicitud de alojamiento exitosa establece un anclaje en la ubicación colocada y le asigna un ID de Cloud Anchor. Si la solicitud del host es exitosa, la app debería mostrar un código de sala. Puedes usar este código para acceder a los anclajes alojados anteriormente para esta sala en cualquier dispositivo.

Cómo resolver un ancla

  1. Presiona RESOLVE y, luego, ingresa un código de sala que se haya devuelto anteriormente para acceder a los anclajes alojados en esta sala. Esto envía una solicitud de resolución a la API de ARCore, que devuelve los IDs de todos los anclajes alojados actualmente en la habitación. persistent_cloud_anchor_java usará estos IDs para renderizar objetos 3D adjuntos a las anclas alojadas.

Cloud Anchors

Ejecuta la app

  1. Asegúrate de que tu dispositivo tenga habilitadas las opciones para desarrolladores y la depuración por USB.
  2. Conecta el dispositivo a la máquina de desarrollo a través de un cable USB.
  3. En Android Studio, selecciona tu dispositivo como objetivo de implementación y haz clic en Run.

cloud_anchor_java debería iniciarse en tu dispositivo y solicitarle a ARCore que detecte los planos frente a la cámara del dispositivo.

Error: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

Si encuentras este error, asegúrate de que la propiedad firebase_url esté presente en google-services.json. Para obtener el valor correcto de esta propiedad, asegúrate de que se haya creado Realtime Database y descarga google-services.json.


Cómo colocar un ancla

  1. Una vez que la app comience a detectar planos, presiona la pantalla para colocar un ancla en uno de los planos detectados.
  2. Presiona el botón HOST para alojar el ancla colocada. Esto envía una solicitud de host a la API de ARCore, que incluye datos que representan la posición del ancla en relación con las características visuales cercanas.

Una solicitud de alojamiento exitosa establece un ancla en la ubicación colocada y le asigna un ID de Cloud Anchor. Si la solicitud del host es exitosa, la app debería mostrar un código de sala. Puedes usar este código para acceder a los anclajes alojados anteriormente para esta sala en cualquier dispositivo.

Cómo resolver un ancla

  1. Presiona RESOLVE y, luego, ingresa un código de sala que se haya devuelto anteriormente para acceder a los anclajes alojados en esta sala. Esto envía una solicitud de resolución a la API de ARCore, que devuelve los IDs de todos los anclajes alojados actualmente en la habitación. cloud_anchor_java usará estos IDs para renderizar objetos 3D adjuntos a las anclas alojadas.

Próximos pasos