启用自适应内容

选择一种身份验证方法将用户数据传递给 GitBook。

要开始为读者自定义文档体验,您需要启用自适应内容并决定如何将访客数据传递给 GitBook。这样,您站点的内容就可以根据查看者动态调整。

启用自适应内容

在您能够将用户数据传递给 GitBook 之前,您需要将站点配置为使用自适应内容。

前往您的 站点设置,并启用 自适应内容 在站点的受众设置中。一旦启用,系统会生成一个“访客令牌签名密钥”,您需要该密钥以继续完成自适应内容的设置。

A GitBook screenshot showing the enable adaptive content toggle
启用自适应内容

设置您的访客模式(schema)

启用自适应内容后,您需要为在用户访问站点时预计 GitBook 会接收的声明类型定义一个模式。

访客模式应反映这些声明发送到 GitBook 时的结构。

例如,如果您预计访客可能是产品的测试用户,则可以设置类似的访客模式:

{
  "type": "object",
  "properties": {
    "isBetaUser": {
      "type": "boolean",
      "description": "访客是否为测试用户。"
    }
  },
  "additionalProperties": false
}

这还将帮助您在配置声明时使用自动完成(autocomplete),在 条件编辑器中进行配置。访客模式仅支持以下类型:

以字符串形式传递的声明。

GitBook 接受动态字符串,这意味着您可以动态传递字符串数据,例如用户姓名、开发者令牌等。

字符串也可以包含一个 可选的枚举 键,这允许您将接收给 GitBook 的数据限制为其集合值之一。

{
  "type": "object",
  "properties": {
    "language": {
          "type": "string",
          "description": "访客的语言",
          // 可选的 enum 属性
          "enum": [
            "en",
            "fr",
            "it"
          ]
  },
  "additionalProperties": false
}

设置未签名声明

未签名声明是一种特定类型的声明,用于标识可能未由客户端应用签名但仍通过的声明。如果您通过 URL 参数、未签名的 cookie 或功能标志传递声明,则需要在访客模式中将这些声明设置为 未签名

如果您打算使用未签名声明,则需要在模式中与已签名声明并列的“unsigned”属性下声明您所期望的声明。

{
  "type": "object",
  "properties": {
    "isBetaUser": {
      "type": "boolean",
      "description": "访客是否为测试用户。"
    },
    // 添加未签名声明
    "unsigned": {
      "type": "object",
      "description": "站点访客的未签名声明。",
      "properties": {
        "language": {
          "type": "string",
          "description": "访客的语言",
          // 可选的 enum 属性
          "enum": [
            "en",
            "fr",
            "it"
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

向 GitBook 传递访客数据

GitBook 提供了不同的方式来传递访客数据以适配您站点的内容。定义模式后,您需要决定如何将访客数据传递给 GitBook。

最后更新于

这有帮助吗?