Deep Links
Overview / Introduction
Deep links are a type of link that sends users straight to specific, in-app locations, saving users the time and energy locating a particular page themselves. Deep linking does this by specifying a custom URL scheme (iOS Universal Links) or an intent URL (on Android devices) that opens GoSpotCheck app, if it’s already installed.
Deep links can direct a user to several places in the GSC application. It allows you to configure a mapping between a request handler and microflows. In this way, you can create additional entry points to access specific parts of our application.
Context
The purpose of this document is to document the deep link implementation for the mobile applications. Deep links refers to the use of a well formatted URI to launch the GSC app from a third-party application and link to a specific page deep within the GSC mobile application. For example, launching to a specific mission page given a userID, placeID and missionID.
How does it work?
The URI
A third party mobile application will code a URI on a button, or other user experience, that looks like the following: gospotcheck://places/11771835/missions/77923?user_id=143189
- gospotcheck:// - this identifies the app to open on the device
- places/11771835 - this identifies the specific place to open. In this example, this is Crown Mart 15 in St. Louis, MO.
- missions/77923 - This identifies the mission campaign ID to open. In this example, this is Restock Mission.
- user_id=143189 - This identifies the user. In this example, this is Andrew Samuels
Our application will conduct a series of checks to determine if the URI is valid and where to take the user.
Supported Deep link Routes
There are two main cases that start in a customer application and end in the GoSpotCheck app.
- User selects a button in the customer app and is automatically launched into the GSC application. The user will land on the GSC home screen, or whatever page in GSC mobile they were looking at previously, if they have a currently active session.
- Example URI: gospotcheck://open
- User selects a button in the customer app and is automatically launched to a specific mission within the GoSpotCheck app.
- Example URI: gospotcheck://places/11771835/ missions/77923? user_id=143189
-
User selects a button in the customer app and is automatically launched to the Image Recognition Results of a specific mission response, where they can make tag edits.
-
gospotcheck://companies/4157/mission_responses/197748705/scenes?
-
For a list of places we can currently deep link into GoSpotCheck, see the table below:
Location | Deep Link |
Home Screen | gospotcheck://home/ |
Place Details | {{gospotcheck://places/{id}?user_id=}} |
Place List |
gospotcheck://companies/*/places/ No longer supported: {{gospotcheck://places/?user_id=}} |
Mission List | gospotcheck://companies/{id}/missions/ |
Activity Tab | gospotcheck://companies/{id}/mission_responses/ |
Start Mission | {{gospotcheck://companies/{id}/missions/{id}/places/{id}/}} |
Mission List Screen | {{gospotcheck://places/{id}/missions/?user_id=}} |
Select Place for a Mission | {{gospotcheck://companies/{id}/missions/{id}/}} |
Mission Response on the Activity Tab | gospotcheck://companies/{id}/mission_responses/{id}/ |
Image Recognition Results |
gospotcheck://companies/{id}/mission_responses/{id}/scenes |