Prueba alojar y resolver 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 nube de la API de ARCore. Esta API permite que los usuarios compartan experiencias en la misma app. Las Cloud Anchors persistentes son Cloud Anchors que se pueden alojar por más de 24 horas.
persistent_cloud_anchor_java
es una implementación de un caso de uso de un proyecto colaborativo. Usa la autorización sin clave para autorizar las llamadas a la API de ARCore. Dado que no utiliza un backend de Firebase para compartir los IDs de Cloud Anchor entre dispositivos, es mucho más fácil ponerlo en marcha.cloud_anchor_java
es una implementación de un caso de uso de multijugador. Usa una clave de API para autorizar las llamadas a la API de ARCore.
Requisitos previos
- Comprende cómo funcionan las anclas y Cloud Anchors.
- Instala y configura el SDK de ARCore para Android.
Requisitos
Hardware
- Un dispositivo compatible con ARCore que tenga instalada la versión más reciente de Servicios de Google Play para RA
- Un cable USB para conectar el dispositivo a tu máquina de desarrollo
Software
- Android Studio versión 3.0 o posterior con la plataforma del SDK de Android versión 7.0 (nivel de API 24) o una versión posterior
- El SDK de ARCore para Android, que puedes obtener de una de estas dos maneras:
- Descárgala de GitHub y extráela en tu máquina.
- Usa el siguiente comando para clonar el repositorio:
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
En Android Studio, haz clic en Open.
Navega hasta la ubicación en la que está almacenado 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 Abrir.
Cloud Anchors
En Android Studio, haz clic en Open.
Navega hasta la ubicación en la que está almacenado 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 ID de Cloud Anchor
Los IDs de Cloud Anchor son strings que identifican las Cloud Anchors alojadas. Se utilizan para resolver o renderizar los objetos 3D adjuntos a las anclas alojadas.
Cloud Anchors persistentes
El uso compartido de ID de Cloud Anchor se mantiene de forma local en la app. No deberás hacer nada aquí.
Cloud Anchors
La app de ejemplo cloud_anchor_java
usa Realtime Databases de Firebase para compartir los ID de Cloud Anchor entre dispositivos. Puedes usar una solución diferente en tus propias apps.
- Agrega Firebase a tu app de forma manual. El nombre del paquete
cloud_anchor_java
escom.google.ar.core.examples.java.cloudanchor
. Puedes encontrarlo enmain/AndroidManifest.xml
. - Descarga el archivo
google-services.json
que generaste cuando agregaste Firebase a tu app. - Crea una base de datos de Realtime Database con Firebase.
- En Android Studio, agrega el archivo
google-services.json
al directorioapp
de tu proyecto.
Autoriza las llamadas a la API de ARCore
Autoriza las llamadas a la API de ARCore a fin de 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 las Cloud Anchors persistentes o la autorización de claves de API para Cloud Anchors.
Cómo compilar y ejecutar la app de muestra
Cloud Anchors persistentes
Ejecuta la app
- Asegúrate de que tu dispositivo tenga habilitadas las opciones para desarrolladores y la depuración por USB.
- Conecta tu dispositivo a través de USB a tu máquina de desarrollo.
- En Android Studio, selecciona tu dispositivo como destino de implementación y haz clic en Run.
Se debería iniciar persistent_cloud_anchor_java
en tu dispositivo, lo que le indicará a ARCore que detecte los planos frente a la cámara del dispositivo.
Si la autorización de Google Cloud falla, consulta Pasos para solucionar problemas.
Coloca un ancla
- Una vez que la app comience a detectar planos, presiona la pantalla para colocar un ancla en uno de los planos detectados.
- 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 host correcta establece un ancla en la ubicación colocada y le asigna un ID de Cloud Anchor. Si la solicitud de host se realiza correctamente, la app debe mostrar un código de habitación. Puedes usar este código para acceder a las anclas alojadas anteriormente para esta sala en cualquier dispositivo.
Resolver un ancla
- Presiona RESOLVER y, luego, ingresa el código de sala que se mostró anteriormente para acceder a las anclas alojadas en esta sala. Esto envía una solicitud de resolución a la API de ARCore, que muestra los IDs de todas las anclas alojadas actualmente en la sala.
persistent_cloud_anchor_java
los utilizará para renderizar objetos 3D adjuntos a las anclas alojadas.
Cloud Anchors
Ejecuta la app
- Asegúrate de que tu dispositivo tenga habilitadas las opciones para desarrolladores y la depuración por USB.
- Conecta tu dispositivo a través de USB a tu máquina de desarrollo.
- En Android Studio, selecciona tu dispositivo como destino de implementación y haz clic en Run.
Se debería iniciar cloud_anchor_java
en tu dispositivo, lo que le indicará 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 descargues google-services.json
.
Coloca un ancla
- Una vez que la app comience a detectar planos, presiona la pantalla para colocar un ancla en uno de los planos detectados.
- 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 host correcta establece un ancla en la ubicación colocada y le asigna un ID de Cloud Anchors. Si la solicitud de host se realiza correctamente, la app debe mostrar un código de habitación. Puedes usar este código para acceder a las anclas alojadas anteriormente para esta sala en cualquier dispositivo.
Resolver un ancla
- Presiona RESOLVER y, luego, ingresa el código de sala que se mostró anteriormente para acceder a las anclas alojadas en esta sala. Esto envía una solicitud de resolución a la API de ARCore, que muestra los IDs de todas las anclas alojadas actualmente en la sala.
cloud_anchor_java
los utilizará para renderizar objetos 3D adjuntos a las anclas alojadas.
¿Qué sigue?
- Crea una app de Cloud Anchors con el codelab de Cloud Anchors de ARCore con Cloud Anchors persistente.
- Obtén información para incorporar Cloud Anchors en tu app con la guía para desarrolladores de Cloud Anchors.
- Administra Cloud Anchors fuera de tu app de ARCore con la API de Cloud Anchors Management.