Guia de início rápido do Cloud Anchors para Android

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

Requisitos

Hardware

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

  1. No Android Studio, clique em Open.

  2. 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

  1. No Android Studio, clique em Open.

  2. 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.

  1. Adicione o Firebase manualmente ao app.O nome do pacote cloud_anchor_java é com.google.ar.core.examples.java.cloudanchor. Ele pode ser encontrado em main/AndroidManifest.xml.
  2. Faça o download do arquivo google-services.json que você gerou quando adicionou o Firebase ao seu app.
  3. Crie um Realtime Database com o Firebase.
  4. No Android Studio, adicione o arquivo google-services.json ao diretório app 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

  1. Verifique se o dispositivo ativou as opções do desenvolvedor e a depuração USB.
  2. Conecte o dispositivo via USB à sua máquina de desenvolvimento.
  3. 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

  1. Quando o app começar a detectar planos, toque na tela para colocar uma âncora em um dos planos detectados.
  2. 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

  1. 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

  1. Verifique se o dispositivo ativou as opções do desenvolvedor e a depuração USB.
  2. Conecte o dispositivo via USB à sua máquina de desenvolvimento.
  3. 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

  1. Quando o app começar a detectar planos, toque na tela para colocar uma âncora em um dos planos detectados.
  2. 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

  1. 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?