Application management is a key responsibility for device management. A fleet should run the same version of an application to create a uniform experience. In this article, we explain the types of applications and actions a blueprint takes to sync and maintain your device’s applications.
In this article:
- Understanding App Source Types
- Application Sync Scenarios
Understanding App Source Types
Depending on the source type, the application might be able to be updated or uninstalled. Likewise, if that application has a certain source type, it may be impossible to uninstall or specify its updated version.
Esper categorizes apps into three source types:
- Preload: Apps pre-installed on a device. Sometimes referred to as System or Pre Side-Loaded apps.
- Enterprise: Apps uploaded to the Esper Cloud and then installed on a device.
- Play Store: Apps installed from the Play Store. Only available for GMS devices. You may need to approve these apps before being able to install them.
When you create a blueprint, you specify which kinds of apps should be installed on the device, when they should be installed, and how they appear. However, some applications already come pre-installed on your devices. Other types of applications might not allow manual updates or uninstalls.
We’ve laid out what happens for each source type when you attempt to install, uninstall, update, or downgrade these applications in Application Sync Scenarios.
You can check the applications installed on your devices in Devices & Groups > device > Apps.
Types of Preload Apps
Preload apps include all apps that come installed on a device. These apps might include System apps, such as Clock, and pre-side-loaded apps such as Google Chrome and YouTube. Once a device is provisioned, the Esper Cloud recognizes these apps as:
- Can’t be uninstalled: System Apps cannot be uninstalled.
- Uninstallable: Pre-side-loaded apps can be uninstalled.
Apps installed through OS updates after provisioning will be considered Preload as well.
After a device is onboarded and provisioned, preloaded apps are hidden by default.
Source Types at a Glance
There are advantages and disadvantages to both types of apps.
Enterprise Apps | Play Store Apps |
|
|
Enterprise Apps
Enterprise Apps are apps uploaded to the Esper Cloud, such as an application developed for your use case. They appear in the Enterprise tab of the Apps section. As an admin, you can specify which version of these apps appear on your devices through a blueprint. Because of this, they’re often easier than Play Store apps when it comes to controlling application versions. Apps installed locally are also considered Enterprise apps, such as those installed via the Device SDK or the API.
Play Store
Apps installed from the Google Play Store are Play Store apps.
Special Cases
Not all apps can fit neatly into one of the above categories. There are two special categories:
- Enterprise-Preloaded: If a device comes preinstalled with an app at a higher version than the Enterprise app, then it is considered an Enterprise-Preload app. If removed from a blueprint, it will be brought down to the Preload version and its source type will be Preload.
- Play Store-Preloaded: If a device comes preinstalled with an app at a higher version than the Enterprise app, then it is considered a Play Store-Preload app. If removed from a blueprint, it will be brought down to the Preload version and its source type will be Preload.
In the Application Scenarios section, you’ll see how a blueprint determines the actions and source types of these special applications.
Application Sync Scenarios
Blueprints determine the types of applications and versions on a device. Whenever the device interacts with the Esper Cloud, it syncs with its assigned blueprint. From there, it will execute the actions specified in the blueprint.
App Sync Modes at a Glance
Enforce | Do Not Enforce |
|
|
How do blueprints sync different app types? The following scenarios explain what happens to applications before and after a blueprint sync based on the app sync mode.
Enforce
When apps and versions are enforced, only the apps listed in the blueprint will be shown on the device. All other apps will be hidden or uninstalled. Some apps, such as sideloaded apps, are excluded from this behavior.
Do Not Enforce
When apps and versions aren't enforced, apps listed in the blueprint, as well as those installed through Esper and from other sources, are shown on the device. Preloaded apps are hidden by default.
Enforce Mode
The Enforce Sync Mode is available in a blueprint’s Apps & Configuration section.
Use Enforce mode to lock down devices according to the apps defined in the blueprint. All other apps will be hidden or uninstalled based on the scenario.
Preloaded Apps (Enforce Mode)
Before blueprint sync | After blueprint sync | ||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
Yes | Preload | Any | Yes |
|
Esper will update the application and app source. |
Yes | Preload | Any | Yes | Downgrade | Blueprint converge fails. App cannot be downgraded. |
Yes | Preload | Any | Yes | Same version | App version remains as it is. App source changes. |
Enterprise (Enforce Mode)
Before blueprint sync | After blueprint sync | |||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
New Source Type |
No | Not Applicable | None | Yes | Fresh Install | The application will be installed. | Enterprise |
Yes | Enterprise | Multi-App | No | Uninstall | The application will be uninstalled. | Not Applicable |
Yes | Enterprise | Any | Yes | Upgrade | The application will be upgraded on the device. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Downgrade | The application will be uninstalled and reinstalled with the provided lower version. A downgrade warning is shown. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Same version | The app remains unchanged. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Upgrade | The Esper Cloud upgrades the application and its source changes to Play Store. | Play Store |
Yes | Enterprise | Any | Yes | Downgrade | The application uninstalls and reinstalls as a Play Store source type. A downgrade warning is shown. | Play Store |
Yes | Enterprise | Any | Yes | Same version | The application stays the version it is, and the source changes. | Enterprise |
Play Store (Enforce Mode)
Before blueprint sync | After blueprint sync | |||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
New Source Type |
No | Not Applicable | None | Yes | Fresh Install | The application will be installed. There may be a delay between the sync and when the application is installed by the Play Store. | Play Store |
Yes | Play Store | Multi-App | No | Uninstall | The application is uninstalled. | Not Applicable |
Yes | Play Store | Any | Yes | Upgrade | Play Store applications auto-update. Whenever new versions are available, they will be updated. | Play Store (no change) |
Yes | Play Store | Any | Yes | Downgrade | Not possible. | Play Store (no change) |
Yes | Play Store | Any | Yes | Upgrade with the Enterprise app | Esper Agent updates the application and the application source type will change. | Enterprise |
Yes | Play Store | Any | Yes | Downgrade | The application will be uninstalled and reinstalled with the provided lower version. A downgrade warning is shown and the source changes. | Enterprise |
Yes | Play Store | Any | Yes | Same Version | The application stays the version it is, and the source changes. | Play Store |
Kiosk Mode (Enforce Mode)
The following scenario affects apps in Kiosk mode with any source type.
Before blueprint sync | After blueprint sync | |||
Present on Device |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted action by blueprint |
Result |
Yes | Kiosk | No | Not applicable |
The application will be uninstalled if: 2. Another app is pinned as a Kiosk app |
Yes | Kiosk | Yes | Switch to Multi-app | The application will remain on the device. |
Yes | Kiosk | Yes | Switch to a different Kiosk Mode app | The application will remain on the device. |
In this scenario, you’ll be prevented from saving a blueprint until you’ve chosen a new kiosk app or you’ve switched the blueprint to Multi-app mode.
Locally Installed Apps (Enforce Mode)
Apps can be installed locally if enabled through a blueprint. Once converged, these applications are considered Enterprise applications.
If a locally installed app is updated locally, the application is considered an Enterprise app.
Before blueprint sync | After blueprint sync | |||||
Present on Device | Previous Source Type | Mode (Multi-App or Kiosk) | Present in blueprint? | Attempted Action by blueprint | Result | New Source Type |
Yes | Enterprise (Local Install) | Multi-App | No | Uninstall | The application will be uninstalled. | Not applicable |
Yes | Enterprise (Local Install) | Any | Yes | Upgrade | The Esper Agent upgrades the application. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade | The current application will be uninstalled and will be reinstalled with a lower version. A warning will show in the console. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Upgrade | The app is updated and the source type changes. | Play Store |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade | The app is uninstalled and reinstalled with an older version (if available on the Play Store). A downgrade warning will show. | Play Store |
Yes | Enterprise (Local Install) | Any | Yes | Same Version | The application version stays as is. The source type changes. | Play Store |
Downgrade Scenarios (Enforce Mode)
Android does not natively support downgrades. However, Esper allows you to downgrade certain apps. The scenarios listed below are considered complex use cases that most users won’t run into every day.
Before blueprint sync | After blueprint sync | |||||
Present on Device | Previous Source Type | Mode (Multi-App or Kiosk) | Present in blueprint? | Attempted Action by blueprint | Result | New Source Type |
Yes | Enterprise | Kiosk | Yes | Downgrade | The application will be uninstalled. The lower version will be reinstalled and a warning will show in the console. | Not applicable |
Yes | Enterprise | Kiosk | Yes | Downgrade | The application will be uninstalled. The lower version will be reinstalled and a warning will show in the console. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade | The application will be uninstalled. The lower version will be reinstalled and a warning will show in the console. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade | Not possible. The app cannot be downgraded. | Play Store |
App State Syncs (Enforce Mode)
Converging devices also affects app state, meaning some apps will appear on the device, while others could be hidden or disabled.
Action | Result | Note |
Converge with apps in the SHOW state | Apps in the SHOW state will be shown on the device, the rest will be in the HIDE state. | For example, if an app was added on a device that’s not mentioned in the blueprint, it will go into the HIDE state once the device converges with the blueprint. |
Converge with apps in the HIDE state | Apps in the HIDE state will be hidden on the device, the rest will also be hidden. | |
Converge with apps in the DISABLE state | Apps in the disable state will be DISABLE, the rest will be hidden. | Some apps, such as the settings app, cannot be disabled and can only be hidden. |
Converge with non-launchable apps. | Non-launchable apps will not be in the foreground but will be allowed to run in the background. | These apps will be in the SHOW state but will not be visible in the foreground. Instead, these apps will run in the background. |
Converge with no apps. | Enterprise-installed apps will be uninstalled. Other types of apps will be hidden. |
Managed Config (Enforce Mode)
A managed config is an app’s customizable settings. It may be set through a blueprint or from the device's app page. However, when a device converges with a blueprint, the managed config in the blueprint will take effect.
Action | Result |
Converge with apps with managed configs. | Apps will install and configs will be set. |
Converge apps without managed config. | Apps will install and configs will not be set. |
Do Not Enforce Mode
This mode is available in a blueprint’s Apps & Configuration section.
When this mode is selected, the Esper-managed apps not listed in the blueprint will remain on the device, even if the currently converged blueprint does not mention them. For example, devices may install apps from a command, the API, or through a pipeline. These Esper-managed apps won’t be removed from the device through a blueprint converge action, but can still be removed manually. Basically:
- This mode is ideal for users who don’t want apps uninstalled or downgraded.
- Android devices on Esper Agent 8.0+ have access to this mode.
- Downgrades and uninstallations won’t happen in this mode.
Preloaded Apps (Do Not Enforce Mode)
Before blueprint sync | After blueprint sync | ||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
Yes | Preload | Any | Yes |
|
Esper will update the application and app source. |
Yes | Preload | Any | Yes | Downgrade | Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. |
Yes | Preload | Any | Yes | Same version | App remains as it is. |
Enterprise (Do Not Enforce Mode)
Before blueprint sync | After blueprint sync | |||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
New Source Type |
No | Not Applicable | None | Yes | Fresh Install | The application will be installed. | Enterprise |
Yes | Enterprise | Multi-App | No | No action | The application will remain on the device in its previous state. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Upgrade | The application will be upgraded on the device. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Downgrade | Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Same version | The app remains unchanged. | Enterprise (no change) |
Yes | Enterprise | Any | Yes | Upgrade with Play Store source type | The Esper Cloud upgrades the application and its source changes to Play Store. | Play Store |
Yes | Enterprise | Any | Yes | Downgrade |
Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. |
Enterprise |
Yes | Enterprise | Any | Yes | Same version | The application stays the version it is, and the source changes. | Enterprise |
Play Store (Do Not Enforce Mode)
Before blueprint sync | After blueprint sync | |||||
Present on Device |
Previous Source Type |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted Action by blueprint |
Result |
New Source Type |
No | Not Applicable | None | Yes | Fresh Install | The application will be installed. There may be a delay between the sync and when the application is installed by the Play Store. | Play Store |
Yes | Play Store | Multi-App | No | No action | The application will remain on the device in its previous state. | Not Applicable |
Yes | Play Store | Any | Yes | Upgrade with Play Store source type | Play Store applications auto-update. Whenever new versions are available, they will be updated. | Play Store (no change) |
Yes | Play Store | Any | Yes | Downgrade | Not possible. | Play Store (no change) |
Yes | Play Store | Any | Yes | Upgrade with Enterprise source type | Esper Agent updates the application and the application source type will change. | Enterprise |
Yes | Play Store | Any | Yes | Downgrade | Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. | Play Store |
Yes | Play Store | Any | Yes | Same Version | The application will remain on its current version. | Play Store |
Kiosk Mode (Do Not Enforce Mode)
The following scenario affects apps in Kiosk mode with any source type.
Before blueprint sync | After blueprint sync | |||
Present on Device |
Mode (Multi-App or Kiosk) |
Present in blueprint? |
Attempted action by blueprint |
Result |
Yes | Kiosk | No | Switch to new kiosk app | The previous kiosk app will remain on the device and the new kiosk app will be pinned. |
Yes | Kiosk | Yes | Switch to Multi-app | The application will remain on the device. |
Yes | Kiosk | Yes | Switch to a different Kiosk Mode app | The application will remain on the device. |
In this scenario, you’ll be prevented from saving a blueprint until you’ve chosen a new kiosk app or you’ve switched the blueprint to Multi-app mode.
Locally Installed Apps (Do Not Enforce Mode)
Apps can be installed locally if enabled through a blueprint. Once converged, these applications are considered Enterprise applications.
If a locally installed app is updated locally, the application is considered an Enterprise app.
Before blueprint sync | After blueprint sync | |||||
Present on Device | Previous Source Type | Mode (Multi-App or Kiosk) | Present in blueprint? | Attempted Action by blueprint | Result | New Source Type |
Yes | Enterprise (Local Install) | Multi-App | No | No action | The application will remain on the device in its previous state. | Not applicable |
Yes | Enterprise (Local Install) | Any | Yes | Upgrade with Enterprise source type | The Esper Agent upgrades the application. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade | Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. | Enterprise (no change) |
Yes | Enterprise (Local Install) | Any | Yes | Upgrade with Play Store source type | The app is updated and the source type changes. | Play Store |
Yes | Enterprise (Local Install) | Any | Yes | Downgrade |
Blueprint converge succeeds. App will not be downgraded. This mode does not support downgrades. |
Enterprise |
Yes | Enterprise (Local Install) | Any | Yes | Same Version | The application version stays as is. The source type changes. | Play Store |
App State Syncs (Do Not Enforce Mode)
Converging devices also affects app state, meaning some apps will appear on the device, while others could be hidden or disabled.
Action | Result | Note |
Converge with apps in the SHOW state | Apps in the SHOW state will be shown on the device, the rest of the apps will remain in their previous state. | For example, if an app was added on a device that’s not mentioned in the blueprint, it will remain in the SHOW state if it was in the SHOW state previously. |
Converge with apps in the HIDE state | Apps in the HIDE state will be hidden on the device, the rest will remain in their previous state. | |
Converge with apps in the DISABLE state | Apps in the disabled state will be DISABLE, the rest will remain in their previous state | Some apps, such as the settings app, cannot be disabled and can only be hidden. |
Converge with non-launchable apps. | Non-launchable apps will not be in the foreground but will be allowed to run in the background. | These apps will be in the SHOW state but will not be visible in the foreground. Instead, these apps will run in the background. |
Converge with no apps. | No changes will happen. |
Managed Config (Do Not Enforce Mode)
A managed config is an app’s customizable settings. It may be set through a blueprint or from the device's app page. However, when a device converges with a blueprint, the managed config in the blueprint will take effect.
Action | Result |
Converge with apps with managed configs. | Apps will install and configs will be set. |
Converge apps without managed config. | Apps will install and configs will not be set. |