界面模板渲染指令

为了让你的技能能够通过屏幕展示和用户进行更好的交互,我们提供了几种不同的界面模板。

BodyTemplate1


{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type":"BodyTemplate1",
    "token": "S0wiXQZ1rVBkov...",
    "backgroundImage": {
        "sources": [
          {
            "url": "https://url-of-the-skill-image.com/brie-background.png"
          }
        ]
      },
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "title": "这是一个标题",
    "textField": "这里是字符串,用\n换行"
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是BodyTemplate1 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
textField 文本内容。用\n换行 Object

BodyTemplate2

{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type":"BodyTemplate2",
    "token": "S0wiXQZ1rVBkov...",
    "backgroundImage": {
        "sources": [
          {
            "url": "https://url-of-the-skill-image.com/brie-background.png"
          }
        ]
      },
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "title": "这是一个标题",
    "image":{
      "sources": [
        {
          "url": "https://url-of-the-skill-image.com/brie-background.png"
        }
      ]
    },
    "textField": "这里是字符串,用\n换行"
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是BodyTemplate2 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
image 模板中展示的图片 image Object
textField 文本内容。用\n换行 Object

BodyTemplete3

BodyTemplate3

{
  "directive": {
    "header": {
      "namespace": "TemplateRuntime",
      "name": "RenderTemplate",
      "messageId": "e52e7a4c...",
      "dialogRequestId": "49687be..."
    },
    "payload": {
      "token": "S0wiXQZ1rVBkov...",
      "type": "BodyTemplate3",
      "backgroundImage": {
        "sources": [
          {
            "url": "https://url-of-the-skill-image.com/brie-background.png"
          }
        ]
      },
      "backButton": "VISIBLE"(default) | "HIDDEN",
      "title":  "String",
      "skillIcon": {{IMAGE_STRUCTURE}},
      "textField": "String",
      "subtextField": "String"
    }
  }
}
参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是BodyTemplate3 String
title 模板标题 String
skillIcon 技能图标 image structure
textField 主文本内容 String
subtextField 副文本内容 String

ListTemplate1

{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type": "ListTemplate1",
    "token": "S0wiXQZ1rVBkov...",
    "backgroundImage": {
      "sources": [
        {
          "url": "https://url-of-the-skill-image.com/brie-background.png"
        }
      ]
    },
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "title": "这是一个标题",
    "listItems": [
      {
        "leftTextField": "这是显示在左边的文本",
        "rightTextField": "这是显示在右边的文本",
      },
      {
        "leftTextField": "这是显示在左边的文本",
        "rightTextField": "这是显示在右边的文本",
      },
      ...
    ]
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是ListTemplate1 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
listItems 列表选项,显示列表模板中的内容 Object
listItems.[i].leftTextField 列表项中左边的文本内容 String
listItems.[i].rightTextField 列表项中右边的文本内容 String

OptionTemplate1

不带图片的选项

{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type": "OptionTemplate1",
    "token": "string",
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "backgroundImage": "Image",
    "title": "string",
    "optionItems": [//按照返回顺序给序号,从1开始。
      {
        "token": "string",
        "primaryTextField": "String",
        "secondaryTextField": "String",
        "tertiaryTextField": "String",
      },
      ...
      ...
    ]
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是OptionTemplate1 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
OptionItems 列表选项,显示列表模板中的内容 List
OptionItems.[i].
token
选项的唯一标识,item被选择时设备应该上报被选择的item的token String
OptionItems.[i].
primaryTextField
选项的一级文本 String
OptionItems.[i].
secondaryTextField
选项的二级文本 String
OptionItems.[i].
tertiaryTextField
选项的三级文本 String

OptionTemplate2

{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type": "OptionTemplate2",
    "token": "string",
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "backgroundImage": "Image",
    "title": "string",
    "optionItems": [//按照返回顺序给序号,从1开始。
      {
        "token": "string",
        "primaryTextField": "String",
        "secondaryTextField": "String",
        "tertiaryTextField": "String",
      },
      ...
      ...
    ]
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是OptionTemplate2 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
OptionItems 列表选项,显示列表模板中的内容 List
OptionItems.[i].
token
选项的唯一标识,item被选择时设备应该上报被选择的item的token String
OptionItems.[i].
primaryTextField
选项的一级文本 String
OptionItems.[i].
secondaryTextField
选项的二级文本 String
OptionItems.[i].
tertiaryTextField
选项的三级文本 String
OptionItems.[i].
image
选项的图片 String

OptionTemplate3

{
  "type": "TemplateRuntime.RenderTemplate",
  "template": {
    "type": "OptionTemplate3",
    "token": "string",
    "backButton": "VISIBLE"(default) | "HIDDEN",
    "backgroundImage": "Image",
    "title": "string",
    "OptionItems": [//按照返回顺序给序号,从1开始。
      {
        "token": "string",
        "primaryTextField": "String",
        "secondaryTextField": "String",
        "tertiaryTextField": "String",
      },
      ...
      ...
    ]
  }
}

Payload参数

参数名 说明 类型 必须出现
token iFLYOS提供的token String
type 模板消息的类型,这里是OptionTemplate3 String
backgroundImage 背景图片 image Object
title 模板消息的主标题 String
OptionItems 列表选项,显示列表模板中的内容 List
OptionItems.[i].
token
选项的唯一标识,item被选择时设备应该上报被选择的item的token String
OptionItems.[i].
primaryTextField
选项的一级文本 String
OptionItems.[i].
secondaryTextField
选项的二级文本 String
OptionItems.[i].
tertiaryTextField
选项的三级文本 String
OptionItems.[i].
image
选项的图片 String