当 建立一个新的连接 时,必须发送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) |