
注意
技能协议v2.1当前仅适用于OS技能(商店技能和OS私人技能)
在开发自定义技能时,主要工作量是:
在您的技能服务接受请求之前,您应该首先确定该请求是否安全有效. 为防止终端设备被他人非法入侵以发起对您的技能的非法请求.
当请求不满足以上两点时,您应返回HTTP CODE: 400.
POST / HTTP/1.1
Content-Type : application/json;charset=UTF-8
Host : your.application.endpoint
Content-Length :
Accept : application/json
Accept-Charset : utf-8
Signature: xxxxxxxxxxxxxxx
{
"version": "2.1",
"session": {
"new": true,
"sessionId": "f78b7d68...",
"attributes": {
"key": "String value"
}
},
"context": {
"Custom":{
"iflytek_data":{
"user_data": "xxxxxx",
"device_request_id": "xxxxx"
},
"custom_data": {
"key": "value"
}
},
"System": {
"device": {
"deviceId": "f78b7d68...",
"supportedInterfaces": {
"AudioPlayer": {},//音频播放器
"TemplateRuntime": {},//屏幕模板渲染
"PlaybackController": {},//音频播放控制
},
"location":{
"lng": float,
"lat": float
},
"platform": {
"name" : "android",
"version": "8.0.1"
},
"kidMode": {
"enable": true
}
},
"application": {
"applicationId": "f78b7d68..."
},
"user": {
"userId": "f78b7d68...",
"accessToken": "23bf653f..."
}
},
"AudioPlayer": {
"playerActivity": "PLAYING",
"token": "audioplayer-token",
"offsetInMilliseconds": 0
}
},
"request": {}
}
身体参数说明
所有请求都包含顶级版本,会话,上下文和请求对象.
参数说明类型必须出现
版本
请求的版本,其值定义为: “ 2.1”
字符串
会话
用户的会话信息仅包含在标准请求中.
对象
上下文

设备端状态.
对象
请求
由iFLYOS解析的用户请求.
对象
session代表用户会话信息. 会话过程从用户的技能转移到结束开始,代表了用户与技能之间的会话. 会话结束: 技能返回结束,用户明确结束,或者用户输入错误并结束.
参数说明类型必须出现
一个布尔值,指示这是否是新会话. 新会话返回true,而现有会话返回false.
布尔值
sessionId
活动会话的唯一标识符. sessionId对于来自用户和会话的多个后续请求是一致的. 如果用户会话结束,则将为该用户的后续请求提供一个新的唯一sessionId值.
字符串
属性
它用于保存上下文信息并由开发人员上传. 对于新会话新设置为true的新会话,属性映射为空.
可以在响应的sessionAttributes中设置属性ifly格式文件怎么打开,并在同一会话的下一个请求中在此字段中返回.
向服务发送请求时,上下文对象提供有关IVS服务和设备当前状态的信息. 对于在会话上下文中发送的请求(CanFulfillIntentRequest,LaunchRequest和IntentRequest),上下文对象将复制会话对象中可用的用户和应用程序信息.

参数说明类型必须出现
自定义
设备发送给技能的自定义信息
对象
Custom.iflytek_data
讯飞的自定义数据. 应用程序开发人员可以将自定义数据转移到该领域的技能中.
对象
Custom.iflytek_data.
user_data
自定义用户数据,等同于v2.0协议中的userparams
字符串
Custom.iflytek_data.
device_request_id
请求设备时生成的request_id,只有技能会收到此字段.
字符串
Custom.custom_data

自定义数据,其中键值由设备制造商定义
对象
系统
有关与技能互动的设备的信息
对象
System.application
技能信息. 包含:
-applicationId
对象
System.device
设备信息. 包含:
-deviceId: 设备唯一标识符.
-suportedInterfaces: 设备支持的接口列表. 值: AudioPlayer: {},PlaybackController {},TemplateRuntime {}.
-location: 设备的地理位置. 包含: lng: 经度,lat: 纬度
-kidMode: 设备当前是否处于儿童模式
对象

System.user
用户信息. 包含:
-userId: 发出请求的用户的唯一标识符. 不超过255个字符. 当用户启用技能时,将自动生成此userId. 禁用和重新启用技能会告诉过程新的标识符.
-accessToken: 第三方的授权令牌(服务).
对象
AudioPlayer
音频播放器的当前状态
对象
AudioPlayer.token
音频资源的标识符. 此字段仅发送给最近播放音频的播放器.
字符串
AudioPlayer.
offsetInMilliseconds
播放进度. 此字段仅发送给最近播放音频的播放器.
AudioPlayer.
playerActivity
音频播放器状态. 值: 空闲,已暂停,正在播放,BUFFER_UNDERRUN,已完成ifly格式文件怎么打开,已停止
字符串
请求包含iFLYOS分析之后的用户请求. 它们分为:
音频请求
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-148722-1.html
球员们感觉自己的压力更大了
埋怨命苦真悲哀