A API ARCore Cloud Anchor ou o serviço ARCore Cloud Anchor oferecem recursos de âncoras na nuvem para seus apps iOS, permitindo que os usuários em dispositivos iOS e Android compartilhem experiências de RA.
Neste guia, mostramos como:
- Configurar seu ambiente de desenvolvimento para trabalhar com as Cloud Anchors
- Testar a hospedagem e a resolução de âncoras em um app de exemplo
Pré-requisitos
- Xcode versão 13.0 ou mais recente
- Cocoapods 1.4.0 ou mais recente, se estiver usando o Cocoapods
- Um dispositivo Apple compatível com o ARKit com o iOS 12.0 ou mais recente (é necessário ter o destino de implantação do iOS 12.0 ou mais recente)
Como usar as âncoras da nuvem
As etapas a seguir usam o app de exemplo do Cloud Anchors para mostrar as tarefas essenciais para configurar e criar um app compatível com o ARCore Cloud Anchors.
Conferir o app de exemplo do Cloud Anchors
- Clone ou faça o download do SDK do ARCore para iOS do GitHub para acessar o código de exemplo do app. 
- Abra uma janela do Terminal ou do Finder e navegue até a pasta em que você clonou ou fez o download do SDK. 
- O código de exemplo do app está em 
 - /arcore-ios-sdk-master/Examples/CloudAnchorExample.- O código de exemplo do app de âncoras do Cloud permanentes está em 
 - /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.
Configuração da sessão
O app de exemplo executa as seguintes tarefas importantes como parte da configuração da sessão:
- Como criar um GARSession
- Como criar e executar um ARSession
- Configurar um ARSessionDelegate.
- Transmitir ARFrames para oGARSessionno métodosession:didUpdateFrame:.
Configurar o compartilhamento de IDs do Cloud Anchor
O app de exemplo do Cloud Anchors usa o Firebase para compartilhar IDs do Cloud Anchor entre dispositivos. Você pode usar uma solução diferente nos seus apps.
Para configurar o banco de dados do Firebase no app de exemplo:
- Siga as instruções do Firebase para adicionar o Firebase ao seu app.
- Faça o download do arquivo GoogleService-Info.plistgerado como parte da adição do Firebase ao app.
- Ative o armazenamento do Firebase para o exemplo:
- Acesse o console do Firebase e selecione o projeto que você configurou para o app de exemplo.
- Selecione o painel Database.
- Na opção Realtime Database, clique em Get Started.
- O menu Security rules for Realtime Database é aberto.
- Para executar a amostra, selecione Start in test mode.
- Se você estiver usando o Firebase para um app que planeja publicar, use regras de segurança mais restritivas.
 
 
- No Xcode, adicione o arquivo GoogleService-Info.plistao app, ao lado deInfo.plist.
Configurar a API ARCore
Para usar o Cloud Anchors, primeiro configure a API ARCore para seu aplicativo.
Executar a atualização do pod
O app CloudAnchorExample vem com um Podfile pré-configurado com o
SDK do ARCore e as versões do iOS que você vai precisar. Para instalar essas dependências:
- Abra uma janela do Terminal e execute pod updatena pasta em que o projeto do Xcode está.
 Isso gera um arquivo.xcworkspaceque você vai usar mais tarde para criar e executar o app.
Consulte Adicionar o SDK do ARCore ao seu app
para saber como configurar o Podfile nos seus apps.
- Abra o arquivo - .xcworkspacedo projeto no Xcode.- Para evitar erros de build, verifique se você está criando com base no arquivo - .xcworkspacee não no arquivo- .xcodeproj.
Mudar o ID do pacote do app
No Xcode, mude o ID do pacote do app para que você possa assinar o app com sua equipe.
Criar e executar o app
- Conecte seu dispositivo e inicie o app no Xcode. 
- (Opcional) Se você estiver criando e executando o app de exemplo, consulte a seção a seguir para saber como usar o app para hospedar e resolver as Cloud Anchors. 
Testar o app de exemplo
- Crie e execute o app de exemplo usando o arquivo - .xcworkspacepara iniciá-lo no dispositivo.
- Se necessário, conceda permissões de câmera ao app. O ARKit vai começar a detectar planos na frente da câmera. 
- Toque em HOST para entrar no modo de hospedagem. Um código de sala para compartilhar âncoras hospedadas é gerado e aparece na tela. 
- Toque em um plano para começar a hospedar uma âncora de nuvem. - O app coloca um objeto Andy Android no plano e anexa uma âncora a ele.
- Uma solicitação de host é enviada para o endpoint da nuvem da API ARCore. A solicitação do host inclui dados que representam a posição da âncora em relação aos recursos visuais próximos a ela.
- Depois que a âncora é hospedada, ela recebe um ID que é usado para resolver âncoras de nuvem nesse espaço.
 
- Toque em RESOLVE e insira um código de sala para acessar as âncoras do Cloud hospedadas anteriormente para essa sala usando o mesmo dispositivo ou outro. - Uma solicitação de resolução é enviada para o endpoint da API ARCore na nuvem.
- A solicitação de resolução inclui um ID de âncora na nuvem. Se o ID corresponder a uma âncora hospedada e a localização for bem-sucedida, o servidor vai retornar a transformação da âncora nas suas coordenadas locais.
- O app de exemplo usa a transformação para adicionar a âncora à cena e renderizar objetos virtuais anexados a ela.
 
Adicionar o SDK do ARCore aos seus apps
Nos seus próprios apps, será necessário atualizar o Podfile para incluir o
SDK do ARCore e o versionamento do iOS com suporte. Para fazer isso:
- Adicione os seguintes - platforme- podao- Podfiledo projeto:- platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.50.0'
- Abra uma janela do Terminal e execute pod updatena pasta em que o projeto do Xcode está.
 Isso gera um arquivo.xcworkspaceque você usa para criar e executar o app.
Âncoras do Cloud permanentes
Conforme descrito em Hospedar uma âncora da nuvem com persistência,
é possível definir um tempo de vida útil de até 365 dias para a âncora da nuvem. O exemplo de código para
usar âncoras de nuvem persistentes está disponível no diretório /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
do SDK do ARCore para iOS do GitHub.
Próximas etapas
- Consulte o Guia para desenvolvedores do Cloud Anchors para iOS para conferir o código de exemplo e saber mais sobre como usar o Cloud Anchors nos seus apps. 
- Confira os detalhes na Referência da API ARCore para iOS.