文档中心 > AliGenie开发者平台

快速开始

更新时间:2019/12/12 访问次数:34886

快速开始

1. 开发者入驻

精灵小程序是在支付宝小程序的基础上,增加了语音能力。
小程序的开发者,请直接在蚂蚁开放平台上入驻: https://openhome.alipay.com/mini/dev/list

2. 开发小程序

2.1 创建小程序

创建小程序,https://openhome.alipay.com/mini/dev/create
image

进入小程序设置页面:
image

开通“天猫精灵小程序”业务:
image

2.2 安装小程序IDE

下载语音小程序开发编辑器:点此进入下载页

2.3 开发小程序

创建天猫精灵CC小程序,并使用 支付宝小程序开发者账号 登录IDE
image
小程序的开发,请参考支付宝小程序的官方文档: https://docs.alipay.com/mini/developer/getting-started

3.真机预览

3.1 添加真机调试设备

image

image

image

此时输入天猫精灵设备上播报的验证码,点击确认即可完成调试设备的添加。
如果输入验证码后,没有成功绑定设备,可尝试先上传一个小程序的版本,再重试一次。
image

3.2 真机预览

选中调试设备后,即可通过真机预览的方式,将小程序推送到设备上运行。
image

4 添加语音能力

在普通小程序的基础上,增加json的配置,即可增加语音操作能力。

4.1 添加skill.json

在app.json同级的目录下,增加skill.json 文件。
skill.json 用于描述语料和command的映射关系,如下图所示:
image

数据格式:

{
  "skill": [
      {
        "command": "cmd1",
        "voice": ["语料1", "语料2", "语料3"],
        "tips": ["操作引导1", "操作引导2"]
      },
      {
        "command": "cmd2",
        "voice": ["语料1", "语料2"]     
      }
  ]
}

字段说明 :
- voice: 语音操作的语料:
语料中可以有参数,如@{index:Number} 表示参数名是index,类型为数字。
目前参数类型支持:String, Number, Date, Time等
- command:
将voice中的语音,转换为command
- tips:
预留的可选字段:语音操作提示信息,给用户的操作引导。
后续的容器版本,将会自动提取该字段内容,以轮播的方式展示操作引导。

4.2 增加mini.project.json文件

在app.json同级的目录下,增加mini.project.json 文件, 文件内容如下:

{
  "include":[
    "skill.json",
    "app.json"
  ]
}

mini.project.json 文件的作用为:将skill.json,app.json文件打进小程序包内。
image

4.3 在page中增加语音配置

在需要响应语音操作页面的xxx.json 中,增加command 和 js函数之间的映射关系,如下图的index.json所示:
image
数据格式:

{
  "skill":[
      {
      	"commands" : ["cmd1", "cmd2"],
        "onVoice" : "jsFun(param1, param2)"   
      }
  ]
}

字段说明:
- commands:
语音指令名列表,需在skill.json中有配置。
- onVoice:
语音command对应的js响应函数。onVoice中的参数名,需与skill.json中对应的语料参数名相同。

4.4 效果

假设前台页面是在小程序的首页(index页)。此时用户说:“我要看梁朝伟的无间道”,将会自动调用index.js中的searchVideo方法,其中参数artist=梁朝伟,video=无间道。

联动效果如下图所示:
image

4.5 默认的语音回调

如果当前的语音操作,没有命中skill.json的配置,且没有触发页面跳转(如:今天天气,我要听歌等),则会调用page内的onVoiceEvent方法:

Page({
  
  onVoiceEvent(event){
    my.alert({content: "onVoiceEvent = " + JSON.stringify(event)}); 
  },
  
});

5 语音API

5.1 my.tg.playTTS

功能:播报TTS
入参:

content: //tts播报的内容, string类型
openMic: //是否在播报结束后开麦,boolean类型

使用示例:

my.tg.playTTS({
  content: '下一页', 
  openMic: true
});

5.2 my.tg.nlpRequest

功能:模拟语音请求
入参:

text: //模拟语音请求的内容,String类型

使用示例:

my.tg.nlpRequest({text: "今天天气"});

FAQ

关于此文档暂时还没有FAQ
返回
顶部