Teste a hospedagem e a resolução de âncoras do Cloud nos apps de exemplo cloud_anchor_java e persistent_cloud_anchor_java.
Qual app de exemplo usar?
As âncoras do Cloud são âncoras que são hospedadas no endpoint de 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 a autorização sem chave para autorizar chamadas da API ARCore. Como não usa um back-end do Firebase para compartilhar IDs de âncoras do Cloud entre dispositivos, é muito mais fácil começar a usar.cloud_anchor_javaé uma implementação de um caso de uso para vários jogadores. Ele usa uma chave de API para autorizar chamadas da API ARCore.
Pré-requisitos
- Entenda como as âncoras e as â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 plataforma do SDK do Android versão 7.0 (nível 24 da API) ou mais recente
- O SDK do ARCore para Android, que pode ser acessado de duas maneiras:
- Faça o download no GitHub e extraia 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 das âncoras do Cloud. Siga estas etapas para abrir os apps no Android Studio.
Âncoras do Cloud permanentes
No Android Studio, clique em Open.
Navegue até o local em que o diretório arcore-android-sdk está armazenado na sua máquina. Não abra a pasta inteira do SDK. Em vez disso, acesse samples > persistent_cloud_anchor_java e clique em Open.
Âncoras do Cloud
No Android Studio, clique em Open.
Navegue até o local em que o diretório arcore-android-sdk está armazenado na sua máquina. Não abra a pasta inteira do SDK. Em vez disso, acesse samples > cloud_anchor_java e clique em Open.
Configurar o compartilhamento de IDs de âncoras do Cloud
Os IDs de âncoras do Cloud são strings que identificam as â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 de IDs de âncoras do Cloud é 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 de âncoras do Cloud entre dispositivos. Você pode usar uma solução diferente nos seus próprios apps.
- Adicione o Firebase ao seu app manualmente. 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.jsongerado quando você adicionou o Firebase ao seu app. - Crie um Realtime Database com o Firebase.
- No Android Studio, adicione o arquivo
google-services.jsonao diretórioappdo seu projeto.
Autorizar chamadas da API ARCore
Autorize chamadas para a 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 autorização sem chave para âncoras permanentes do Cloud ou a autorização de chave de API para âncoras do Cloud.
Criar e executar o app de exemplo
Âncoras do Cloud permanentes
Executar o app
- Verifique se as opções de desenvolvedor e a depuração USB estão ativadas no dispositivo.
- Conecte o dispositivo à máquina de desenvolvimento via USB.
- No Android Studio, selecione o dispositivo como destino de 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 do dispositivo.
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 colocada. 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 colocado e atribui a ela um ID de âncora do Cloud. Se a solicitação de host for bem-sucedida, o app vai mostrar um código de sala. Você pode usar esse código para acessar âncoras hospedadas anteriormente para essa sala em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVE e insira um código de sala retornado anteriormente para acessar as âncoras hospedadas nessa sala. Isso envia uma solicitação de resolução para a API ARCore, que retorna os IDs de todas as âncoras hospedadas no momento na sala. O
persistent_cloud_anchor_javavai usar esses IDs para renderizar objetos 3D anexados às âncoras hospedadas.
Âncoras do Cloud
Executar o app
- Verifique se as opções de desenvolvedor e a depuração USB estão ativadas no dispositivo.
- Conecte o dispositivo à máquina de desenvolvimento via USB.
- No Android Studio, selecione o dispositivo como destino de 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 do dispositivo.
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 receber o valor correto dessa propriedade, verifique se o Realtime Database foi criado e faça o download de 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 colocada. 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 colocado e atribui a ela um ID de âncora do Cloud. Se a solicitação de host for bem-sucedida, o app vai mostrar um código de sala. Você pode usar esse código para acessar âncoras hospedadas anteriormente para essa sala em qualquer dispositivo.
Resolver uma âncora
- Toque em RESOLVE e insira um código de sala retornado anteriormente para acessar as âncoras hospedadas nessa sala. Isso envia uma solicitação de resolução para a API ARCore, que retorna os IDs de todas as âncoras hospedadas no momento na sala. O
cloud_anchor_javavai usar esses IDs para renderizar objetos 3D anexados às âncoras hospedadas.
Próximas etapas
- Crie um app de âncoras do Cloud com o codelab Âncoras do Cloud do ARCore com âncoras permanentes do Cloud.
- Aprenda a incorporar âncoras do Cloud no seu app com o guia do desenvolvedor de âncoras do Cloud.
- Gerencie âncoras do Cloud fora do seu app ARCore usando a API Management de âncoras do Cloud.