License
Before you deploy your ArcGIS Runtime app into production, you're required to license it with one of the four ArcGIS Runtime license levels: Lite, Basic, Standard, or Advanced. ArcGIS Runtime extension licenses can also be applied to bring additional functionality into your app.
Other costs may be incurred when deploying your app, such as transactions used with ArcGIS Location Services. Refer to license and deploy and our FAQ for more information on the terms and conditions.
Develop and test
You can download and install an ArcGIS Runtime SDK using an ArcGIS Developer account. You then have access to all of the functionality in the API for development and testing purposes. In this mode, the app will adopt the following behavior:
- Any map or scene will be watermarked with the words
Licensed For Developer Use Only
. - A message will be written to the console or log that states that the app is
Licensed For Developer Use Only
. - When Local Server starts a message box will be displayed stating that
This application is licensed for developer use only.
Licensing your app for deployment will remove the watermark and console output and provide the appropriate capabilities to your app users.
Licensing options
Before you can use your app in production, you are required to license the ArcGIS Runtime app. Esri provides four ArcGIS Runtime license levels: Lite, Basic, Standard, or Advanced. Each additional level opens more capabilities for your app users.
Two options are available to set the license level in your app:
Named user
A named user refers to an ArcGIS organizational account that is a member of an organization in ArcGIS Online or ArcGIS Enterprise. The ability to license an ArcGIS Runtime app is just one feature of a named user. You need to include code in your ArcGIS Runtime app to enable a user to sign in (log in) to a portal and return license details associated with their named user account.
Use named users if your target audience has access to ArcGIS Online or ArcGIS Enterprise and use devices that will be online at least once every 30 days (timeout for a named user license for ArcGIS Runtime). One notable benefit of this model is the license for ArcGIS Runtime travels with the named user, not the app, so one named user can license many ArcGIS Runtime apps.
License string
A license string is a text string that contains license details. license strings can be acquired through your ArcGIS Developer account or purchased in ArcGIS Runtime deployment packs. license strings are usually compiled into your ArcGIS Runtime app. Each installation of your app available to a single user counts as a deployment.
Use a license string if your target audience does not have access to named user accounts with an ArcGIS Online organization or on-premises ArcGIS Enterprise portal, needs to use an application that will remain offline indefinitely, or needs to guarantee an application will function if offline more than 30 days. Customers are required to track the number of ArcGIS Runtime deployments at the Basic, Standard, and Advanced level. Each installation of your app available to a single user counts as a deployment.
Licensing capabilities
The functionality associated with each license level is described below, including the available licensing options and how to acquire a license. For details on API classes and members that require a paid license or extension, see Licensing details in the API reference.
Extension licenses
ArcGIS Runtime offers extensions that provide access to additional capabilities, analysis tools, and/or data.
Store geocode results from ArcGIS Online
The Geocoding service includes a for_storage
parameter. Storing the results of a geocode or reverse geocode operation using this service (by setting the for_storage
parameter to true) requires an ArcGIS Developer subscription with a properly scoped API key, or an ArcGIS Online paid subscription and uses credits from the subscriber's account. Additionally, the user performing a paid operation must be assigned a user role that includes the Geocoding privilege. For more information, see Geocoding service, Free vs paid in the REST documentation for this geocode service, and User types, roles, and privileges in ArcGIS Online documentation.
Named user licensing
Beginning with the release of ArcGIS Enterprise 10.5, members in an organization in ArcGIS Online or on-premises ArcGIS Enterprise portal can be assigned one of two membership levels, as described in Levels, roles, and privileges. Level 1 can be used to license ArcGIS Runtime at the Lite level. Level 2 can be used to license ArcGIS Runtime at the Lite and Basic level. For Portals prior to version 10.5, all named users are equivalent to Level 2 and can be used to license ArcGIS Runtime at the Basic level.
At the end of 2018, named user types were introduced in ArcGIS Online to replace named user levels. Named users of any type can still be used to license ArcGIS Runtime. Named users of type Viewer can license ArcGIS Runtime at the Lite level and named users of type Editor, Field Worker, Creator, and GIS Professional can license ArcGIS Runtime at the Basic level.
Starting with ArcGIS Enterprise 10.8 and the December 2019 update of ArcGIS Online, named user types explicitly include ArcGIS Runtime licenses and extensions when applicable. ArcGIS Runtime 100.7 and higher is licensed on the basis of these explicit license entitlements when used with such named user types.
Use tile packages from ArcGIS Online basemaps
App developers may use ArcGIS Online basemaps for their apps. Esri has designed a use policy that seeks to maximize the use of these basemaps by the ArcGIS Runtime developer community. The rules for using these basemaps are conditioned on how the basemaps are used.
A developer can only export basemaps from services that support the export tiles operation.
A developer may:
- Export basemaps as tile packages for use with an ArcGIS Runtime app, up to the limits imposed by the basemap for a single tile package.
- Use an ArcGIS Runtime app to export basemaps on demand. Authorization must be as a named user or with an app login.
- Embed or bundle basemap tile packages in an ArcGIS Runtime app.
- Use an ArcGIS Runtime app to download pre-created basemap tile packages hosted by ArcGIS Online or ArcGIS Enterprise, but only if the ArcGIS Online organization or ArcGIS Enterprise is licensed for production use.
A developer may not:
- Allow their users to use the exported content outside of ArcGIS technology.
- Allow their users to unbundle the exported content and publish the exported content as a map service.
- Allow their users to unbundle the exported content or redistribute to other users.
- Systematically harvest map tiles using the service (a practice often referred to as "scraping tiles").
License your app
Follow these steps to access ArcGIS services with an API key and to license your app with a license string or a Named User account. If you use an API key to access ArcGIS services, the Runtime app itself must still be licensed with a Runtime license string or named user. After licensing the app, the watermark and debug messages will no longer display and your app will be ready for distribution and use in production.
License your app with an API key
An API key is required to enable access to services, web maps, and web scenes hosted in ArcGIS Online. Typically, API keys are used to authenticate a calling program within the API rather than an individual user.
You can manage API keys from your developer dashboard.
See the API keys topic for details about configuring and using an API key.
License your app with a license string
Using a license string involves adding code to set the license level at compile time so that the license string is built into the application.
- Read the end user license agreement.
- Find a location in your code that runs before any ArcGIS Runtime functionality is used.
- Call the
SetLicense
method on theArcGISRuntimeEnvironment
singleton object to license the app with a license string.
The following must run before any other ArcGIS Runtime code.
Your app is now licensed for deployment.
License your app with a named user account
Use of an ArcGIS identity (previously called a named user) involves adding code to enable sign-in for using an ArcGIS organizational account. At runtime, a user must sign in successfully to return their license information which will be used by the app to set the license level. Follow these steps to license your app using the named user's account:
- Read the end user license agreement.
- 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. Upon loading the
Portal
obtain theLicenseInfo
and use this to license the app. As part of the process, save the license information in preparation for your app being used in an offline environment for up to 30 days.
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. Retrieve the license from storage and license your app.
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. Retrieve the license from storage and license your app.
License extensions with a license string
- Read the end user license agreement.
- Find a location in your code that runs before any ArcGIS Runtime functionality is used.
- Call the
SetLicense
method on theArcGISRuntimeEnvironment
singleton object to license the app with a main license string and any extension licenses.
Your app is now licensed to use the extensions.
Attribute Esri in your app
Esri requires that when you use an ArcGIS Online basemap, Esri data services, or Esri API technology in your app you must also include Esri attribution. There are specific requirements for attribution you may be required to address in your app depending on how your app is built and the data it uses. This is outlined in detail here in the Attribution in your app topic.