Tutorial: Compartilhar Âncoras Espaciais do Azure entre as sessões e dispositivosTutorial: Share Azure Spatial Anchors across sessions and devices

Neste tutorial, você aprenderá a usar Âncoras Espaciais do Azure para criar âncoras durante uma sessão e, em seguida, localizá-las, no mesmo dispositivo ou em um diferente.In this tutorial, you'll learn how to use Azure Spatial Anchors to create anchors during one session and then locate them, on the same device or on a different one. Essas mesmas âncoras também poderiam ser localizadas por vários dispositivos no mesmo lugar e ao mesmo tempo.These same anchors could also be located by multiple devices in the same place and at the same time.

Persistência

As Âncoras Espaciais do Azure são um serviço de desenvolvedor multiplataforma para você criar experiências de realidade misturada usando objetos que persistem sua localização em todos os dispositivos ao longo do tempo.Azure Spatial Anchors is a cross-platform developer service that allows you to create mixed reality experiences using objects that persist their location across devices over time. Quando tiver terminado, você terá um aplicativo que pode ser implantado em dois ou mais dispositivos.When you're finished, you'll have an app that can be deployed to two or more devices. Âncoras Espaciais do Azure criadas por uma instância podem ser compartilhadas com outras.Azure Spatial Anchors created by one instance can be shared to the others.

Você aprenderá a:You'll learn how to:

  • Implante um aplicativo Web do ASP.NET Core no Azure que possa ser usado para compartilhar âncoras, armazenando-as na memória por um tempo.Deploy an ASP.NET Core Web App in Azure that can be used to share anchors, storing them in memory for a duration of time.
  • Configure a cena AzureSpatialAnchorsLocalSharedDemo dentro do exemplo do Unity de nossos inícios rápidos para aproveitar o aplicativo Web de Âncoras de Compartilhamento.Configure the AzureSpatialAnchorsLocalSharedDemo scene within the Unity Sample from our Quickstarts to take advantage of the Sharing Anchors Web App.
  • Implante e execute um ou mais dispositivos.Deploy and run to one or more devices.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Pré-requisitosPrerequisites

Para concluir este tutorial, verifique se você tem:To complete this tutorial, make sure you have:

Vale a pena notar que, embora você vá usar o Unity e o Aplicativo Web ASP.NET Core neste tutorial, é apenas para mostrar um exemplo de como compartilhar identificadores de Âncora Espacial do Azure em outros dispositivos.It's worth noticing that, although you'll be using Unity and an ASP.NET Core Web App in this Tutorial, it is only to show an example on how to share Azure Spatial Anchor identifiers across other devices. Você pode usar outras linguagens e tecnologias de back-end para atingir o mesmo objetivo.You can use other languages and back-end technologies to achieve the same goal. Além disso, o aplicativo Web do ASP.NET Core usado neste Tutorial tem uma dependência do SDK 2.2 do .NET Core.Also, the ASP.NET Core Web App used in this Tutorial has a dependency on .NET Core 2.2 SDK. Ele é executado sem problemas em Aplicativos Web do Azure normais (para Windows), mas atualmente não funciona em Aplicativos Web do Azure para Linux.It runs fine on regular Azure Web Apps (for Windows), but will currently not work on Azure Web Apps for Linux.

Criar um recurso Âncoras EspaciaisCreate a Spatial Anchors resource

Vá para o Portal do Azure.Go to the Azure portal.

No painel de navegação esquerdo do portal do Azure, clique em Criar um recurso.In the left navigation pane in the Azure portal, select Create a resource.

Use a caixa de pesquisa para Âncoras Espaciais.Use the search box to search for Spatial Anchors.

Pesquisar Âncoras Espaciais

Selecione Âncoras Espaciais.Select Spatial Anchors. Na caixa de diálogo, selecione Criar.In the dialog box, select Create.

No caixa de diálogo Conta de Âncoras Espaciais:In the Spatial Anchors Account dialog box:

  • Insira um nome de recurso exclusivos, usando caracteres alfanuméricos regulares.Enter a unique resource name, using regular alphanumeric characters.

  • Selecione a assinatura que você deseja anexar o recurso.Select the subscription that you want to attach the resource to.

  • Crie um grupo de recursos, selecionando Criar novo.Create a resource group by selecting Create new. Denomine-o como myResourceGroup e selecione OK.Name it myResourceGroup and select OK. Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Por exemplo, é possível excluir posteriormente todo o grupo de recursos com uma única etapa simples.For example, you can choose to delete the entire resource group in one simple step later.

  • Selecione um local (região) para criar o recurso.Select a location (region) in which to place the resource.

  • Selecione Novo para começar a criar o recurso.Select New to begin creating the resource.

    Criar um recurso

Depois que o recurso é criado, o portal do Azure mostra que a implantação foi concluída.After the resource is created, Azure Portal will show that your deployment is complete. Clique em Ir para o recurso.Click Go to resource.

Implantação concluída

Em seguida, você pode exibir as propriedades do recurso.Then, you can view the resource properties. Copiar o valor de ID da conta em um editor de texto, pois você precisará dele mais tarde.Copy the resource's Account ID value into a text editor because you'll need it later.

Propriedades de recurso

Em Configurações, selecione Chave.Under Settings, select Key. Cópia do valor de Chave primária em um editor de texto.Copy the Primary key value into a text editor. Esse valor é o Account Key.This value is the Account Key. Você precisará dela mais tarde.You'll need it later.

Chave de conta

Baixar o projeto de exemploDownload the sample project

Clone o repositório de exemplos executando o seguinte comando:Clone the samples repository by running the following command:

git clone https://github.com/Azure/azure-spatial-anchors-samples.git

Implantar seu Serviço de Compartilhamento de ÂncorasDeploy your Sharing Anchors Service

Abra o Visual Studio e abra o projeto na pasta Sharing\SharingServiceSample.Open Visual Studio, and open the project at the Sharing\SharingServiceSample folder.

Abra o assistente de publicaçãoOpen the publish wizard

No Gerenciador de Soluções, clique com o botão direito do mouse no projeto SharingService e selecione Publicar.In Solution Explorer, right-click the SharingService project and select Publish.

O assistente de publicação inicia.The Publish Wizard starts. Selecione Serviço de Aplicativo > Publicar para abrir a caixa de diálogo Criar Serviço de Aplicativo.Select App Service > Publish to open the Create App Service dialog box.

Entrar no AzureSign in to Azure

Na caixa de diálogo Criar Serviço de Aplicativo, selecione Adicionar uma conta e entre com sua assinatura do Azure.In the Create App Service dialog box, select Add an account and sign in to your Azure subscription. Se você já estiver conectado, selecione a conta que deseja na lista suspensa.If you're already signed in, select the account you want from the drop-down list.

Observação

Se você já estiver conectado, não selecione Criar ainda.If you're already signed in, don't select Create yet.

Criar um grupo de recursosCreate a resource group

Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Por exemplo, é possível excluir posteriormente todo o grupo de recursos com uma única etapa simples.For example, you can choose to delete the entire resource group in one simple step later.

Ao lado de Grupo de recursos, selecione Novo.Next to Resource Group, select New.

Nomeie o grupo de recursos myResourceGroup e selecione Ok.Name the resource group myResourceGroup and select OK.

Criar um plano de Serviço de AplicativoCreate an App Service plan

Um plano do Serviço de Aplicativo especifica o local, tamanho e recursos do farm de servidores Web que hospeda o aplicativo.An App Service plan specifies the location, size, and features of the web server farm that hosts your app. Você pode economizar dinheiro ao hospedar vários aplicativos configurando os aplicativos Web para compartilhar um único plano do Serviço de Aplicativo.You can save money when hosting multiple apps by configuring the web apps to share a single App Service plan.

Os Planos do Serviço de Aplicativo definem:App Service plans define:

  • Região (por exemplo: Europa Setentrional, Leste dos EUA ou Sudeste Asiático)Region (for example: North Europe, East US, or Southeast Asia)
  • Tamanho da instância (pequena, média ou grande)Instance size (small, medium, or large)
  • Contagem da escala (1 a 20 instâncias)Scale count (1 to 20 instances)
  • SKU (Gratuito, Compartilhado, Básico, Standard ou Premium)SKU (Free, Shared, Basic, Standard, or Premium)

Ao lado de Plano de Hospedagem, selecione Novo.Next to Hosting Plan, select New.

Na caixa de diálogo Configurar Plano de Hospedagem, use essas configurações:In the Configure Hosting Plan dialog box, use these settings:

ConfiguraçãoSetting Valor sugeridoSuggested value DESCRIÇÃODescription
Plano do Serviço de AplicativoApp Service Plan MySharingServicePlanMySharingServicePlan O nome do plano do Serviço de Aplicativo.Name of the App Service plan.
Local padrãoLocation Oeste dos EUAWest US O datacenter onde o aplicativo Web está hospedado.The datacenter where the web app is hosted.
TamanhoSize GrátisFree O tipo de preço determina os recursos de hospedagem.The pricing tier that determines hosting features.

Selecione OK.Select OK.

Publicar e publicar o aplicativo WebCreate and publish the web app

Em Nome do Aplicativo, digite um nome exclusivo do aplicativo (os caracteres válidos são a-z, 0-9 e -) ou aceite o nome exclusivo gerado automaticamente.In App Name, enter a unique app name (valid characters are a-z, 0-9, and -), or accept the automatically generated unique name. A URL do aplicativo Web é https://<app_name>.azurewebsites.net, em que <app_name> é o nome do aplicativo.The URL of the web app is https://<app_name>.azurewebsites.net, where <app_name> is your app name.

Clique em Criar para começar a criar os recursos do Azure.Select Create to start creating the Azure resources.

Após a conclusão do assistente, ele publicará o aplicativo Web ASP.NET Core no Azure e, em seguida, iniciará o aplicativo no seu navegador padrão.After the wizard finishes, it publishes the ASP.NET Core web app to Azure and then opens the app in your default browser.

Aplicativo Web ASP.NET publicado no Azure

O nome do aplicativo usado nesta seção é usado como o prefixo de URL no formato https://<app_name>.azurewebsites.net.The app name you used in this section is used as the URL prefix in the format https://<app_name>.azurewebsites.net. Anote essa URL, pois você precisará dela.Take note of this URL because you'll need it.

Implantar o aplicativo de exemploDeploy the sample app

O exemplo do Java Android dá suporte ao compartilhamento entre dispositivos.The Java android sample supports sharing across devices. Abra o arquivo SharedActivity.java na pasta de exemplos no Android Studio.Open the file SharedActivity.java from the samples folder in Android Studio. Insira a URL obtida na etapa anterior (em sua implantação do Azure do aplicativo Web ASP.NET) como o valor de SharingAnchorsServiceUrl no arquivo SharedActivity.java.Enter the url you obtained in the previous step (from your ASP.NET web app Azure deployment) as the value for SharingAnchorsServiceUrl in the SharedActivity.java file. Substitua o index.html na URL por api/anchors.Replace the index.html in the url with api/anchors. O resultado deve ser assim: https://<app_name>.azurewebsites.net/api/anchors.It should look like this: https://<app_name>.azurewebsites.net/api/anchors.

Implante o aplicativo em seu dispositivo.Deploy the app to your device. Depois que o aplicativo é iniciado, na caixa de diálogo Escolher uma demonstração, use as setas à esquerda ou direita para selecionar a opção LocalShare e, em seguida, toque em Ir! .Once the app starts, in the Choose A Demo dialog, use the left or right arrows to select the LocalShare option, and tap Go!. Siga as instruções no aplicativo.Follow the instructions in the app. Você pode optar por Criar e Compartilhar Âncora ou Localizar Âncora Compartilhada.You can select Create & Share Anchor or Locate Shared Anchor.

Criar e Compartilhar Âncora permite criar uma âncora e salvá-la em seu serviço de compartilhamento.Create & Share Anchor lets you create an anchor and save it to your sharing service. Em troca, você receberá um identificador para ela que pode ser usado para recuperá-la do serviço de compartilhamento.In return, you will get back an identifier for it that you can use to retrieve it from the sharing service. Depois disso, você poderá executar o segundo cenário, Localizar Âncora Compartilhada, de seu dispositivo ou um diferente.After this, you can then run the second scenario, Locate Shared Anchor, from either your device or a different one. Localizar Âncora Compartilhada permite que você localize âncoras compartilhadas anteriormente inserindo o identificador mencionado anteriormente.Locate Shared Anchor allows you to locate previously shared anchors by entering the identifier mentioned earlier. Depois de escolher seu cenário, o aplicativo fornecerá mais instruções sobre o que fazer.After you pick your scenario, the app will guide you with further instructions around what to do. Por exemplo, você será solicitado a mover seu dispositivo para coletar informações sobre o ambiente.For example, you'll be asked to move your device around to collect environment information. Mais adiante, você colocará uma âncora no mundo. Aguarde até que ela seja salva, inicie uma sessão e a localize.Later on, you'll place an anchor in the world, wait for it to save, start a new session, and then locate it.

Limpar recursosClean up resources

Nas etapas anteriores, você criou os recursos do Azure em um grupo de recursos.In the preceding steps, you created Azure resources in a resource group. Se você não espera precisar desses recursos no futuro, poderá excluí-los ao excluir o grupo de recursos.If you don't expect to need these resources in the future, you can delete them by deleting the resource group.

No menu do portal do Azure ou na página Inicial, selecione Grupos de Recursos e, na página Grupos de Recursos, selecione myResourceGroup.From the Azure portal menu or Home page, select Resource groups, and on the Resource groups page, select myResourceGroup.

Na página myResourceGroup, certifique-se de que os recursos listados são aqueles que deseja excluir.On the myResourceGroup page, make sure that the listed resources are the ones you want to delete.

Selecione Excluir, digite myResourceGroup na caixa de texto e selecione Excluir.Select Delete, type myResourceGroup in the text box, and then select Delete.

Próximas etapasNext steps

Neste tutorial, você implantou um aplicativo Web do ASP.NET Core no Azure e, em seguida, configurou e implantou um aplicativo Unity.In this tutorial, you've deployed an ASP.NET Core Web App in Azure, and then configured and deployed a Unity App. Você criou Âncoras Espaciais com o aplicativo e as compartilhou com outros dispositivos por meio de seu aplicativo Web do ASP.NET Core.You created Spatial Anchors with the app, and shared them with other devices by using your ASP.NET Core Web App.

Você pode melhorar seu Aplicativo Web ASP.NET Core para que ele use o Azure Cosmos DB para persistir o armazenamento de seus identificadores de Âncora Espacial compartilhada.You can improve your ASP.NET Core Web App so that it uses Azure Cosmos DB to persist the storage of your shared Spatial Anchor identifiers. Adicionar suporte ao Azure Cosmos DB permitirá que seu Aplicativo Web ASP.NET Core crie uma âncora hoje mesmo. Volte alguns dias depois para poder localizá-lo novamente usando o identificador de âncora armazenado em seu aplicativo Web.Adding Azure Cosmos DB support will allow your ASP.NET Core Web App to create an anchor today, and come back days later to be able to locate it again, by using the anchor identifier stored in your web app.