Esri’s Apps for the Field are focused on completing specific tasks like capturing asset data, navigating to a job site, or completing an environmental survey. Alone they can be quite powerful, but when integrated together, you can use them to complete a variety of different workflows.
App integration comes to life using a URL scheme. The scheme is a well-known standard for inter-app communication on mobile devices and is already used by Collector, Explorer and Workforce for ArcGIS to remotely control other field apps and pass context to them.
So, let’s take a look at how this works, app-by-app.
Workforce App Integration
Workforce integrates with all Esri field apps and has a user experience to support inter-app communication. As the owner of a Workforce project, you can choose what Esri apps are integrated and how they will work together.
For example, the Workforce mobile app can open Collector to complete a Hydrant Inspection or Survey123 to complete a Water Quality Survey. Workforce can also pass the location of the new survey or feature to collect, pre-populate the Location description into a text field, the ID and even the GlobalID of the assignment so that you can streamline the collection process and link the assignment to the new data captured.
App integration within Workforce is achieved by creating a URL scheme for each point of integration and storing that scheme in the project JSON file. Here are the integrations for Survey123 and Collector.
Workforce handles this for you, but you can create and alter URL schemes yourself! In fact, you can modify the app integration in your Workforce project as well. We will save these details for a follow-on blog article.
Navigator App Integration
The Navigator URL scheme is used by Workforce, Collector and Explorer. However, you can generate the URL scheme yourself and remotely control Navigator from a 3rd party app, a text message or email as well.
As described within this Github repo, Navigator’s URL scheme can be parameterized as follows:
- Display directions to a single location
- Specify a custom start point
- Generate directions to multiple stops
- Enable route optimization
- Set travel mode
- Automatically start navigating
- Enable notifications when navigation completes
Here are a couple of examples of what you can do.
Get directions to a single stop:
arcgis-navigator://?stop=43.651508,-70.290554&stopname=Bissell+Bothers
Optimize stops:
arcgis-navigator://?stop=43.65958,-70.25118&stop=43.65761,-70.25388&optimize=true
Survey123 App Integration
Survey123, similar to Navigator, can be remotely controlled by other apps. It is commonly used by Workforce to complete specific types of work assignments or integrated with Collector to complete forms.
Well documented on the Survey123 website, you can:
- Start the Survey123 app
- Open a specific Survey by itemID
- Pass location for a geopoint question
- Pass predetermined answers to questions
The following blog is a step-by-step tutorial illustrating integration between Explorer and Survey123.
Explorer App Integration
When dropping a pin on the map or from the popup details of a selected feature, you can ask Explorer for Directions. By default, Explorer will provide a menu of navigation apps that are installed on your device that can be remotely controlled. Within the settings you can alter that list to always launch your favorite navigation app as well.
Similarly, by using the Explorer URL scheme in your app, website, email or text message, the recipient can open Explorer. Details regarding the URL scheme for Explorer can be found here.
You can even open a public Mobile Map Package:
arcgis-explorer://?itemID=6ca5f9cfea0c47b2969ee9750693301f
Collector App Integration
As with the apps mentioned above, Collector supports app integration natively from Workforce and to Navigator. It’s URL scheme is relatively new and extensive.
Well documented on the Collector Github repository, you can:
- Start the Collector app
- Open a web map using its ItemID
- Center at a given location
- Initiate a new feature collection
- Initiate a new feature collection and specify attributes
Here are a couple of examples.
Center at a given location:
arcgis-collector://?itemID=35b1ccecf226485ea7d593f100996b49¢er=34.0547155,-117.1961714
Initiate a new feature collection and specify attributes:
arcgis-collector://?itemID=5d417865c4c947d19a26a13c7d320323¢er=43.524080, 5.445545&featureSourceURL=http://sampleserver5a.arcgisonline.com/arcgis/rest/services/LocalGovernment/Recreation/FeatureServer/0&featureAttributes={”quality”:2,“observed”:1502917218285}
Esri’s field apps have introduced a significant pattern of integration leveraging the URL Scheme concept. Using this pattern, apps can work together to complete a variety of workflows. We will be writing a number of app-specific blog articles on this topic moving forward.
Commenting is not enabled for this article.