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_javaes 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_javaes 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
- Comprende cómo funcionan los anclajes y los 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 Servicios de Google Play para RA instalada
- Un cable USB para conectar el dispositivo a tu máquina de desarrollo
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
En Android Studio, haz clic en Open.
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
En Android Studio, haz clic en Open.
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.
- Agrega Firebase a tu app de forma manual. El nombre del paquete
cloud_anchor_javaescom.google.ar.core.examples.java.cloudanchor. Puedes encontrarlo enmain/AndroidManifest.xml. - Descarga el archivo
google-services.jsonque generaste cuando agregaste Firebase a tu app. - Crea una Realtime Database con Firebase.
- En Android Studio, agrega el archivo
google-services.jsonal directorioappde 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
- Asegúrate de que tu dispositivo tenga habilitadas las opciones para desarrolladores y la depuración por USB.
- Conecta el dispositivo a la máquina de desarrollo a través de un cable USB.
- 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
- 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 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
- 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_javausará 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 la máquina de desarrollo a través de un cable USB.
- 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
- 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 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
- 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_javausará estos IDs para renderizar objetos 3D adjuntos a las anclas alojadas.
Próximos pasos
- Crea una app de Cloud Anchors con el codelab de 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.