I've been trying to understand and elucidate things we can or can't do when developing mobile apps using the ArcGIS SDK with a "Lite" license and I'd like to clear up confusion for a specific scenario. Many things I’ve been reading about licensing tend to be inconsistent or not as clear as I’d like them to be. Here's the scenario: a mobile app where the user, who is not a member of an AGOL organizational account, enters an "App login" ( "App Id" and "App secret") to access a private Web map by supplying its id. The company who wants to give access to the user to its Web map would create the app id and secret and the map Id. The user could take the Web map offline and use it for viewing and navigation purposes on a mobile device; no editing or sync enabled features. Would an app with such functionalities fit in the legal frame of a "Lite" licensed app?
Based on testing, we know that it is technically possible to do it, but the restrictions around the app login approach are confusing. We have seen some presentations from ESRI staff at Dev summits that mention that app login can be used to view private content owned by the user who created the app login credentials. On the other hand, the restrictions mentioned on the website tell us that you can only use app login with public data…so who’s right?
Can we make the assumption that if the Lite version let us do it, it is ok?
A similar scenario would be for a company to build a private web map and use app login credentials to embed this map (using a proxy of course) in a website to non AGOL users. Is it possible?
Thank you in advance for any advice!
Thank you, Marc. Excellent question.
The App login approach is to be used when the web map and/or services your app will be using are public. The main use case to using app logins is to access public services that may require credits. Credits have a monetary cost. App logins can be used by the developer against these services if they wish to bear the cost of the service and not pass that on to their end user.
If your app is going to access private resources, licensing does not permit the use of app logins. In order to access private data and maps the user needs to be a member of an organizational account.
Having said this, if you want to use an app login for accessing public resources, you can do this at the lite license level.
Can you expand a bit more on what parts of the doc you found inconsistent or confusing? Please let us know and we will do our best to provide clarity.
I hope this helps!
First of all, thank you for the answer. A part of the confusion comes from a presentation we found on the internet that was given by James Tedrick during the ESRI DevSummit in Washington in 2015. Here's the link to the presentation: http://proceedings.esri.com/library/userconf/devsummit-dc15/papers/devdcTW_01.pdf
If you look at page 24 of the presentation, more specifically in the section "What you can do" (with an Application Login), it cleary states that you can "Access application owner's private items stored in ArcGIS Online". How should we interpret that part of the presentation? Does this apply to users of the application who are not members of the AGOL acccount?
How should we manage a case where we want to give access to some private data to a relatively high number of users (300 our case) of a mobile app or website, when these users are not members of an AGOL account? Should all 300 users purchase a level 2 Named User access? Can it be done with a Lite license or will we need to upgrade to a Basic license?
Thanks again for your help.
That statement on page 24 of the PDF you shared above is incorrect. We apologize for the confusion.
App logins are only for accessing public resources. The app developer may want to expose public resources that use credits. App logins can be used by the developer against these public services if they wish to bear the cost of the service and not pass that on to their end user.
As for sharing access to private resources on ArcGIS Online to a relatively high number of users, there is some flexibility here.
Basic License example:
Let's go with the number you gave, 300 users. Your Runtime mobile app is licensed at the Basic level. Some of your users may already have an ArcGIS Online account, as Level 2. They log in to the app using their Named User credentials, and off they go. For those that don't have an ArcGIS Online Named User account, your app has a Deployment License string baked into the app, unlocking it for them at Basic. The same app can work for each use case.
Lite License example:
Some of your users may already have an ArcGIS Online account, as Level 1 OR 2. They log in to the app using their Named User credentials, and off they go. For those that don't have an ArcGIS Online Named User account, your app has a Lite license string, obtained from your developer subscription, baked into the app.