ArcGIS AppStudio includes ArcGIS Runtime, which you can immediately use in your app; however, any map in your app will be watermarked, and debug messages will appear, indicating that your app is licensed for developer use only.
To deploy an app, you must use one of the ArcGIS Runtime license levels. When deploying ArcGIS Runtime technology, costs are incurred only at the Basic level and above. Use of ArcGIS Online services may also incur costs. For details, see Licensing on the Developers FAQ page and compare plans on the Building ArcGIS solutions page. For an overview of the current ArcGIS Runtime licensing model, see the ArcGIS Developers page for License or watch this video.
A license is required to deploy your app, even if you are using an API key. API keys provide access to content and services whereas a license enables SDK capabilities and removes the developer watermark. See Licensing capabilities for details.
License your app by entering your license key in AppStudio Settings. After this is done, the watermark and debug messages no longer appear and your app is ready to be deployed.
The following table shows the functionality at each license level:
License level | Available functionality |
---|---|
Developer (development and testing only) | All functionality (watermarks and debug messages will be generated) |
Lite | - View maps, scenes, layers, and packages from ArcGIS - Edit features in public feature services - Generate a mobile geodatabase from a sync-enabled feature service - Download updates from a sync-enabled feature service to a mobile geodatabase - Routing - Place finding - Calculate service areas and find closest facilities using a network service |
Basic | - All capabilities of Lite - Edit features in mobile geodatabases and online feature services - Add, update, or delete content on portals - Synchronize edits to feature geometry, attributes, and attachments from a mobile geodatabase to a feature service |
Standard | - All capabilities of Basic - Access to additional data - Shapefiles - GeoPackages - ENC layers (S-57) - Local raster layers - Use of raster functions - Local raster elevation sources - Visual analysis - Line of sight - Viewshed - ArcGIS Runtime Local Server - Map services - Feature services - Editing file geodatabases - Geoprocessing services - Supports a subset of basic ArcGIS Desktop tools that can be included in a geoprocessing package |
Advanced | - All capabilities of Standard - ArcGIS Runtime Local Server - Feature services - Edit enterprise geodatabases - Geoprocessing services - Supports a subset of basic and advanced ArcGIS Desktop tools that can be included in a geoprocessing package |
License your app at the Lite level
To license your app at the Lite level, all you need is a free license key that ArcGIS AppStudio is capable of automatically generating. Browse to Settings > Licensing for your app, and click the Set Lite license button. Sign in to ArcGIS Online if you haven't already, and the License key field is automatically populated. Then, click the Apply button in Settings to save the changes.
You can also license an app at the Lite level by signing in to the app with a named ArcGIS user of the Viewer user type.
License your app at the Basic level or above
You can license your app at the Basic level or above using a named ArcGIS user account. The license level depends on the user type being signed in:
- Editor and Field Worker license at the Basic level
- Creator and GIS Professional—Basic license at the Standard level
- GIS Professional—Standard and GIS Professional—Advanced license at the Advanced level
Use of a named user account involves adding code to enable sign-in using an ArcGIS organizational account.
-
Find a location in your code that runs before any ArcGIS Runtime functionality is used.
-
Allow the app user to authenticate with an ArcGIS organizational account. After the portal is loaded, set the license on the portal.
Use dark colors for code blocks Copy var portal = ArcGISRuntimeEnvironment.createObject("Portal", {url: url}); var credential = ArcGISRuntimeEnvironment.createObject("Credential"); credential.username = username; credential.password = pwd; portal.credential = credential; portal.fetchLicenseInfoStatusChanged.connect(function(){ if (portal.fetchLicenseInfoStatus === Enums.TaskStatusCompleted) { signedIn = true; var licenseInfo = portal.fetchLicenseInfoResult; licInfo.json = licenseInfo.json; var result = ArcGISRuntimeEnvironment.setLicense(licenseInfo); setLicenseData(result); } }); portal.fetchLicenseInfo();
-
Save the JSON file containing the license information for later use.
Use dark colors for code blocks Copy Button { id: savePortalInfo text: "Save Portal Info" onClicked: { System.settings.setValue("ArcGIS/Runtime/License/LicenseInfoJson", licInfo.json); } }
-
If you saved the license information on local storage, your app can be started and licensed in an offline environment using the saved license information. This is important if your app is being used in an offline environment for up to 30 days.
Use dark colors for code blocks Copy Button { id: loadFromLicenseInfoButton text: "Load from LicenseInfo" onClicked: { licInfo.json = System.settings.value("ArcGIS/Runtime/License/LicenseInfoJson"); var licenseInfo = ArcGISRuntimeEnvironment.createObject("LicenseInfo"); licenseInfo.json = licInfo.json; var result = ArcGISRuntimeEnvironment.setLicense(licenseInfo); setLicenseData(result); // Sets UI elements based on result }
Your app is now licensed at the Basic level, capable of remaining offline for up to 30 days, and ready to be built in AppStudio.
Use a license key to license your app
You must use a license key to license your app at the Standard or Advanced level. To obtain a license key, contact Esri. If you're in the United States, call Esri Customer Service at 1-888-377-4575.
Once you've received your license key, you can associate it with your app through AppStudio. Browse to Settings > Licensing, and copy the license key into the License key field. Then, click the Apply button to save the changes.
Attribute Esri in your app
You are required to attribute Esri in your app using the ArcGIS Maps SDK guidelines. These include the following: