通过 EMM 部署
什么是 EMM?
Section titled “什么是 EMM?”企业移动管理平台(EMM)让 IT 团队集中管理一组 Android 平板。常见平台包括 Microsoft Intune、Jamf Pro、Esper、Scalefusion 和 Samsung Knox。通过 Managed Google Play 添加 Jonot 应用后,EMM 可以向每台设备发送托管配置。应用会在启动和管理员更改配置时读取这些键值设置,无需重新构建 APK。
注册 Managed Google Play
Section titled “注册 Managed Google Play”在推送配置之前,您的 Jonot 应用必须在您 EMM 的应用目录中可用:
- 按照 Google 的从 Google Play 导入应用指南,将 Jonot Kiosk 和 Jonot Desk 添加到您的 Managed Google Play 账户。
- 在您的 EMM 中,将两个应用都添加到您用于自助终端/服务台平板的设备配置文件。
- EMM 会自动发现每个应用的托管配置模式(定义在 APK 内的
app_restrictions.xml中)。无需手动导入模式。
两个应用共享相同的键,除了 URL 覆盖(自助终端使用 kioskUrlOverride;服务台使用 deskUrlOverride)。除非另有说明,所有键都是可选的,默认为空。
pairingCode(字符串) — 首次启动时自动配对设备。应用将代码注入 SPA,员工无需在设备上输入包含 7 个字符的配对代码。按设备设置 — 每台平板设置不同的值。managerPin(字符串) — 集中设置管理员 PIN。设置后,应用会跳过设备上的首次 PIN 设置对话框。留空则由现场员工手动设置。推送新值也是找回遗忘的 PIN的推荐方式,无需接触设备。allowEscapeHatch(布尔值,默认true) — 设为false可完全禁用右上角五次点按手势。适用于不允许现场退出的高流量公共自助终端。kioskUrlOverride/deskUrlOverride(字符串) — 高级,仅限预发布/局域网。 覆盖内置的 SPA URL(https://kiosk.jonot.io或https://desk.jonot.io)。生产环境请留空。apiOriginOverride(字符串) — 高级,仅限预发布/局域网。 覆盖内置的 API 源(https://api.jonot.io)。生产环境请留空。
在您的 EMM 中部署设置
Section titled “在您的 EMM 中部署设置”具体界面因 EMM 而异,但一般步骤是:
- 在您的 EMM 控制台中,打开 Jonot Kiosk 或 Jonot Desk 的托管应用配置。
- EMM 会将配置结构显示为表单。填写需要设置的键,其余留空即可使用默认值。
- 将配置分配给您的设备组或单台设备。
- 推送配置。设备在线时应用立即收到,否则在下次签到时收到。
- 应用读取并应用新配置。URL 和源变更会重新加载 WebView,并重置正在进行的顾客流程。
推荐的按部署设置
Section titled “推荐的按部署设置”pairingCode: 您 Jonot 管理后台中该设备的配对代码。managerPin: 您的企业 IT PIN 策略(或留空以便现场设置)。allowEscapeHatch: 大多数部署用true;仅在永远不需要现场管理访问时用false。
URL 覆盖
Section titled “URL 覆盖”标准生产部署不需要 URL 覆盖键。仅在以下情况设置:
- 您正在针对预发布环境测试。
- 您在本地局域网上有本地部署的离线主机。
如果设置了 URL 覆盖,请同时确保设备的 ALLOW_CLEARTEXT 构建配置允许 HTTP(用于局域网 URL)。这需要自定义构建 — Play Store 构建始终默认将明文流量(cleartext)设为 false。
- 自动配对(
pairingCode):每次页面加载后,应用会将代码写入 SPA 的window.__JONOT_MANAGED_PAIRING_CODE。SPA 启动时读取该值并自动完成配对。向已配对设备推送相同代码不会产生变化。推送不同代码会再次触发配对。 - 管理员 PIN(
managerPin):存储在设备的加密 SharedPreferences 中,使用与设备 PIN 设置相同的键。下次打开管理员入口时生效。设置后,EMM 推送的 PIN 优先,并在每次应用启动或配置变更时覆盖设备上的 PIN。 - 管理员入口(
allowEscapeHatch):配置变更后立即生效,无需重启。 - URL/源覆盖:配置变更时应用。应用重新加载到新 URL — 进行中的顾客流程会被重置。