# 跳转控制器

# 协议类型

消息类型 名称 必须实现
directive start_activity
back
select
event start_activity_result
back_result
select_result

# context

请求示例

"unios_context": {
  ...
  "launcher": {
    "version": "1.1"
  },
  ...
}
1
2
3
4
5
6
7
参数 类型 说明 必填
version String 模块版本,现在是1.0

# directive

页面跳转

说明

用户请求后,云端会理解语义,并返回该指令。需要根据用户的实际请求,打开合适的页面。
即使你的页面命名与云端返回不一致。

回复示例

{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "launcher.start_activity"
      },
      "payload": {
        "page": "home"
      }
    }
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
参数 类型 说明 必填
page String 页面名称

page取值说明

page 说明
home 主页面/首页/桌面
settings 设置页,显示设备支持的设置项
contents 内容中心页,显示推荐的内容列表
skills 技能中心页,显示设备可以使用的技能
alarms 闹钟列表,显示设备当前已经设置的闹钟
messages 留言板页,显示设备与APP之前的留言历史
next 下一页
previous 上一页

页面返回

说明

当用户请求“返回”时,如果云端认为用户请求的是页面的返回,云端会返回该指令。需要根据用户的实际请求,返回到合适的页面。

回复示例

{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "launcher.back"
      },
      "payload": {}
    }
 ]
}
1
2
3
4
5
6
7
8
9
10
11

页面选择

说明

当前界面处于launcher页面时,用户可能会语音请求说“选择第3个”之类的选择话术,云端会在语义理解后,向设备发送select的directive。

设备收到directive时,需要在当前页面进行合适的处理,例如打开用户选择的列表项,或向用户反馈“超出列表选项”。

回复示例

{
  "unios_directives": [
    ...,
    {
      "header": {
        "name": "launcher.select"
      },
      "payload": {
        "number": 12
      }
    }
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
参数 类型 说明 必填
number Integer 用户请求选择的数字

# event

页面跳转结果
在执行完云端返回的directive后,需要将执行的结果告知云端。

请求示例

{  
  "unios_header": {...},  
  "unios_context": {...},  
  "unios_event": {    
    "header": {      
      "name": "launcher.start_activity_result",      
      "message_id": "xxxxxxxx"    
    },    
    "payload": {      
      "result": "SUCCEED",
      "page": "xxxxx",
      "failure_code": "xxxx",   
      "feedback_text": "xxxxx"    
    }  
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
参数 类型 说明 必填
unios_header Object 构建的通用 unios_header
unios_context Object 构建的通用 unios_context
result String 页面跳转的结果,取值为SUCCEED或FAILED
page String 跳转的页面名称,以directive中的取值为准
failure_code String 失败类型,当result取值为FAILED时此项必填。取值:NOT_FOUND_PAGE,INTERNAL_ERROR
feedback_text String 执行后反馈给用户的语音提示。提示音播放逻辑:
1. 该项出现,则云端会返回feedback_text中的文本
2. 若该项出现但取值为空,云端不回复TTS
3. 该项不出现,云端返回默认文本

页面返回结果
在执行完云端返回的back后,需要将执行的结果告知云端。

请求示例

{ 
  "unios_header": {...}, 
  "unios_context": {...}, 
  "unios_event": {   
    "header": {     
      "name": "launcher.back_result",     
      "message_id": "xxxxxxxx"   
    },   
    "payload": {     
      "result": "SUCCEED",
      "feedback_text": "xxxxx"   
    } 
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
参数 类型 说明 必填
unios_header Object 构建的通用 unios_header
unios_context Object 构建的通用 unios_context
result String 页面返回的结果,取值为SUCCEED或FAILED
feedback_text String 执行后反馈给用户的语音提示。提示音播放逻辑:
1. 该项出现,则云端会返回feedback_text中的文本
2. 若该项出现但取值为空,云端不回复TTS
3. 该项不出现,云端返回默认文本

页面选择结果
在执行完云端返回的select后,需要将执行的结果告知云端。

请求示例

{
  "unios_header": {...},
  "unios_context": {...},
  "unios_event": {  
    "header": {    
      "name": "launcher.select_result",    
      "message_id": "xxxxxxxx"  
    },  
    "payload": {    
      "result": "FAILED",
      "failure_code": "INVALID_NUMBER",
      "feedback_text": "xxxxx"  
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
参数 类型 说明 必填
unios_header Object 构建的通用 unios_header
unios_context Object 构建的通用 unios_context
result String 页面选择的结果,取值为SUCCEED或FAILED
failure_code String 执行失败的原因,当result取值为FAILED时必填。可取值:INVALID_NUMBER,INVALID_NUMBER,NONSELECTABLE_PAGE
feedback_text String 执行后反馈给用户的语音提示。提示音播放逻辑:
1. 该项出现,则云端会返回feedback_text中的文本;
2. 若该项出现但取值为空,云端不回复TTS;
3. 该项不出现,云端返回默认文本。