Policy Support

Policies are JSON formatted configuration files containing all available settings for the Kiosk app. These can be applied to groups of managed devices via the Chrome Management Console. Policies can be imported and exported directly from the Kiosk Enterprise admin page or edited manually. More detailed setup instructions under Set device policies.


Remote Schedule Server

Accepts a URL to a JSON feed for a content schedule. If no item is currently scheduled, the default content (specified by the Content URL on Kiosk setup page) is used. Default content will be overridden by scheduled items. Schedule URL is polled at configurable interval. kiosk_t parameter is appended to the URL with a value of the current timestamp to prevent caching of the schedule. Schedule should be formatted according to (a simplified version of) the format provided by Chrome Sign Builder (exported schedules from Chrome Sign Builder are currently supported without support for screen position, repetition or display settings):

{
  "schedule": {
    "Value":  {
      "items": [
        {
          "content": "http://www.github.com",
          "end": "Tue Jul 14 2015 12:30:00 GMT-0500",
          "start": "Tue Jul 14 2015 09:30:00 GMT-0500",
        },
        {
          "content": "http://www.google.com",
          "end": "Tue Jul 15 2015 12:30:00 GMT-0500",
          "start": "Tue Jul 16 2015 09:30:00 GMT-0500",
        }
      ]
    }
  }
}

Note:

Remote schedule server must have CORS headers set or the Allow-Control-Allow-Origin:* Chrome extension can be installed to allow access. JSONP is not an option since scripts from arbitrary domains cannot be executed inside Chrome extensions.


Tokens

Tokens in URLs (content, screensaver, and token service URLs all support tokens) are only replaced if a matching token is found, otherwise the braces and token name are left intact. The token service is expected to return a JSON object. Any values in this object will be available as tokens using lodash get syntax. For example, if your token service returns

{
  location: { 
    type: 'produce'
  }, 
  fruit: [ 
    { 
      id: 1,
      type: 'apple'
    }, 
    { 
      id: 2, 
      type: 'orange'
    } 
  ] 
}

you could use tokens such as {fruit[0].id} or {location.type}. Internally, the request to fetch the json from the token service uses jQuery.getJSON so you should either enable CORS or ideally support JSONP and include the callback=? parameter in your token service URL. The token service URL can only support system or custom tokens. The “custom tokens” field works similarly to the token service. You can specify a json object and any contents will be available as tokens. Generally this is used to set tokens on device groups via Chrome Device Management Console. The order of precedence for tokens (if they have the same key names) is:

  1. custom tokens

  2. token service

  3. system tokens.