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. Debido a que no utiliza un backend de Firebase para compartir los IDs de Cloud Anchor entre dispositivos, es mucho más fácil poner en marcha.cloud_anchor_java
es una implementación de un caso de uso de modo multijugador. Usa una clave de API para autorizar las llamadas a la API de ARCore.
Requisitos previos
- Comprende cómo funcionan las anclas y las Cloud Anchors.
- Instala y configura el SDK de ARCore para Android.
Requisitos
Hardware
- Un dispositivo compatible con ARCore con la versión más reciente de los Servicios de Google Play para RA instalada
- Un cable USB para conectar el dispositivo a la 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 posterior
- El SDK de ARCore para Android, que puedes obtener de las siguientes dos maneras:
- Descárgala de GitHub y extráela 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
En Android Studio, haz clic en Open.
Navega hasta la ubicación en la que está almacenado el directorio arcore-android-sdk en tu equipo. No abras toda la carpeta del SDK. En su lugar, ve a muestras > persistent_cloud_anchor_java y haz clic en persistent_cloud_anchor_java.
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 equipo. No abras toda la carpeta del SDK. En su lugar, ve a muestras > cloud_anchor_java y haz clic en Abrir.
Configura el uso compartido del ID de Cloud Anchor
Los ID de Cloud Anchor son strings que identifican las Cloud Anchors alojadas. Se usan 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 es necesario que realices ninguna acción aquí.
Cloud Anchors
La app de ejemplo cloud_anchor_java
usa Realtime Databases de Firebase para compartir los IDs de Cloud Anchor entre dispositivos. Puedes usar una solución diferente en tus propias apps.
- Agrega Firebase de forma manual a tu app. 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 en tiempo real con Firebase.
- En Android Studio, agrega el archivo
google-services.json
al directorioapp
de tu proyecto.
Autoriza las llamadas a la API de ARCore
Autorizar las llamadas a la API de ARCore para alojar y resolver Cloud Anchors en tu . Sigue los pasos del artículo Usa la API de ARCore en Google Cloud y usa Keyless autorización para Persistent Cloud Anchors o autorización de clave 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 el dispositivo a tu máquina de desarrollo por USB.
- En Android Studio, selecciona tu dispositivo como destino de la implementación y haz clic en Run.
Se debería iniciar persistent_cloud_anchor_java
en tu dispositivo y pedirle a ARCore que detecte los aviones frente a la cámara del dispositivo.
Si la autorización de Google Cloud falla, consulta Pasos para solucionar problemas.
Cómo colocar 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 debería mostrar un código de habitación. Puedes usar este código para acceder a las anclas alojadas con anterioridad para esta sala desde cualquier dispositivo.
Resuelve un ancla
- Presiona RESOLVER y, luego, ingresa el código de habitación 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
usará estos IDs 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 el dispositivo a tu máquina de desarrollo por USB.
- En Android Studio, selecciona tu dispositivo como destino de la implementación y haz clic en Run.
Se debería iniciar cloud_anchor_java
en tu dispositivo y pedirle a ARCore que detecte los aviones 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 de que se descargue google-services.json
.
Cómo colocar 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 debería mostrar un código de habitación. Puedes usar este código para acceder a las anclas alojadas con anterioridad para esta sala desde cualquier dispositivo.
Resuelve un ancla
- Presiona RESOLVER y, luego, ingresa el código de habitación 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
usará estos IDs para renderizar objetos 3D adjuntos a las anclas alojadas.
¿Qué sigue?
- Crea una app de Cloud Anchors con el codelab Cloud Anchors de ARCore con Cloud Anchors persistentes.
- 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.