Zelfstudie: Ruimtelijke ankers delen in sessies en apparaten

Azure Spatial Anchors is een platformoverstijgende ontwikkelaarsservice waarmee u mixed reality-ervaringen kunt maken met behulp van objecten die hun locatie in de loop van de tijd op meerdere apparaten behouden.

In deze zelfstudie gebruikt u Azure Spatial Anchors om tijdens één sessie ankers te maken en deze vervolgens op hetzelfde apparaat of op een ander apparaat terug te vinden. Dezelfde ankers kunnen ook worden teruggevonden door meerdere apparaten op dezelfde plaats op hetzelfde moment.

Animation showing spatial anchors that are created with a mobile device and used with a different device over the course of days.

In deze zelfstudie leert u het volgende:

  • Implementeer een ASP.NET Core-web-app in Azure die u kunt gebruiken om ankers te delen en de ankers in het geheugen op te slaan voor een opgegeven periode.
  • Configureer de scène AzureSpatialAnchorsLocalSharedDemo binnen het Unity-voorbeeld van onze quickstarts om te profiteren van de web-app Sharing Anchors.
  • Implementeer de ankers en voer deze uit op een of meer apparaten.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Voordat u met deze zelfstudie begint, moet aan de volgende vereisten worden voldaan:

  • U hebt Overzicht Azure Spatial Anchors doorgelezen.
  • U hebt een van de Quickstarts van 5 minuten voltooid.

    Notitie

    In de quickstarts voor Android/NDK en iOS/SWIFT worden de functies die in deze zelfstudie worden uitgelegd, momenteel niet getoond.

  • U hebt een basiskennis van een van de volgende:
    • ARCore als u Android gebruikt.
    • ARKit als u iOS gebruikt.
  • Een Windows-computer met Visual Studio 2019 of hoger en de werkbelasting ASP.NET- en webontwikkeling.
  • De .NET Core 3.1-SDK.
  • Een of meer van de volgende apparaten waarop een app zal worden geïmplementeerd en uitgevoerd: HoloLens, HoloLens 2, iOS, or Android.

Notitie

U zult in deze zelfstudie gebruikmaken van Unity en een ASP.NET Core-web-app, maar deze aanpak is alleen een voorbeeld om te laten zien hoe het delen van Azure Spatial Anchor-id's naar andere apparaten werkt. U kunt andere talen en back-endtechnologieën gebruiken om hetzelfde doel te bereiken.

Een Spatial Anchors-resource maken

Ga naar de Azure Portal.

Selecteer Een resource maken in het linkerdeelvenster.

Gebruik het zoekvak om te zoeken naar Spatial Anchors.

Screenshot showing the results of a search for Spatial Anchors.

Selecteer Spatial Anchors en vervolgens Maken.

Doe in het deelvenster Spatial Anchors-account het volgende:

  • Voer een unieke resourcenaam in met gewone alfanumerieke tekens.

  • Selecteer het abonnement waaraan u de resource wilt koppelen.

  • Maak een resourcegroep door Nieuwe maken te selecteren. Noem deze myResourceGroup en selecteer OK.

    Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.

  • Selecteer de locatie (regio) waarin u de resource wilt plaatsen.

  • Selecteer Maken om te beginnen met het maken van de resource.

Screenshot of the Spatial Anchors pane for creating a resource.

Nadat de resource is gemaakt, ziet u in de Azure-portal dat uw implementatie is voltooid.

Screenshot showing that the resource deployment is complete.

Selecteer Naar resource. Nu kunt u de resource-eigenschappen bekijken.

Kopieer de waarde bij Account-id van de resource naar een teksteditor om later te gebruiken.

Screenshot of the resource properties pane.

Kopieer ook de waarde bij Accountdomein van de resource naar een teksteditor om later te gebruiken.

Screenshot showing the resource's account domain value.

Selecteer onder Instellingende optie Toegangssleutel. Kopieer de waarde bij Primaire sleutel, Accountsleutel, naar een teksteditor om later te gebruiken.

Screenshot of the Keys pane for the account.

Het voorbeeldproject downloaden

Voer de volgende opdrachten uit om de opslagplaats met voorbeelden te klonen:

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

De Sharing Anchor-service implementeren

Open Visual Studio en open vervolgens het project in de map Sharing\SharingServiceSample.

Open de publicatiewizard

Klik in Solution Explorer met de rechtermuisknop op het project SharingService en selecteer vervolgens Publiceren.

De publicatiewizard start.

Selecteer App ServicePubliceren om het deelvenster App Service openen.

Aanmelden bij Azure

Meld u aan bij Azure Portal.

Selecteer Een account toevoegen in het deelvenster App Service maken en meld u vervolgens aan bij uw Azure-abonnement. Als u al bent aangemeld, selecteert u het account dat u wilt in de vervolgkeuzelijst.

Notitie

Als u al bent aangemeld, selecteert u Maken nog niet.

Een resourcegroep maken

Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.

Selecteer Nieuw naast Resourcegroep.

Geef de resourcegroep de naam myResourceGroup en selecteer vervolgens OK.

Een App Service-plan maken

Een App Service-plan geeft de locatie, de grootte en de functies van de webserverfarm aan die als host fungeert voor uw app. U kunt geld besparen bij het hosten van meerdere apps door de web-apps te configureren voor het delen van één App Service-plan.

In App Service-plannen wordt het volgende gedefinieerd:

  • Regio (bijvoorbeeld: Europa - noord, VS - oost of Azië - zuidoost)
  • Exemplaargrootte (klein, normaal of groot)
  • Het schaalaanpassingsaantal (1 tot 20 exemplaren)
  • SKU (Free, Shared, Basic, Standard of Premium)

Selecteer bij HostingabonnementNieuw.

Gebruik deze instellingen in het deelvenster Hostingabonnement configureren:

Instelling Voorgestelde waarde Beschrijving
App Service-plan MySharingServicePlan De naam van het App Service-plan
Locatie VS - west Het datacentrum waar de web-app wordt gehost
Grootte Gratis De prijscategorie die de hosting-functies bepaalt

Selecteer OK.

De web-app maken en publiceren

Voer bij App-naam een unieke app-naam in. Geldige tekens zijn a-z, 0-9, en streepjes (-), of accepteer de automatisch gegenereerde unieke naam. De URL van de web-app is https://<app_name>.azurewebsites.net, waarbij <app_name> de naam van uw app is.

Selecteer Maken om de Azure-resources te gaan maken.

Nadat de wizard is voltooid, wordt de ASP.NET Core-web-app gepubliceerd in Azure. Vervolgens wordt de app geopend in de standaardbrowser.

Screenshot of a published ASP.NET web app in Azure.

De app-naam die u in deze sectie hebt gebruikt, wordt gebruikt als de URL-voorvoegsel in de indeling https://<app_name>.azurewebsites.net. Kopieer deze URL naar een teksteditor voor later gebruik.

De voorbeeld-app implementeren

Het Java-voorbeeld voor Android biedt ondersteuning voor het delen van gegevens op meerdere apparaten.

Open in Android Studio het bestand SharedActivity.java in de map met voorbeelden.

Voer de URL in die u in de vorige stap hebt gekopieerd (van uw ASP.NET Web App Azure-implementatie) als de waarde voor in het SharingAnchorsServiceUrlSharingAnchorsServiceUrl

Vervang de index.html in de URL door api/anchors. Dit ziet er als volgt uit: https://<app_name>.azurewebsites.net/api/anchors.

Implementeer de app op uw apparaat.

Nadat de app is gestart, gebruikt u in het deelvenster Choose A Demo de pijlen naar links en rechts om de optie LocalShare te selecteren. Tik vervolgens op Go! .

Volg de instructies in de app. U kunt Shareanker maken of Gedeeld anker zoeken selecteren.

Met Shareanker makenkunt u een anker maken en opslaan in uw deelservice. Als resultaat krijgt u er een id voor terug die u kunt gebruiken om hem op te halen uit het deelapparaat. Vervolgens kunt u het tweede scenario, Gedeeld anker zoeken, uitvoeren vanuit uw apparaat of een ander apparaat.

Met Gedeeld anker zoeken kunt u eerder gedeelde ankers zoeken door de eerder genoemde id in te voeren. Nadat u uw scenario hebt gekozen, leidt de app u door verdere instructies. U wordt bijvoorbeeld gevraagd om uw apparaat te verplaatsen om omgevingsinformatie te verzamelen. Later plaatst u een anker in de wereld, wacht u tot deze is opgeslagen, start u een nieuwe sessie en vervolgens zoekt u die.

Resources opschonen

In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. Als u deze resources in de toekomst waarschijnlijk niet nodig hebt, kunt u ze verwijderen door de resourcegroep te verwijderen.

Selecteer Resourcegroepen in het menu of op de beginpagina van de Azure-portal. Selecteer myResourceGroup op de pagina Resourcegroepen.

Controleer op de pagina myResourceGroup of de weergegeven resources de resources zijn die u wilt verwijderen.

Selecteer Resourcegroep verwijderen, typ myResourceGroup in het tekstvak om dit te bevestigen en selecteer Verwijderen.

Volgende stappen

In deze zelfstudie hebt u een ASP.NET Core-web-app in Azure geïmplementeerd en u hebt een Unity-app geconfigureerd en geïmplementeerd. U hebt ruimtelijk ankers met de app gemaakt en u hebt deze gedeeld met andere apparaten met behulp van uw ASP.NET Core-web-app.

U kunt uw ASP.NET Core-web-app verbeteren zodat deze gebruikmaakt van Azure Cosmos DB om de opslag van uw gedeelde ruimtelijke anker-id's te behouden. Door ondersteuning voor Azure Cosmos DB toe te voegen, kunt u vandaag nog een anker maken met uw ASP.NET Core web-app. Met de anker-id die is opgeslagen in uw web-app, kunt u de app later terugsturen om het anker opnieuw te vinden.