Hi - I am new to ESRI and trying to understand how to distribute a .net application that is built using the .net SDK. I have a sample app running and the UI is showing "Developer Only License". My understanding is that I need to create an app license key to make that note go away. I called several times but the sales team have no clue what costs or requirements are, and the technical people they forwarded me to never responded.
My questions are...
- do I / my company need an annual subscription in order to use and distribute an application to our customers, or do I need an API key only?
- how do I get an API key to use in my application?
- Do my customers need an annual subscription?
- If I create and distribute an API key, I assume that my account gets billed for resources it consumes? Is there a way to give each customer their own API key so costs can be seggregated per customer?
As a note, my app will shows 2D / 3D and satellite maps with point and line overlays (which we create in the SDK on the local machine). We may also occasionally perform an address lookup using the SDK. We are interested in offline capabilities as well if that factors into anything.
Thank you for any help that anyone can provide. Not sure where else to turn.
See the topic on licensing here: https://developers.arcgis.com/net/license-and-deployment/
There's a way to get a lite license yourself that gets rid of the watermark (just beware that the lite license will disable certain features - see full list here).
You can also let your users sign into their ArcGIS Online portal and acquire a license from there See ArcGISPortal.GetLicenseInfoAsync.
API Keys are different from license keys and only applies to accessing the metered ArcGIS Online location services. Again if your user signs into the portal, you should not set an API key, since this will automatically be provided through their portal organization and billed that way instead.
Thank you so much @dotMorten_esri I was able to follow your instructions and got rolling. So my understanding now is that customers can use my app, and using the Lite api key, my account would be billed for their use over the free limits. Is that right? Unless of course I make them use their own API key, or they login with their own account?
Separately, if you wanted to run with offline maps, what licenses are needed? Is it an ArcGIS Pro license to create an offline mobile map package, then I can use the .net SDK with the lite api key to load and process the tiles offline indefinitely? How many ArcGIS Pro licenses would I need, just the one to package the mobile package? Our use case will be to show and move around 2D or 3D based tiles via SDK (no look ups or advanced features).
Thank you for your continued help so far!
Hi @James_W .
Let's dig in a bit…
API Keys
customers can use my app, and using the Lite api key, my account would be billed for their use over the free limits. Is that right?
Yes, almost 🙂 Just remove the word "Lite" (Lite refers to the SDK License level, not the API Key), see below.
Unless of course I make them use their own API key, or they login with their own account?
Correct. See this page for some more details.
SDK Licenses
Separately, a Lite license is required so that you can remove the developer watermark and release your app for production use.
API Keys vs SDK Licenses
These two things serve two separate purposes. You will always need an SDK License to release your Native Maps SDK app to production. You may or may not need an API Key, depending on the services you use.
Offline data
Now, the offline questions… You wrote this:
Separately, if you wanted to run with offline maps, what licenses are needed? Is it an ArcGIS Pro license to create an offline mobile map package, then I can use the .net SDK with the lite api key to load and process the tiles offline indefinitely? How many ArcGIS Pro licenses would I need, just the one to package the mobile package? Our use case will be to show and move around 2D or 3D based tiles via SDK (no look ups or advanced features).
There are two questions there: how to create offline content, and how to use offline content.
But first, the core question of "I can use the .net SDK with the lite api key to load and process the tiles offline indefinitely?" should be "I can use the .net SDK with the lite SDK license to load and process the tiles offline indefinitely?" and the answer is YES, but please read on for details.
Creating offline data
In terms of creating that offline data package, I'll assume you want to use our basemaps, and there are generally three ways to get an offline data package of our basemaps:
For option 1, one ArcGIS Pro license is sufficient to create mobile map packages, mobile scene packages, or vector tile packages from our services for use in multiple apps by multiple users.
Whether you're using option 1 or option 2, an ArcGIS Online account is required to authenticate when you generate and download the package (there isn't currently a way to do this with an ArcGIS Location Platform account).
[ Note: there's a fourth way, involving data appliances and ArcGIS Enterprise, but that's almost certainly not what you need. ]
Using offline data
In terms of using offline data, if you're using Esri-proprietary packages like TPKs, TPKXs, VTPKs, MMPKs, MSPKs etc. (from your description, you will), then the Lite license is sufficient and you're in good shape. You can learn more here and here.
Once you have the package for your area of interest, you can deploy that to multiple devices/apps/users. I could not find anything in our master agreement about how long you can use the data (see section 3.2c) but "indefinitely" is a long time and you should expect to re-generate the packages to keep your offline maps current, but we don't currently enforce that in the SDKs. I expect you would need to keep your ArcGIS Online subscription current for as long as you or your customers use the packages.
One last thing to consider: is your app a commercial app (as defined in 2.1c in our master agreement)?