当 建立一个新的连接 时,必须发送SynchronizeFeatureList事件来报告设备特征列表,FeatureList(设备特征列表)定义了TVS设备的各种能力,根据不同的FeatureList,TVS将会有不同的交互行为,比如选择支付方式、本地闹钟的支持等都需要通过SynchronizeFeatureList事件上报FeatureList来实现。
{
"event": {
"header": {
"namespace": "System",
"name": "ExtSynchronizeFeatureList",
"messageId": "a5fe7a4c..."
},
"payload": {
"featureList": [{
"name": "QrCodePay",
"value": true,
"version":"1.0"
},
{
...
}
]
}
}
}
| 参数 | 描述 | 型态 |
|---|---|---|
| messageId | 用以代表一个特定message的唯一ID。 | String |
| 参数 | 描述 | 型态 |
|---|---|---|
| featureList | 特征列表 | List |
| featureList.name | 特征名 | String |
| featureList.value | 特征值,内容根据特征类别有所不通 | Object |
| featureList.version | 特征版本号,包含Major Version与Minor Version | String |
Minor Version
向前兼容且对内容无损的改变会以增加Minor Version的方式体现。
value格式保持不变,新增参数
Major Version
当发生破坏性的协议升级时,Major Version会增加。
value格式发生变化,比如从String变为Object
重要:如果你的产品从来不调用SynchronizeFeatureList_的话,所有的特征都会预置被设为1.0版本,且所有特征对应的的TVS功能都是停用或者选择最保守的方案。_
特征列表
以下是TVS目前支持的特征列表:
{
"name":"QrCodePay",
"value":true,
"version":"1.0"
}
| 参数 | 含义 |
|---|---|
| value | 是否支持扫码支付(默认值false) |
{
"name":"RealTimeLocation",
"value":true,
"version":"1.0"
}
| 参数 | 含义 |
|---|---|
| value | 是否支持实时位置(默认值false) |