Tutorial: Uso compartido de Spatial Anchors entre sesiones y dispositivos
Azure Spatial Anchors es un servicio multiplataforma para desarrolladores que permite crear experiencias de realidad mixta mediante objetos cuya ubicación persiste en todos los dispositivos a lo largo del tiempo.
En este tutorial se usa Azure Spatial Anchors para crear delimitadores durante una sesión y, a continuación, buscarlos en el mismo dispositivo o en otro. Estos mismos delimitadores los pueden encontrar varios dispositivos en el mismo lugar y al mismo tiempo.

En este tutorial, aprenderá a:
- Implementar una aplicación web de ASP.NET Core en Azure para compartir delimitadores y almacenarlos en memoria durante un tiempo determinado.
- Configurar la escena AzureSpatialAnchorsLocalSharedde demostración en el ejemplo de Unity de nuestros inicios rápidos para aprovechar las ventajas de la aplicación web de uso compartido de delimitadores.
- Implementar y ejecutar los delimitadores en uno o varios dispositivos.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Prerrequisitos
Antes de comenzar este tutorial, asegúrese de cumplir los siguientes requisitos previos:
- Haber leído Introducción a Azure Spatial Anchors.
- Haber completado uno de los inicios rápidos en 5 minutos.
Nota
Los inicios rápidos de Android/NDK e iOS/Swift no muestran actualmente las funcionalidades que se explican en este tutorial.
- Conocimientos básicos de:
- Un equipo Windows con Visual Studio 2019 o cualquier versión posterior con la carga de trabajo de desarrollo web y ASP.NET.
- SDK de .NET Core 3.1.
- Uno o varios de los siguientes dispositivos en los que implementar y ejecutar una aplicación: HoloLens, HoloLens 2, iOS o Android.
Nota
Aunque se va a usar Unity y una aplicación web de ASP.NET Core en este tutorial, es solo para mostrar un ejemplo sobre cómo compartir los identificadores de Azure Spatial Anchors con otros dispositivos. Se pueden usar otros lenguajes y tecnologías de back-end para lograr el mismo objetivo.
Creación de un recurso de Spatial Anchors
Vaya a Azure Portal.
En el menú izquierdo, seleccione Crear un recurso.
Use el cuadro de búsqueda para buscar Spatial Anchors.

Seleccione Spatial Anchors y, después, seleccione Crear.
En el panel Cuenta de Spatial Anchors, haga lo siguiente:
Escriba un nombre de recurso único con caracteres alfanuméricos normales.
Seleccione la suscripción a la que desea asociar el recurso.
Cree un grupo de recursos, para lo que debe seleccionar Crear nuevo. Asígnele el nombre myResourceGroup y luego seleccione Aceptar.
Un grupo de recursos es un contenedor lógico en el que los recursos de Azure, como aplicaciones web, bases de datos y cuentas de almacenamiento, se implementen y administren. Por ejemplo, más adelante puede elegir eliminar todo el grupo de recursos en un solo paso.
Seleccione la ubicación (región) en la que desea colocar el recurso.
Seleccione Crear para empezar a crear el recurso.

Una vez creado el recurso, Azure Portal muestra que se ha completado la implementación.

Haga clic en Go to resource (Ir al recurso). Ahora puede ver las propiedades del recurso.
Copie el valor de Id. de cuenta del recurso en un editor de texto para usarlo más adelante.

Copie también el valor de Account Domain (Dominio de cuenta) del recurso en un editor de texto para usarlo más adelante.

En Configuración, seleccione Clave de acceso. Copie el valor de Clave principal, Clave de cuenta, en un editor de texto para su uso posterior.

Descarga del proyecto de ejemplo
Ejecute los siguientes comandos para clonar el repositorio de ejemplos:
git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples
Implementación del servicio de delimitadores de uso compartido
Abra Visual Studio y el proyecto de la carpeta Sharing\SharingServiceSample.
Apertura del Asistente para publicación
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto SharingService y seleccione Publicar.
Se inicia el Asistente para publicación.
Seleccione App Service > Publicar para abrir el panel Crear servicio de aplicaciones.
Inicio de sesión en Azure
Inicie sesión en Azure Portal.
En el panel Crear servicio de aplicaciones, seleccione Agregar una cuenta e inicie sesión en su suscripción de Azure. Si ya ha iniciado sesión, seleccione la cuenta que desee en la lista desplegable.
Nota
Si ya ha iniciado sesión, no seleccione Crear todavía.
Crear un grupo de recursos
Un grupo de recursos es un contenedor lógico en el que los recursos de Azure, como aplicaciones web, bases de datos y cuentas de almacenamiento, se implementen y administren. Por ejemplo, más adelante puede elegir eliminar todo el grupo de recursos en un solo paso.
Junto a Grupo de recursos, seleccione Nuevo.
Asígnele el nombre myResourceGroup al grupo de recursos y seleccione Aceptar.
Creación de un plan de App Service
Un plan de App Service especifica la ubicación, el tamaño y las características de la granja de servidores web que hospeda la aplicación. Para ahorrar dinero cuando hospede varias aplicaciones, configure las aplicaciones web para que compartan un único plan de App Service.
Los planes de App Service definen lo siguiente:
- Región (por ejemplo: Norte de Europa, Este de EE. UU. o Sudeste de Asia)
- Tamaño de la instancia (pequeño, mediano o grande)
- Recuento de escala (de 1 a 20 instancias)
- SKU (Gratis, Compartido, Básico, Estándar o Premium)
Junto a Plan de hospedaje, seleccione Nuevo.
En el panel Configurar un plan de hospedaje, use estos valores:
| Parámetro | Valor sugerido | Descripción |
|---|---|---|
| Plan de App Service | MySharingServicePlan | Nombre del plan de App Service |
| Location | Oeste de EE. UU. | El centro de datos donde se hospeda la aplicación web. |
| Size | Gratuito | El plan de tarifa que determina las características de hospedaje. |
Seleccione Aceptar.
Creación y publicación de la aplicación web
En Nombre de la aplicación, escriba un nombre único para la aplicación. Los caracteres válidos son a-z, 0-9 y guiones; también puede aceptar el nombre único generado automáticamente. La dirección URL de la aplicación web es https://<app_name>.azurewebsites.net, donde <app_name> es el nombre de la aplicación.
Seleccione Crear para comenzar a crear los recursos de Azure.
Cuando el asistente finaliza, publica la aplicación web ASP.NET Core en Azure y la inicia en su explorador predeterminado.

El nombre de la aplicación que ha utilizado en esta sección se usa como prefijo de dirección URL con el formato https://<app_name>.azurewebsites.net. Copie esta la dirección URL en un editor de texto para utilizarla posteriormente.
Tener Visual Studio Code
Tendrá que crear un grupo de recursos y un plan de App Service antes de implementar el servicio en Visual Studio Code.
Inicio de sesión en Azure
Vaya a Azure Portal e inicie sesión en la suscripción de Azure.
Crear un grupo de recursos
Un grupo de recursos es un contenedor lógico en el que los recursos de Azure, como aplicaciones web, bases de datos y cuentas de almacenamiento, se implementen y administren. Por ejemplo, más adelante puede elegir eliminar todo el grupo de recursos en un solo paso.
Junto a Grupo de recursos, seleccione Nuevo.
Asígnele el nombre myResourceGroup al grupo de recursos y seleccione Aceptar.
Creación de un plan de App Service
Un plan de App Service especifica la ubicación, el tamaño y las características de la granja de servidores web que hospeda la aplicación. Para ahorrar dinero cuando hospede varias aplicaciones, configure las aplicaciones web para que compartan un único plan de App Service.
Los planes de App Service definen lo siguiente:
- Región (por ejemplo: Norte de Europa, Este de EE. UU. o Sudeste de Asia)
- Tamaño de la instancia (pequeño, mediano o grande)
- Recuento de escala (de 1 a 20 instancias)
- SKU (Gratis, Compartido, Básico, Estándar o Premium)
Junto a Plan de hospedaje, seleccione Nuevo.
En el panel Configurar un plan de hospedaje, use estos valores:
| Parámetro | Valor sugerido | Descripción |
|---|---|---|
| Plan de App Service | MySharingServicePlan | Nombre del plan de App Service |
| Location | Oeste de EE. UU. | El centro de datos donde se hospeda la aplicación web. |
| Size | Gratuito | El plan de tarifa que determina las características de hospedaje. |
Seleccione Aceptar.
Abra Visual Studio Code y el proyecto de la carpeta Sharing\SharingServiceSample.
Para implementar el servicio de uso compartido mediante Visual Studio Code, siga las instrucciones de Publicación de una aplicación de ASP.NET Core en Azure con Visual Studio Code. Comience en la sección "Abrirlo con Visual Studio Code". Tal como se explicó en el paso anterior, no cree otro proyecto de ASP.NET, porque ya tiene uno para implementarlo y publicarlo: SharingServiceSample.
Implementación de la aplicación de ejemplo
El ejemplo de Android de Java admite el uso compartido entre dispositivos.
En Android Studio, abra el archivo SharedActivity.java de la carpeta de ejemplos.
Escriba la dirección URL que copió en el paso anterior (de la implementación de Azure de la aplicación web de ASP.NET) como valor de SharingAnchorsServiceUrl en el archivo SharedActivity.java.
Reemplace index.html en la dirección URL por api/anchors. Debería ser parecido a este: https://<app_name>.azurewebsites.net/api/anchors.
Implemente la aplicación en el dispositivo.
Una vez que se inicia la aplicación, en el panel Choose A Demo (Elegir una demostración), use las flechas izquierda y derecha para seleccionar la opción LocalShare y pulse Go! (Ir).
Siga las instrucciones de la aplicación. Puede seleccionar Create & Share Anchor (Crear y compartir delimitador) o Locate Shared Anchor (Buscar delimitador anclado).
Create & Share Anchor (Crear y compartir delimitador) permite crear un delimitador y guardarlo en el servicio de uso compartido. A cambio, recibirá un identificador que puede usar para recuperarlo del servicio de uso compartido. Puede ejecutar el segundo escenario, Locate Shared Anchor (Buscar delimitador de uso compartido), desde su dispositivo o desde otro distinto.
Locate Shared Anchor (Buscar delimitador de uso compartido) permite localizar los delimitadores ya compartidos especificando el identificador mencionado anteriormente. Después de elegir el escenario, la aplicación le guiará con instrucciones adicionales. Por ejemplo, se le pedirá mover el dispositivo para recopilar información del entorno. Más adelante, colocará un delimitador en el mundo, esperará para guardarlo, iniciará una nueva sesión y lo localizará.
Limpieza de recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no cree que vaya a necesitar estos recursos en el futuro, puede eliminarlos mediante la eliminación del grupo de recursos.
En el menú de Azure Portal o la página Inicio, seleccione Grupos de recursos. En la página Grupos de recursos, seleccione myResourceGroup.
En la página myResourceGroup, asegúrese de que los recursos enumerados sean los que desea eliminar.
Seleccione Eliminar grupo de recursos, escriba myResourceGroup en el cuadro de texto para confirmar y, después, seleccione Eliminar.
Pasos siguientes
En este tutorial ha implementado una aplicación web de ASP.NET Core en Azure y ha configurado e implementado una aplicación de Unity. Ha creado delimitadores espaciales con la aplicación y los ha compartido con otros dispositivos mediante la aplicación web de ASP.NET Core.
Puede mejorar la aplicación web de ASP.NET Core para que use Azure Cosmos DB y que el almacenamiento de los identificadores de delimitador espacial compartidos persista. Al agregar compatibilidad con Azure Cosmos DB, puede crear hoy mismo un delimitador con la aplicación web de ASP.NET Core. Después, mediante el identificador de delimitador almacenado en la aplicación web, puede hacer que la aplicación vuelva a encontrar el delimitador días más tarde.





