1. Select a type of offline app
There are two types of offline apps you can build with ArcGIS Maps SDKs for Native Apps
- Partially offline apps
A partially offline app is a type of offline app built with ArcGIS Maps SDKs for Native Apps that is designed to work where network connectivity is unreliable. are suitable if you will have periods of disconnectivity and connectivity or if you want to use online services in the offline app. - Fully offline apps
A fully offline app is a type of offline app built with ArcGIS Maps SDKs for Native Apps that is designed to work where network connectivity is entirely absent. are suitable if you will be disconnected at all times or if your data is too large and impractical to transfer over the network.
2. Prepare a mobile data source
Mobile data sources
Partially offline apps support a wider selection of mobile data sources. This type of offline app has network access to download data, such as offline-enabled
Fully offline apps have more limited options for mobile data sources. These apps rely primarily on locally stored data, such as mobile packages
Refer to the chart below to prepare the correct mobile data source
You can build a partially offline app
| Offline maps | Offline data | Mobile packages | Data files | |
|---|---|---|---|---|
| 2D maps | 1 | 1 | ||
| 3D scenes | 2 | 2 | ||
| Edit data while offline | 3 | |||
| Synchronize offline edits | 4 | |||
| Fully disconnected apps/devices | 4 | 4 | ||
| Offline geocoding | 5 | |||
| Offline routing | 6 | |||
| Offline analysis | ||||
| Set expiration date for data access |
- 1. Map constructed in code
- 2. Scene constructed in code
- 3. Shapefiles, GeoPackages, and KML
- 4. Custom sideloading workflows required
- 5. Locator exported from ArcGIS Pro
- 6. Network Analysis dataset exported from ArcGIS Pro
The general steps to prepare a mobile data source are:
- Select a type of mobile data source
A mobile data source is a data format used to build offline apps. The formats include offline maps, offline data, mobile packages, and data files. for your offline app. - Prepare the data using tools
Tools, also known as developer tools, are ArcGIS software applications such as portal and ArcGIS Pro that developers can use to prepare content and data for custom applications they are building. such as ArcGIS ProArcGIS Pro is a professional desktop GIS application that can explore, visualize, analyze, and manage 2D and 3D data. , Map ViewerMap Viewer is a browser-based mapping tool that can view, create, and save web maps. It can also perform mapping, visualization, and spatial analysis operations. , or the portalArcGIS portal, also known as a portal, is a website with applications and tools that can be used to create, manage, access, and share geospatial content and data. It supports security and authentication, developer credentials, content and data service management, user and group management, and site administration. A portal can be hosted in Esri's infrastructure or your own infrastructure. . - For data hosted in the portal, such as a web map or a feature service, enable it for offline use in the item page
An item page is a web page in ArcGIS Online or the developer dashboard used to access and manage the properties for an item and the content it references such as a web map, hosted layer, or file. . - Obtain the item ID to download the data to your device, or export the data to sideload it onto your device.
3. Build the app
After preparing a mobile data source, the next step is to create an application with ArcGIS Maps SDKs for Native Apps for your preferred platform. Your application will access the mobile data source you have prepared, and can then be expanded with additional functionalities, such as geocoding or routing.
The following examples show how to access different mobile data sources
You can use offline maps
var portal = await ArcGISPortal.CreateAsync();
var portalItem = await PortalItem.CreateAsync(portal, "YOUR_ITEM_ID"); // Replace with your web map ID
var map = new Map(portalItem);
OfflineMapTask offlineTask = await OfflineMapTask.CreateAsync(map);
GenerateOfflineMapParameters generateParameters =
await offlineTask.CreateDefaultGenerateOfflineMapParametersAsync(areaOfInterest);
GenerateOfflineMapJob job = offlineTask.GenerateOfflineMap(generateParameters, "path\\to\\map\\directory");
GenerateOfflineMapResult result = await job.GetResultAsync();
if (result.OfflineMap is Map offlineMap)
{
MainMapView.Map = offlineMap;
}Tutorials

Create an offline-enabled web map

Create an offline map area
Use your portal to create an offline map area from an offline-enabled web map.
Workflows
Create an app using a web map (ahead of time)
Learn how to build an offline app using an offline-enabled web map using the ahead-of-time method.

Create an app using a web map (on-demand)
Learn how to build an offline app using an offline-enabled web map using the on-demand method.

Create an app using a web map with layers (ahead of time)
Learn how to build an offline app using an offline-enabled web map and feature layer using the ahead-of-time method.

Create an app using a web map with layers (on-demand)
Learn how to build an offline app using an offline-enabled web map and feature layer using the on-demand method.

Create an app using a mobile map package
Learn how to build an offline app using a mobile map package created with ArcGIS Pro.



