Essayez d'héberger et de résoudre des ancres cloud dans les applications exemples cloud_anchor_java
et persistent_cloud_anchor_java
.
Quelle application exemple devez-vous 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_java
est une implémentation d'un cas d'utilisation de projet collaboratif. Elle utilise une autorisation sans clé pour autoriser les appels d'API ARCore. Comme il n'utilise pas de backend Firebase pour partager les ID d'ancre cloud entre les appareils, il est beaucoup plus facile d'être opérationnel.cloud_anchor_java
est une implémentation d'un cas d'utilisation multijoueur. Il utilise une clé API pour autoriser les appels d'API ARCore.
Prérequis
- Comprenez le fonctionnement des ancres et des ancres cloud.
- Installez et configurez le SDK ARCore pour Android.
Conditions requises
Matériel
- Un appareil compatible avec ARCore sur lequel la dernière version des Services Google Play pour la RA est installée
- Un câble USB pour connecter l'appareil à votre ordinateur de développement
Logiciel
- Android Studio version 3.0 ou ultérieure avec Android SDK Platform version 7.0 (niveau d'API 24) ou ultérieure
- Le SDK ARCore pour Android, disponible de deux manières différentes:
<ph type="x-smartling-placeholder">
- </ph>
- Téléchargez-le sur GitHub et extrayez-le sur votre machine
- 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 applications exemples cloud_anchor_java
et persistent_cloud_anchor_java
pour illustrer la fonctionnalité Cloud Anchors. 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 tout le dossier du SDK. Accédez plutôt à samples > persistent_cloud_anchor_java et cliquez sur persistent_cloud_anchor_java.
Cloud Anchors
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 tout le dossier du SDK. Accédez plutôt à samples > cloud_anchor_java et cliquez sur cloud_anchor_java.
Configurer le partage des ID d'ancre cloud
Les ID d'ancre cloud sont des chaînes qui identifient les ancres cloud hébergées. Ils permettent de résoudre ou d'afficher les objets 3D associés aux ancres hébergées.
Ancres cloud persistantes
Le partage des ID d'ancre cloud est géré localement dans l'application. Aucune action de votre part n'est requise.
Cloud Anchors
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_java
estcom.google.ar.core.examples.java.cloudanchor
. Vous le trouverez dansmain/AndroidManifest.xml
. - Téléchargez le fichier
google-services.json
que vous avez généré lorsque vous avez ajouté Firebase à votre application. - Créer une base de données Realtime Database avec Firebase
- Dans Android Studio, ajoutez le fichier
google-services.json
au répertoireapp
de votre projet.
Autoriser les appels d'API ARCore
Autorisez les appels à l'API ARCore pour héberger et résoudre des ancres cloud pour votre l'application. Suivez la procédure Utiliser l'API ARCore sur Google dans Google Cloud et utilisez des autorisation pour les ancres cloud persistantes ou l'autorisation par clé API pour Cloud Anchors.
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 à l'aide d'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
devrait se lancer sur votre appareil, demandant à ARCore de détecter les avions situés devant la caméra de l'appareil.
Si l'autorisation Google Cloud échoue, consultez la procédure de dépannage.
Placer une ancre
- Lorsque l'application commence à détecter des surfaces planes, appuyez sur votre écran pour placer une ancre sur l'un des plans détectés.
- Appuyez sur le bouton HOST pour héberger l'ancre placée. Une requête hôte est alors envoyée à l'API ARCore, qui inclut des données représentant la position de l'ancre par rapport aux éléments visuels à proximité.
Une requête hôte qui aboutit établit une ancre à l'emplacement placé et lui attribue un ID d'ancre cloud. Si la demande d'hôte aboutit, l'application doit afficher un code de chambre. 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 RÉSOUDRE et saisissez un code de salle précédemment renvoyé pour accéder aux points d'ancrage hébergés dans cette salle. Une requête de résolution est alors envoyée à l'API ARCore, qui renvoie les ID de toutes les ancres actuellement hébergées dans la salle.
persistent_cloud_anchor_java
utilisera ces ID pour afficher les objets 3D associés aux ancres hébergées.
Cloud Anchors
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 à l'aide d'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
devrait se lancer sur votre appareil, demandant à ARCore de détecter les avions situés devant la caméra 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
. Pour obtenir la valeur correcte de cette propriété, vérifiez que Realtime Database a bien été créé et téléchargez google-services.json
.
Placer une ancre
- Lorsque l'application commence à détecter des surfaces planes, appuyez sur votre écran pour placer une ancre sur l'un des plans détectés.
- Appuyez sur le bouton HOST pour héberger l'ancre placée. Une requête hôte est alors envoyée à l'API ARCore, qui inclut des données représentant la position de l'ancre par rapport aux éléments visuels à proximité.
Une requête hôte qui aboutit établit une ancre à l'emplacement placé et lui attribue un ID d'ancres cloud. Si la demande d'hôte aboutit, l'application doit afficher un code de chambre. 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 RÉSOUDRE et saisissez un code de salle précédemment renvoyé pour accéder aux points d'ancrage hébergés dans cette salle. Une requête de résolution est alors envoyée à l'API ARCore, qui renvoie les ID de toutes les ancres actuellement hébergées dans la salle.
cloud_anchor_java
utilisera ces ID pour afficher les objets 3D associés aux ancres hébergées.
Étapes suivantes
- Créez une application Cloud Anchors à l'aide de l'atelier de programmation ARCore Cloud Anchors avec ancres cloud persistantes.
- Découvrez comment intégrer Cloud Anchors à votre application à l'aide du 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.