自助服务终端应用

自助服务终端应用是在 ChromeOS 上始终使用单一应用自助服务终端模式以全屏模式运行且不允许用户退出应用的 Chrome 应用。自助服务终端应用非常适合专用 Chrome 设备,例如宾客登记处、图书馆目录站或商店的销售终端系统。

自助服务终端应用可以手动启动,也可以设置为在设备启动时自动启动。您可以为每台设备手动启用单一应用自助服务终端模式,也可以使用 Chrome 管理控制台在多台设备上启用,从而将 Chrome 设备用作自助服务终端。

外观

自助服务终端应用启动后,用户体验将专注于由应用定义的任务。该应用看起来与传统的 Chrome 浏览器不同:没有窗口框架、多功能框(地址栏)、没有标签页栏,也没有其他浏览器界面元素。因此,作为开发者,您可以随心所欲地使用屏幕的每个像素。

展示方式

如果将自助服务终端应用配置为使用单一应用自助服务终端模式在 ChromeOS 上运行,用户就无法控制应用的生命周期。用户无法退出应用或切换到其他任务。不过,作为应用开发者,您可以在应用内提供“退出”或“退出”按钮来关闭应用的所有窗口,这样会终止会话并让用户返回到登录屏幕。

单一应用自助服务终端模式会通过下载并安装应用来优化带宽用量和速度,因此每次都可以启动而不会出现安装延迟。每次启动自助服务终端应用时,系统都会检查 Chrome 应用商店中的更新,以确保已安装最新的应用版本,除非该应用已设置为离线启用。此后,系统会每 5 小时检查一次更新,并安装更新(如果有)。如果设备处于离线状态,系统会在应用恢复在线状态后重新安排更新。

应用使用 FileSystem API 存储的所有数据在应用的执行过程中都保持不变,让您可以下载并缓存应用离线时可能需要的所有资源。作为开发者,您需要确保在离线时将用户数据存储在本地,然后在在线后将其同步到数据服务器(请参阅离线优先)。

安装好这款应用后,走到 ChromeOS 设备的任何人都可以使用。用户无需登录即可使用单一应用自助服务终端模式。

如何开发自助服务终端应用

如果您知道如何构建 Chrome 应用,那么知道如何构建自助服务终端应用,因为它们使用相同的应用架构。您只需在应用的清单文件中将 "kiosk_enabled" 设置为 true。然后,您的应用就可以在常规会话或单一应用自助服务终端模式下运行。如果您希望应用仅在单一应用自助服务终端模式下运行,则还应将 "kiosk_only" 设置为 true。这可以防止应用在常规会话中启动。例如:

{
  "app" : {
    "background" : {
      "scripts" : ["background.js"]
    }
  },
  "manifest_version" : 2,
  "name" : "My Kiosk App",
  "version" : "1.0",
  ...

  // Set as Kiosk App
  "kiosk_enabled" : true,
  "kiosk_only" : true
}

如需确定应用是在常规会话还是单应用自助服务终端模式下运行,您可以检查 app.runtime.onLaunched 事件的 launchData 对象中包含的 isKioskSession 布尔值。

如果您希望通过应用创收,应用必须处理所有付款逻辑。您不能通过 Chrome 应用商店付款流程通过自助服务终端应用创收。

示例应用