启用自适应内容
选择一种身份验证方法将用户数据传递给 GitBook。
要开始为读者自定义文档体验,您需要启用自适应内容并决定如何将访客数据传递给 GitBook。这样,您站点的内容就可以根据查看者动态调整。
启用自适应内容
在您能够将用户数据传递给 GitBook 之前,您需要将站点配置为使用自适应内容。
前往您的 站点设置,并启用 自适应内容 在站点的受众设置中。一旦启用,系统会生成一个“访客令牌签名密钥”,您需要该密钥以继续完成自适应内容的设置。
设置您的访客模式(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
}动态字符串(未使用 enum 键定义的字符串)仅接受用于 内联表达式。用于元素可见性(页面、部分、块)的条件表达式仅适用于使用 enum 键定义的字符串。
以布尔值形式传递的声明。
{
"type": "object",
"properties": {
"isBetaUser": {
"type": "boolean",
"description": "访客是否为测试用户。"
},
},
"additionalProperties": false
}将声明嵌套在对象中以对类似值进行分组。
{
// 顶层声明
"type": "object",
"properties": {
// 嵌套声明
"access": {
"type": "object",
"description": "用户对产品功能的访问权限",
"properties": {
"isAlphaUser": {
"type": "boolean",
"description": "访客是否为 Alpha 用户。"
},
"isBetaUser": {
"type": "boolean",
"description": "访客是否为测试用户。"
},
},
"additionalProperties": false
}
},
"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。
最后更新于
这有帮助吗?