Manifest for storage areas(清单存储区域)

警告

重要提示:Chrome 将在所有平台上取消对 Chrome 应用程序的支持。 Chrome 浏览器和 Chrome 网上应用店将继续支持扩展。阅读公告并了解有关迁移应用程序的更多信息。

与本地和同步存储区不同,托管存储区要求将其结构声明为 JSON Schema,并经过 Chrome 严格验证。此架构必须存储在“storage”清单键的“managed_schema”属性指示的文件中,并声明应用程序支持的企业策略。

策略类似于选项,但由系统管理员而不是用户配置,允许为组织的所有用户预配置应用程序。了解 Chrome 如何处理 Chrome 本身的示例的政策

声明策略后,可以从 storage.managed API 读取它们。由应用程序来强制执行管理员配置的策略。

# Sample manifest.json(示例)

storage.managed_schema 属性指示应用程序中包含策略架构的文件。

{
  "name": "My enterprise app",
  "storage": {
    "managed_schema": "schema.json"
  },
  ...
}

然后,Chrome 将从底层操作系统和 Google Apps 为登录用户加载这些策略。每当检测到策略更改时都会触发 storage.onChanged 事件,包括当应用程序使用事件页面(event pages)时浏览器未运行时。您可以在 chrome://policy 验证 Chrome 加载的政策。

# Schema format(格式)

JSON Schema 格式对 Chrome 有一些额外的要求:

  • top-level必须具有类型object
  • top-level object不能有 additionalProperties。声明的properties是此应用程序的策略。
  • 每个模式必须有一个 $ref 值或只有一种type

如果架构无效,Chrome 将不会加载扩展程序,并会指出架构未验证的原因。如果策略值不符合架构,则 storage.managed API 将不会发布它。

# Sample schema

{
  "type": "object",

  // "properties" 将此对象的可选键映射到其架构。在
  // top-level object(顶级对象),这些键是支持的策略名称。
  "properties": {

    // 策略名称“AutoSave”映射到其架构,在本例中 
    // 将其声明为一个简单的布尔值。
    // "title" 和 "description" 是可选的,用于显示一个 
    // 向管理员提供用户友好名称和文档。
    "AutoSave": {
      "title": "Automatically save changes.",
      "description": "If set to true then changes will be automatically saved.",
      "type": "boolean"
    },

    // 支持的其他简单类型包括 "integer", "string" and "number".
    "PollRefreshRate": {
      "type": "integer"
    },

    "DefaultServiceUrl": {
      "type": "string"
    },

    // "array" 是符合另一个模式的项目列表,描述
    // 在“items”中。这种模式的一个例子是 [ "one", "two" ]。
    "ServiceUrls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },

    // 一个描述书签列表的更复杂的例子。每个书签 
    // 有一个“title”,可以有一个“url”或一个“children”书签列表。
    // “id”属性用于命名模式,其他模式可以重用 
    // 它使用“$ref”属性。
    "Bookmarks": {
      "type": "array",
      "id": "ListOfBookmarks",
      "items": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "url": { "type": "string" },
          "children": { "$ref": "ListOfBookmarks" }
        }
      }
    },

    // “object”可以具有列为“properties”的已知属性,并且可以 
    // 可选地具有“additionalProperties”指示要应用的模式 
    // 在“properties”中找不到的键。
    // 此示例策略可以将 URL 映射到其设置。示例值:
    // {
    //   "youtube.com": {
    //     "blocklisted": true
    //   },
    //   "google.com": {
    //     "bypass_proxy": true
    //   }
    // }
    "SettingsForUrls": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "blocklisted": { "type": "boolean" },
          "bypass_proxy": { "type": "boolean" }
        }
      }
    }
  }
}

By.一粒技术服务

results matching ""

    No results matching ""