Quickstart: Create a Xamarin Android app with Azure Spatial Anchors
This quickstart covers how to create an Android app with Xamarin using Azure Spatial Anchors. 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. When you're finished, you'll have an Android app that can save and recall a spatial anchor.
You'll learn how to:
- Create a Spatial Anchors account
- Configure the Spatial Anchors account identifier and account key
- Deploy and run on an Android device
To complete this quickstart, make sure you have:
- A Windows or macOS computer:
- The latest version of Xamarin.Android installed and running on your platform of choice. For a guide to installing Xamarin.Android, refer to the Xamarin.Android Installation guides.
- A developer enabled and ARCore capable Android device.
- Additional device drivers may be required for your computer to communicate with your Android device. For more information, see here.
- Your app must target ARCore 1.8.
Create a Spatial Anchors resource
Go to the Azure portal.
On the left pane, select Create a resource.
Use the search box to search for Spatial Anchors.
Select Spatial Anchors, and then select Create.
On the Spatial Anchors Account pane, do the following:
Enter a unique resource name by using regular alphanumeric characters.
Select the subscription that you want to attach the resource to.
Create a resource group by selecting Create new. Name it myResourceGroup, and then select OK.
A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. For example, you can choose to delete the entire resource group in one simple step later.
Select a location (region) in which to place the resource.
Select Create to begin creating the resource.
After the resource is created, the Azure portal shows that your deployment is complete.
Select Go to resource. You can now view the resource properties.
Copy the resource's Account ID value into a text editor for later use.
Also copy the resource's Account Domain value into a text editor for later use.
Under Settings, select Access Key. Copy the Primary key value, Account Key, into a text editor for later use.
Open the sample project
Clone the samples repository by running the following commands:
git clone https://github.com/Azure/azure-spatial-anchors-samples.git cd ./azure-spatial-anchors-samples
Xamarin/SampleXamarin.sln in Visual Studio.
Configure account identifier and key
The next step is to configure the app to use your account identifier and account key. You copied them into a text editor when setting up the Spatial Anchors resource.
SpatialAnchorsAccountKey field and replace
Set me with the account key.
SpatialAnchorsAccountId field and replace
Set me with the account identifier.
SpatialAnchorsAccountDomain field and replace
Set me with the account domain.
Deploy the app to your Android device
Power on the Android device, sign in, and connect it to the computer using a USB cable.
Set the startup project to SampleXamarin.Android, change the Solution Configuration to Release, and select the device you want to deploy to in the device selector drop-down.
In the app, select Basic to run the demo and follow the instructions to place and recall an anchor.
Clean up resources
In the preceding steps, you created Azure resources in a resource group. If you don't expect to need these resources in the future, you can delete them by deleting the resource group.
From the Azure portal menu or Home page, select Resource groups. Then, on the Resource groups page, select myResourceGroup.
On the myResourceGroup page, make sure that the listed resources are the ones you want to delete.
Select Delete resource group, type myResourceGroup in the text box to confirm, and then select Delete.
In this quickstart, you created a Spatial Anchors account. You then configured and deployed an app to save and recall spatial anchors. To learn more about how to improve the app so it can share spatial anchors with other devices, continue to the next tutorial.