# Requirements
The following documentation details the minimum requirements necessary for using various parts of Esper.
# Web-Based Console (*.esper.cloud)
The Console is validated against the following desktop browsers:
- The five most-recent Chrome versions
- The five most-recent Firefox versions
- The two most-recent Edge versions
- The three most recent Safari versions
At present, viewing the console on mobile devices is not supported.
# Dedicated Android Devices
Targeted Dedicated Devices must run Android version 5.0 Lollipop (API Level 21) or above. However, we recommend that devices running Android version 7.0 Nougat (API Level 24) or above be used with Esper.
Esper Development Devices running Esper Enhanced Android will always be supported be used. Such devices open up additional features for developers when using Esper.
We support the following Android versions:
- 5.0 Lollipop
- 5.1 Lollipop MR1
- 6.0 Marshmallow
- 7.0 Nougat
- 8.0 Oreo
- 8.1 Oreo MR1
- 9.0 Pie
- 10.0 Q
- 11.0 Red Velvet Cake
- 12.0 Snow Cone
# Esper Feature Support
# If you have any questions about what feature support we offer for your device, please contact support@esper.io
# Legend:
- ✔️ - Feature Supported
- ❌ - Feature Not Supported
- ❗️ - A prompt will be provided to the user, which then has to be approved unless a supervisor is present, in which case silent application install/uninstall is supported.
- ❓ - Partially supported. This option is only supported if a supervisor is available.
Android 5.0 (Lollipop) | Android 5.1 (Lollipop MR1) | Android 6.0 (Marshmallow) | Android 7.0 (Nougat) | Android 7.1 (Nougat MR1) | Android 8.0 (Oreo) | Android 8.1 (Oreo MR1) | Android 9.0 (Pie) | Android 10.0 (Q) | |
---|---|---|---|---|---|---|---|---|---|
Managed Google Play | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
App Install/Uninstall | ❗️ | ❗️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
App Permission Management | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Remote Viewer & Screenshot | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Device Commands | |||||||||
Reboot | ❓ | ❓ | ❓ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Location Control | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Brightness Control | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Volume Controls | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Rotation Control | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Screen Timeout Control | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Policy Features | |||||||||
Disable Lockscreen | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Camera | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Status Bar | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable NFC Beam | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Outgoing Calls | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Factory Reset | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable USB Connectivity | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Screenshot | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable Safe Mode | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disable SMS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Enforce Password Rules | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Enforce Default App Permissions | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Safety Net | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Device Telemetry | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Kiosk Mode & Lockdown | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
# Infrastructure
Dedicated devices are often behind corporate firewalls, preventing the Esper backend from communicating with them (or vice-versa). Please make sure to whitelist the following URLs and ports, in case your fleet is running behind such a firewall.
# Firewall Requirements
Dedicated devices are often behind corporate firewalls, preventing Esper's backend from communicating with them (or vice-versa). Please make sure to whitelist the following URLs and Ports if your fleet runs behind such a firewall.
FQDNs | Ports | Features |
---|---|---|
*.amazonaws.com | TCP: 443 (HTTPS), TCP: 8883 (MQTT) | For provisioning, app management and device management |
mqtt.shoonyacloud.com | TCP: 1883 (MQTT) | For MQTT communication with devices |
services.shoonyacloud.com | TCP: 443 (HTTPS) | Provisioning services and Remote Viewer APK |
turn.shoonyacloud.com | TCP/UDP: 3478 (SCTP), TCP/UDP: 5349 (SCTP), UDP: 49152 - 65535 | For Remote Viewer and Remote Control services |
dpcdownloads.esper.cloud | TCP: 443 (HTTPS) | For the 6-tap QR code method of provisioning and Remote Viewer APK |
[customer endpoint].esper.cloud | TCP: 443 (HTTPS) | Grants access to the Esper Console when operating under a network with a restricted outbound firewall |
[customer endpoint]-api.esper.cloud | TCP: 443 (HTTPS) | For communicating from the device to the Esper Endpoint. (example: device status events and command success/failure messages) |
mqtt-telemetry-prod.esper.cloud | TCP: 1883 (MQTT) | Deep telemetry from devices |
IP: 13.52.132.230 | TCP: 40000 - 50000 | For allowing secure remote ADB access to your devices |
firebaseinstallations.googleapis.com and fcm.googleapis.com | TCP: 443 (HTTPS), TCP: 5228 (HTTPS), TCP: 5229 (HTTPS), TCP: 5230 (HTTPS) | Backup channel, also used for ping command to wake up a device (Only for GMS devices) |
time.android.com | UDP: 123 NTP(SNTP) | Used to actively synchronize the device's time. |
ip-api.com | TCP: 444 (HTTP) | Used when the OS boots for the first time (post-installation) to set up the timezone. |
TIP
For static IP, please get in touch with the Esper team (opens new window).
# Esper Dev Tools Requirements
Various Esper tools and SDK require a Python installation. The table below lists the requirements for Python, depending on the tool you would like to use. Python can be downloaded and installed from python.org (opens new window).
Tool | Python 2.7 | Python 3.6+ |
---|---|---|
Esper SDK | Yes | Yes |
Esper CLI | Yes |
# Esper SDK Language Support
- Python
To use the Esper Python SDK, please ensure you are using Python v2.7 or above.
Note: Esper plans to release SDK support for Kotlin, Java, and JavaScript. If you are using a language other than Python and would like to start work with the Esper APIs right away, please consider calling the APIs directly. You can refer to the Esper API documentation here.
# Supported Development Platforms
- MacOS
- Windows
- Linux
At Esper, our developers use all of the above platforms to interact with Esper itself. So feel free to use whatever platform fits well for you!
# Help
If you face any issues setting up your requirements for Esper, please don't hesitate to ask for some help! We'll be happy to assist you.