Tente hospedar e resolver os Cloud Anchors nos apps de exemplo cloud_anchor_java
e persistent_cloud_anchor_java
.
Qual app de exemplo você deve usar?
As âncoras do Cloud são fixas hospedadas no endpoint da nuvem da API ARCore. Essa API permite que os usuários compartilhem experiências no mesmo app. Os Cloud Anchors permanentes são âncoras 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 da API ARCore. Como ele não usa um back-end do Firebase para compartilhar IDs do Cloud Anchor entre dispositivos, é muito mais fácil de instalar e executar.cloud_anchor_java
é uma implementação de um caso de uso multiplayer. Ele usa uma chave de API para autorizar chamadas da API ARCore.
Pré-requisitos
- Entenda como funcionam as Âncoras e as Cloud Anchors.
- Instale e configure o SDK do ARCore para Android.
Requisitos
Hardware
- Um dispositivo com suporte para 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 versão 7.0 da Android SDK Platform (nível 24 da API) ou mais recente.
- O SDK do ARCore para Android, que pode ser recebido de duas maneiras:
- Faça o download no 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 samples > 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 samples > cloud_anchor_java e clique em Abrir.
Configurar o compartilhamento de IDs do Cloud Anchor
Os IDs do Cloud Anchor são strings que identificam os Cloud Anchors hospedados. Elas são usadas 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. Você não precisa fazer nada aqui.
Âncoras do Cloud
O app de exemplo cloud_anchor_java
usa os Realtime Databases do Firebase para compartilhar IDs do Cloud Anchor entre dispositivos. Você pode usar uma solução diferente nos seus próprios apps.
- Adicione o Firebase manualmente ao app.O nome do pacote
cloud_anchor_java
écom.google.ar.core.examples.java.cloudanchor
. Ele pode ser encontrado emmain/AndroidManifest.xml
. - Faça o download do arquivo
google-services.json
que você gerou quando adicionou o Firebase ao seu app. - Crie um Realtime Database com o Firebase.
- No Android Studio, adicione o arquivo
google-services.json
ao diretórioapp
do projeto.
Autorizar chamadas da API ARCore
Autorize chamadas à API ARCore para hospedar e resolver o Cloud Anchors no seu app. Siga as etapas em Usar a API ARCore no Google Cloud e use a autorização sem chave para âncoras permanentes do Cloud ou autorização de chave de API para Cloud Anchors.
Criar e executar o app de exemplo
Âncoras do Cloud permanentes
Executar o app
- Verifique se o dispositivo ativou as opções do desenvolvedor e a depuração USB.
- Conecte o dispositivo via USB à sua máquina de desenvolvimento.
- No Android Studio, selecione seu dispositivo como o destino da implantação e clique em Run.
O persistent_cloud_anchor_java
será iniciado no seu 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 colocar uma âncora em um dos planos detectados.
- Toque no botão HOST para hospedar a âncora inserida. 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.
Quando a solicitação de host funciona, uma âncora é definida no local inserido e um ID do Cloud Anchor é atribuído a ela. Se a solicitação do host for bem-sucedida, o app exibirá um código de sala. Você pode usar esse código para acessar as âncoras hospedadas anteriormente nesta sala em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVER e digite um código de sala retornado para acessar os anúncios âncora hospedados nesta sala. Isso envia uma solicitação de resolução para a API ARCore, que retornará os códigos 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 o dispositivo via USB à sua máquina de desenvolvimento.
- No Android Studio, selecione seu dispositivo como o destino da implantação e clique em Run.
O cloud_anchor_java
será iniciado no seu 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
. Para conseguir o valor correto dessa propriedade, verifique se o Realtime Database foi criado e faça o download do google-services.json
.
Colocar uma âncora
- Quando o app começar a detectar planos, toque na tela para colocar uma âncora em um dos planos detectados.
- Toque no botão HOST para hospedar a âncora inserida. 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 inserido e atribui um ID do Cloud Anchors. Se a solicitação do host for bem-sucedida, o app exibirá um código de sala. Você pode usar esse código para acessar as âncoras hospedadas anteriormente nesta sala em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVER e digite um código de sala retornado para acessar os anúncios âncora hospedados nesta sala. Isso envia uma solicitação de resolução para a API ARCore, que retornará os códigos 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 Cloud Anchors com o codelab ARCore Cloud Anchors com âncoras permanentes do Cloud.
- Aprenda a incorporar o Cloud Anchors ao seu app com o guia do desenvolvedor sobre Cloud Anchors.
- Gerencie o Cloud Anchors fora do seu app ARCore usando a API Cloud Anchors Management.