Essayez d'héberger et de résoudre des ancres cloud dans les exemples d'applications cloud_anchor_java et persistent_cloud_anchor_java.
Quelle application exemple utiliser ?
Les ancres cloud sont des ancres hébergées sur le point de terminaison cloud de l'API ARCore. Cette API permet aux utilisateurs de partager des expériences dans la même application. Les ancres cloud persistantes sont des ancres cloud qui peuvent être hébergées pendant plus de 24 heures.
persistent_cloud_anchor_javaest une implémentation d'un cas d'utilisation de projet collaboratif. Elle utilise l'autorisation sans clé pour autoriser les appels d'API ARCore. Comme elle n'utilise pas de backend Firebase pour partager les ID d'ancre cloud entre les appareils, elle est beaucoup plus facile à configurer et à exécuter.cloud_anchor_javaest une implémentation d'un cas d'utilisation multijoueur. Elle utilise une clé API pour autoriser les appels d'API ARCore.
Prérequis
- Comprendre le fonctionnement des ancres et des ancres cloud.
- Installer et configurer le SDK ARCore pour Android.
Conditions requises
Matériel
- Un appareil compatible avec ARCore sur lequel est installée la dernière version des services Google Play pour la RA
- Un câble USB pour connecter l'appareil à votre ordinateur de développement
Logiciel
- Android Studio version 3.0 ou ultérieure avec la plate-forme SDK Android version 7.0 (niveau d'API 24) ou ultérieure
- Le SDK ARCore pour Android, que vous pouvez obtenir de deux manières :
- Téléchargez-le depuis GitHub et extrayez-le sur votre ordinateur.
- Clonez le dépôt à l'aide de la commande suivante :
git clone https://github.com/google-ar/arcore-android-sdk.git
Ouvrir l'application exemple dans Android Studio
Le SDK ARCore fournit les exemples d'applications cloud_anchor_java et persistent_cloud_anchor_java pour illustrer la fonctionnalité des ancres cloud. Suivez ces étapes pour ouvrir les applications dans Android Studio.
Ancres cloud persistantes
Dans Android Studio, cliquez sur Open (Ouvrir).
Accédez à l'emplacement où le répertoire arcore-android-sdk est stocké sur votre ordinateur. N'ouvrez pas l'intégralité du dossier du SDK. Accédez plutôt à samples > persistent_cloud_anchor_java, puis cliquez sur Open (Ouvrir).
Ancres cloud
Dans Android Studio, cliquez sur Open (Ouvrir).
Accédez à l'emplacement où le répertoire arcore-android-sdk est stocké sur votre ordinateur. N'ouvrez pas l'intégralité du dossier du SDK. Accédez plutôt à samples > cloud_anchor_java, puis cliquez sur Open (Ouvrir).
Configurer le partage d'ID d'ancre cloud
Les ID d'ancre cloud sont des chaînes qui identifient les ancres cloud hébergées. Ils sont utilisés pour résoudre ou afficher les objets 3D associés aux ancres hébergées.
Ancres cloud persistantes
Le partage d'ID d'ancre cloud est géré localement dans l'application. Aucune action n'est requise de votre part ici.
Ancres cloud
L'application exemple cloud_anchor_java utilise les bases de données en temps réel de Firebase pour partager les ID d'ancre cloud entre les appareils. Vous pouvez utiliser une autre solution dans vos propres applications.
- Ajoutez manuellement Firebase à votre application. Le nom du package
cloud_anchor_javaestcom.google.ar.core.examples.java.cloudanchor. Vous le trouverez dansmain/AndroidManifest.xml. - Téléchargez le fichier
google-services.jsonque vous avez généré lorsque vous avez ajouté Firebase à votre application. - Créez une base de données Realtime Database avec Firebase.
- Dans Android Studio, ajoutez le fichier
google-services.jsonau répertoireappde votre projet.
Autoriser les appels d'API ARCore
Autorisez les appels à l'API ARCore pour héberger et résoudre les ancres cloud de votre application. Suivez les étapes décrites dans Utiliser l'API ARCore sur Google Cloud et utilisez l'autorisation sans clé pour les ancres cloud persistantes ou l'autorisation par clé API pour les ancres cloud.
Créer et exécuter l'application exemple
Ancres cloud persistantes
Exécuter l'application
- Assurez-vous que les options pour les développeurs et le débogage USB sont activés sur votre appareil.
- Connectez votre appareil à votre ordinateur de développement via un câble USB.
- Dans Android Studio, sélectionnez votre appareil comme cible de déploiement, puis cliquez sur Run (Exécuter).
persistent_cloud_anchor_java doit se lancer sur votre appareil, invitant ARCore à détecter les plans devant l'appareil photo de l'appareil.
Si l'autorisation Google Cloud échoue, consultez les étapes de dépannage.
Placer une ancre
- Une fois que l'application commence à détecter des plans, appuyez sur l'écran pour placer une ancre sur l'un des plans détectés.
- Appuyez sur le bouton HOST (Héberger) pour héberger l'ancre placée. Cela envoie une requête d'hôte à l'API ARCore, qui inclut des données représentant la position de l'ancre par rapport aux caractéristiques visuelles à proximité.
Une requête d'hôte réussie établit une ancre à l'emplacement placé et lui attribue un ID d'ancre cloud. Si la requête d'hôte aboutit, l'application doit afficher un code de salle. Vous pouvez utiliser ce code pour accéder aux ancres précédemment hébergées pour cette salle sur n'importe quel appareil.
Résoudre une ancre
- Appuyez sur RESOLVE (Résoudre) et saisissez un code de salle renvoyé précédemment pour accéder aux ancres hébergées dans cette salle. Cela envoie une requête de résolution à l'API ARCore, qui renvoie les ID de toutes les ancres actuellement hébergées dans la salle.
persistent_cloud_anchor_javautilisera ces ID pour afficher les objets 3D associés aux ancres hébergées.
Ancres cloud
Exécuter l'application
- Assurez-vous que les options pour les développeurs et le débogage USB sont activés sur votre appareil.
- Connectez votre appareil à votre ordinateur de développement via un câble USB.
- Dans Android Studio, sélectionnez votre appareil comme cible de déploiement, puis cliquez sur Run (Exécuter).
cloud_anchor_java doit se lancer sur votre appareil, invitant ARCore à détecter les plans devant l'appareil photo de l'appareil.
Erreur : com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance
Si vous rencontrez cette erreur, assurez-vous que la propriété firebase_url est présente dans google-services.json. Vous pouvez obtenir la valeur correcte de cette propriété en vous assurant que la base de données Realtime Database a été créée et en téléchargeant google-services.json.
Placer une ancre
- Une fois que l'application commence à détecter des plans, appuyez sur l'écran pour placer une ancre sur l'un des plans détectés.
- Appuyez sur le bouton HOST (Héberger) pour héberger l'ancre placée. Cela envoie une requête d'hôte à l'API ARCore, qui inclut des données représentant la position de l'ancre par rapport aux caractéristiques visuelles à proximité.
Une requête d'hôte réussie établit une ancre à l'emplacement placé et lui attribue un ID d'ancre cloud. Si la requête d'hôte aboutit, l'application doit afficher un code de salle. Vous pouvez utiliser ce code pour accéder aux ancres précédemment hébergées pour cette salle sur n'importe quel appareil.
Résoudre une ancre
- Appuyez sur RESOLVE (Résoudre) et saisissez un code de salle renvoyé précédemment pour accéder aux ancres hébergées dans cette salle. Cela envoie une requête de résolution à l'API ARCore, qui renvoie les ID de toutes les ancres actuellement hébergées dans la salle.
cloud_anchor_javautilisera ces ID pour afficher les objets 3D associés aux ancres hébergées.
Étapes suivantes
- Créez une application d'ancres cloud avec l'atelier de programmation ARCore Cloud Anchors avec ancres cloud persistantes.
- Découvrez comment intégrer des ancres cloud à votre application grâce au guide du développeur Cloud Anchors.
- Gérez les ancres cloud en dehors de votre application ARCore à l'aide de l'API Cloud Anchors Management.