If you've wondered about building an ArcGIS Runtime app and associated licensing requirements, navigating the abundance of ArcGIS Developer information, can be a little daunting. Coupled with this, is the January 2021 release of ArcGIS Platform, and the associated aspects that it brings to the table.

This post describes ArcGIS Runtime licensing and the developer's requirements, for developing and deploying an ArcGIS Runtime application.

If you are new to Esri technology, the first thing you need to understand is what ArcGIS Runtime is. Simply put, ArcGIS Runtime is an Esri SDK product that allows developers to build standalone native applications for a variety of platforms and devices. As such, there are multiple different types of ArcGIS Runtime SDK available :
ArcGIS Runtime SDK for .NET
ArcGIS Runtime SDK for Android
ArcGIS Runtime SDK for iOS
ArcGIS Runtime SDK for Java
ArcGIS Runtime SDK for Qt
Depending on the platform that the developed application is to run on, the developer works with the corresponding Runtime SDK.

In order to license and deploy an ArcGIS Runtime application, there are two key items that must be considered :
1. Which ArcGIS Runtime functionality is to be used by the Runtime application ?
2. From where will the ArcGIS Runtime application access data and services ?
Foremost though, the developer will need to :
3. Access and download their ArcGIS Runtime SDK of choice.

The remainder of this post describes the above requirements and associated considerations. 

1. Access the ArcGIS Runtime SDK

First off, the developer requires access to their required ArcGIS Runtime SDK. To download and freely develop and test against any of the aforementioned ArcGIS Runtime SDKs, the developer needs to have an ArcGIS Developer Subscription (ADS).

A developer can sign up for a freely available ADS at https://developers.arcgis.com/sign-up/. They then gain access to https://developers.arcgis.com via their Developer account, and may subsequently download the required ArcGIS Runtime SDK, by navigating to the "Downloads" tab, from the Developers "Dashboard" page.

Note too, Developer Subscriptions are also available as purchased subscriptions; Irrespective of this, any type of ArcGIS Developer Subscription, free or purchased, will allow you to download and develop with an ArcGIS Runtime SDK *1.

*1 If you would like to know more about ArcGIS Developer Subscriptions, the types that are available, and the entitlements that they include, you may be interested in the further blog post : "The ArcGIS Developer Subscription : Varieties and Inclusions"

2. Which ArcGIS Runtime Functionality is to be Used by the ArcGIS Runtime Application ?

ArcGIS Runtime functionality is available at four different license levels : "Lite", "Basic", "Standard" and "Advanced", as specified at https://developers.arcgis.com/net/license-and-deployment/license/#licensing-capabilities. These levels comprise capabilities that are cumulative, moving from the Lite level up to the Advanced level. The ArcGIS Runtime functionality used by a subject application will govern the required ArcGIS Runtime license level that the developer needs to acquire.

There are 2 ways that the license is granted on application initiation. Either :

  • via a license code, which is available at a "Lite", "Basic", "Standard" and "Advanced" level, and embedded within an application's initiation code.

or

  • via a "Named User" login, for ArcGIS Online organisation members,  or ArcGIS Enterprise Portal organisation members.

2.1 License codes

If the application is utilising capabilities at just the "Lite" license level, the developer can obtain a "Lite" license code from the ArcGIS Runtime documentation, available by logging into the ArcGIS Developer's website. That is, on logging in, go to the applicable ArcGIS Runtime documentation page topic : "License and Deployment" > "License",and scroll down to the "License String" sub-heading, where the Developer account Lite license string may be accessed, as shown below.

Example link for iOS :
https://developers.arcgis.com/ios/license-and-deployment/license/#license-string
Example link for .NET :
https://developers.arcgis.com/net/license-and-deployment/license/#license-string
The "Lite" license level is free of charge, and may be used to deploy an unlimited number of ArcGIS Runtime applications.

For "Basic", "Standard" and "Advanced" license codes, developers need to purchase ArcGIS Runtime deployment packs, which are purchased in bundles of "x" deployment licenses (Basic level deployment packs are purchased in bundles of 50 licenses; Standard level packs are purchased in bundles of 25 licenses, and Advanced deployment packs are purchased in bundles of 5 licenses.).
Each install of the subject application represents a single deployment. So, for example, if the developer expects that there will be 100 installs for a subject Standard level ArcGIS Runtime app, 4 Standard level deployment packs would need to be purchased.

Licensing via a license string is required when a subject application will be either permanently offline, or offline for periods greater than 30 days.

2.2 Named Users

User types defined within ArcGIS Online organisations and on-premises ArcGIS Enterprise Portal organisations may be used to license ArcGIS Runtime applications. Depending on the user type of organisation members, a varying Runtime license level is available, as defined in the below table.
Hence, named users logging into an ArcGIS Runtime application will be able to access coded functionality, corresponding with their user type's Runtime license level.

Source : https://enterprise.arcgis.com/en/portal/latest/administer/windows/licensing-arcgis-runtime-through-portal.htm

3. From where will the ArcGIS Runtime Application access Data and Services ?

In terms of an ArcGIS Runtime application accessing data and services, if the data is hosted and shared publicly, and the service freely available, there is no cost implication.

Alternative to this, the application may be accessing secured services within either an ArcGIS Online organisation, or an on-premises ArcGIS Enterprise Portal organisation. - In this circumstance, members of the "organisation" login to the subject application using their "organisation's" Named User account credentials. In this way, data and services are accessible via the same sharing constraints as if those members were logged into the subject organisation.

Similarly, if ArcGIS Online premium services are accessed by the application, credits are consumed on a per user basis, attributed against the Named user, and charged as credits to the organisation.

Further to the above, an ArcGIS Developers Subscription (free or purchased) makes available to the developer a suite of freely available data and services, also known as ArcGIS Platform "Location Services". These include ready-to-use services such as geocoding, routing, basemaps, spatial analysis and data hosting capabilities, thus giving developers a means of accessing spatial service capabilities that is independent of the need for further ArcGIS infrastructure (- an option that will likely be attractive for applications that do not sit atop large ArcGIS implementations).

Location Services are made available via a pay-as-you-go costing model that includes a generous monthly "free tier" of service usage, before charges apply; Permanent access tokens, known as API Keys are used to secure these services. API Keys, Location Services and the costing model are managed via the Developer's subscription and the ArcGIS Developers website.

A Note About Revenue Generating ArcGIS Runtime Applications

Prior to the January 2021 release of "ArcGIS Platform", developers writing revenue generating apps were required to have an ArcGIS Developer Subscription that was purchased.

The release of ArcGIS Platform though, saw changes in respect of revenue generating apps and Developer Subscription requirements. Essentially, a prime intent of ArcGIS Platform was to reduce the developer's requirements in terms of developing and deploying applications written with Esri APIs and SDKs. That being said, ArcGIS Platform removed the requirement for revenue generating apps to have an associated purchased ArcGIS Developers subscription. Instead, a freely obtainable ArcGIS Developer Subscription may be used.

Summary

In summary then, there are potentially 2 payment points involved with developing and licensing ArcGIS Runtime applications :

If the application is using beyond the "Lite" level of ArcGIS Runtime capabilities, deployed applications must be licensed via a Basic, Standard or Advanced Runtime license. This license is supplied either  as a license code (purchased in a deployment pack) or via a named user account for users that are members of an ArcGIS Online Organisation or Enterprise Portal Organisation. - Named users gain a license to use a Runtime application at the Lite, Basic, Standard or Advanced level, via the user type that is assigned to them.

The license code option is required where the application is required to execute entirely offline, or offline for periods of greater than 30 days.
 

If the application is using data and services that are accessed via an API Key, managed through the developer's ArcGIS Developer Account, the developer needs to pay for these data and services via a monthly "pay-as-you-go" model, *when* the free tier of allocated monthly data and services have been consumed. If, however, the application is using ArcGIS Online premium services or data content from an ArcGIS Online organisation or an ArcGIS Enterprise Portal, credits are consumed on a per user basis, as if the application user were working in ArcGIS Online or Portal.