Teste a hospedagem e a resolução de Cloud Anchors nos apps de exemplo cloud_anchor_java
e persistent_cloud_anchor_java
.
Qual app de exemplo você deve usar?
Os Cloud Anchors são âncoras hospedadas no endpoint da nuvem da API ARCore. Essa API permite que os usuários compartilhem experiências no mesmo app. As âncoras permanentes do Cloud são âncoras do Cloud que podem ser hospedadas por mais de 24 horas.
persistent_cloud_anchor_java
é uma implementação de um caso de uso de projeto colaborativo. Ele usa autorização sem chave para autorizar chamadas de API do ARCore. Como ele não usa um back-end do Firebase para compartilhar IDs do Cloud Anchor entre dispositivos, é muito mais fácil começar a usar.cloud_anchor_java
é uma implementação de um caso de uso multiplayer. Ele usa uma chave de API para autorizar chamadas de API do ARCore.
Pré-requisitos
- Entenda como as âncoras e os âncoras do Cloud funcionam.
- Instale e configure o SDK do ARCore para Android.
Requisitos
Hardware
- Um dispositivo compatível com o ARCore com a versão mais recente do Google Play Services para RA instalada
- Um cabo USB para conectar o dispositivo à máquina de desenvolvimento
Software
- Android Studio versão 3.0 ou mais recente com a Android SDK Platform versão 7.0 (nível 24 da API) ou mais recente
- O SDK do ARCore para Android, que você pode obter de duas maneiras:
- Faça o download pelo GitHub e extraia-o na sua máquina
- Clone o repositório com o seguinte comando:
git clone https://github.com/google-ar/arcore-android-sdk.git
Abrir o app de exemplo no Android Studio
O SDK do ARCore fornece os apps de exemplo cloud_anchor_java
e persistent_cloud_anchor_java
para demonstrar a funcionalidade do Cloud Anchors. Siga estas etapas para abrir os apps no Android Studio.
Âncoras do Cloud permanentes
No Android Studio, clique em Open.
Navegue até o local onde o diretório arcore-android-sdk está armazenado na sua máquina. Não abra toda a pasta do SDK. Em vez disso, acesse amostras > persistent_cloud_anchor_java e clique em Abrir.
Âncoras do Cloud
No Android Studio, clique em Open.
Navegue até o local onde o diretório arcore-android-sdk está armazenado na sua máquina. Não abra toda a pasta do SDK. Em vez disso, acesse amostras > cloud_anchor_java e clique em Abrir.
Configurar o compartilhamento do ID do Cloud Anchor
Os IDs do Cloud Anchor são strings que identificam âncoras do Cloud hospedadas. Eles são usados para resolver ou renderizar os objetos 3D anexados às âncoras hospedadas.
Âncoras do Cloud permanentes
O compartilhamento do ID do Cloud Anchor é mantido localmente no app. Não é necessário fazer nada aqui.
Âncoras do Cloud
O app de exemplo cloud_anchor_java
usa os bancos de dados em tempo real do Firebase para compartilhar IDs do Cloud Anchor entre dispositivos. É possível usar uma solução diferente nos seus próprios apps.
- Adicione o Firebase manualmente ao seu app.O nome do pacote
cloud_anchor_java
écom.google.ar.core.examples.java.cloudanchor
. Ele está disponível emmain/AndroidManifest.xml
. - Faça o download do arquivo
google-services.json
gerado ao adicionar o Firebase ao app. - Criar um Realtime Database com o Firebase.
- No Android Studio, adicione o arquivo
google-services.json
ao diretórioapp
do projeto.
Autorizar chamadas de API do ARCore
Autorize chamadas à API ARCore para hospedar e resolver âncoras do Cloud para seu app. Siga as etapas em Usar a API ARCore no Google Cloud e use a opção Sem chave autorização para Âncoras do Cloud Persistentes ou autorização de chave de API para do Cloud Anchors.
Criar e executar o aplicativo de amostra
Âncoras do Cloud permanentes
Executar o app
- Verifique se o dispositivo ativou as opções do desenvolvedor e a depuração USB.
- Conecte seu dispositivo via USB à máquina de desenvolvimento.
- No Android Studio, selecione seu dispositivo como destino da implantação e clique em Run.
O persistent_cloud_anchor_java
será iniciado no dispositivo, solicitando que o ARCore detecte os planos na frente da câmera.
Se a autorização do Google Cloud falhar, consulte as etapas de solução de problemas.
Colocar uma âncora
- Quando o app começar a detectar planos, toque na tela para fixar uma âncora em um deles.
- Toque no botão HOST para hospedar o âncora posicionado. Isso envia uma solicitação de host para a API ARCore, que inclui dados que representam a posição da âncora em relação aos recursos visuais próximos a ela.
Uma solicitação de host bem-sucedida estabelece uma âncora no local posicionado e atribui a ela um ID do Cloud Anchor. Se a solicitação do host for bem-sucedida, o app vai mostrar um código de ambiente. Você pode usar esse código para acessar âncoras hospedadas anteriormente neste ambiente em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVER e insira um código da sala retornado anteriormente para acessar os âncoras hospedados nesta sala. Isso envia uma solicitação de resolução para a API ARCore, que retorna os IDs de todas as âncoras atualmente hospedadas na sala. O
persistent_cloud_anchor_java
usará esses IDs para renderizar objetos 3D anexados às âncoras hospedadas.
Âncoras do Cloud
Executar o app
- Verifique se o dispositivo ativou as opções do desenvolvedor e a depuração USB.
- Conecte seu dispositivo via USB à máquina de desenvolvimento.
- No Android Studio, selecione seu dispositivo como destino da implantação e clique em Run.
O cloud_anchor_java
será iniciado no dispositivo, solicitando que o ARCore detecte os planos na frente da câmera.
Erro: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance
Se você encontrar esse erro, verifique se a propriedade firebase_url
está presente em google-services.json
. Você pode conseguir o valor correto dessa propriedade garantindo que o Realtime Database tenha sido criado e fazendo o download de google-services.json
.
Colocar uma âncora
- Quando o app começar a detectar planos, toque na tela para fixar uma âncora em um deles.
- Toque no botão HOST para hospedar o âncora posicionado. Isso envia uma solicitação de host para a API ARCore, que inclui dados que representam a posição da âncora em relação aos recursos visuais próximos a ela.
Uma solicitação de host bem-sucedida estabelece uma âncora no local posicionado e atribui a ela um ID do Cloud Anchors. Se a solicitação do host for bem-sucedida, o app vai mostrar um código de ambiente. Você pode usar esse código para acessar âncoras hospedadas anteriormente neste ambiente em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVER e insira um código da sala retornado anteriormente para acessar os âncoras hospedados nesta sala. Isso envia uma solicitação de resolução para a API ARCore, que retorna os IDs de todas as âncoras atualmente hospedadas na sala. O
cloud_anchor_java
usará esses IDs para renderizar objetos 3D anexados às âncoras hospedadas.
O que vem em seguida?
- Crie um app do Cloud Anchors com o codelab ARCore Cloud Anchors com Cloud Anchors.
- Saiba como incorporar o Cloud Anchors ao seu app com o guia para desenvolvedores do Cloud Anchors.
- Gerencie o Cloud Anchors fora do seu app ARCore usando a API Cloud Anchors Management.