zoukankan      html  css  js  c++  java
  • 天猫精灵小程序开发(二)

    天猫精灵小程序

    开发须知

    编写流程

    创建账号

    1. 支付宝小程序 中创建支付宝小程序

    2. 并开通天猫精灵,创建天猫精灵小程序

      1. 控制台 进入小程序 设置 页面,在 多端发布支持 分页中,开通 天猫精灵 业务。

    1. 创建 天猫精灵开放平台 账号,在 用户中心 --> 小程序开发者账号 绑定在支付宝开发平台上注册的账号

    IDE 下载

    小程序开发中者工具 下载页

    创建天猫精灵小程序

    此时若没有登录,会弹出登录二维码,请通过创建 小程序支付宝账号 扫码并完成登录。

    进入项目开发,若项目从未绑定过小程序,则会自动弹出 关联应用 弹窗,点击下拉框,选择要关联的小程序,完成关联,就可以开始代码开发了。

     

    页面开发

    小程序的开发,请参考支付宝小程序的 官方文档

    设计规范

    真机调试

    1. 下载天猫精灵 app,绑定设备,绑定设备的账号为 支付宝开放平台 创建小程序的账号

    2. 点击 请选择设备,在设备列表中 添加设备,根据页面指导输入天猫精灵设备上播报的验证码,点击确认即可完成调试设备的添加。

    3. 点击预览, 点击推送 ,即可将页面推送至天猫精灵设备上, 进行调试

    如果输入验证码后,没有成功绑定设备,可尝试先上传一个小程序的版本,再重试一次。

    小程序真机预览对账号的要求:

    • 平台开发者账号和支付宝开发者账号绑定

    • 平台开发者账号登录天猫精灵 APP,用于给测试使用的带屏天猫精灵设备配网

    • 首次推送真机测试时,使用平台开发者账号登录天猫精灵 APP,再次扫码授权应用

    • 支付宝小程序 IDE 登录的账号为绑定的支付宝开发者账号

    • IDE 中的项目与支付宝开发者账号创建的小程序相绑定

    • IDE 中的项目从未绑定过其他小程序 ID

    语音交互

    语音 API

    天猫精灵 api: https://www.aligenie.com/doc/357834/gtr434

    语音 api 配置交互

    示例:

    Page({
    onShow() {
      my.call('useSystemSkill', {
        skillName: 'chat',
      })
    },
    //默认的语音指令回调
    onVoiceEvent(event){
      my.alert({content: "onVoiceEvent = " + JSON.stringify(event)});
    },
    });

    useSystemSkill 详细:https://www.aligenie.com/doc/357834/gtr434

    onVoiceEvent 详细:https://www.aligenie.com/doc/357834/fft03z

    语音交互文件配置方式

    ​1. mini.project.json文件配置

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

    ​2. app.js 同级下添加文件 skill.json

    • command :意图 voice 中的语音,转换为 command

    • voice:语音操作的语料 语料中可以有参数,如 @{index:Number} 表示参数名是 index,类型为数字。 目前参数类型支持:String, Number, Date, Time等

    • tips:当用户语音未完全满足当前语料时的语音操作提示信息 预留的可选字段:语音操作提示信息,给用户的操作引导。 后续的容器版本,将会自动提取该字段内容,以轮播的方式展示操作引导。

    例子:

       {
        "skill": [
          {
            "command": "pagechage",
            "voice": [
              "打开@{dish:String}页",
              "打开@{dish:String}也",
              "打开@{dish:String}叶",
              "打开@{dish:String}耶",
              "打开@{dish:String}野",
              "打开@{dish:String}夜",
              "打开@{dish:String}爷",
              "打开@{dish:String}",
              "打开@{dish:String}业",
              "跳转@{dish:String}野",
              "去@{dish:String}",
              "到@{dish:String}",
              "去到@{dish:String}",
              "来对@{dish:String}",
              "返回@{dish:String}"
            ],
            "tips":["打开首页"]
          },
          {
            "command": "onNeed",
            "voice": [
               "@{dish:String}",
              "我想看看我的@{dish:String}有哪些",
              "我有哪些@{dish:String}是要做的"    
            ],
            "tips":["我想看看我的待办事项有哪些","打开点餐页"]      
          }
        ]
      }

    ​3. 在页面的配置文件 json 中配置

    commands:Array 类型

    当前页面配置的意图,语音指令名列表,需在skill.json中有配置。

    onVoice

    语音command对应的 js 响应函数。onVoice中的参数名,需与skill.json中对应的语料参数名相同。

       {
        "skill": [  
          {
            "commands": ["pagechage"],        
            "onVoice": "onpagechange(dish)"
          }
        ]
      }

    ​4.在页面的 js 文件中配置

    例子:

       Page({
        onpagechange(dish) {//此函数为配置文件中onVoice的属性值
          let strArr = ["待办", "代办", "带办", "带半", "待半"];
          if (strArr.includes(dish)) {
            this.toPage("../need/need")
          } else {
            my.tg.playTTS({ text: '您好,您可以说:打开待办页', openMic: true });
          }
        },
        toPage(pageUrl) {
          my.redirectTo({
            url: pageUrl
          })
        },
      });
     

     

    技能应用平台 配置交互模型

    官方文档: https://www.aligenie.com/doc/357834/ewa2ga

    https://www.aligenie.com/doc/357834/yg08kg

    配置完意图后 ,在页面的 xxx.jsonShow 方法中增加语音能力注册,示例如下:

    my.call('useCustomSkill', {
    skillName: '支付宝小程序Id(小程序应用基本信息里的 MiniAPP_ID)',
    secretKey: '从基本信息页面获得',
    pageId: '语音交互模型-->配置页面意图 中创建的页面地址'
    })

    会调用 page 内的 onVoiceEvent() 方法

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

    示例数据:

    {
    "command":"NluResult",
    "domain":"AliGenie.Text",
    "param":{
      "domain":"通常为小程序名称",
      "intent":"意图的名称,skill.json方式的commands配置的名称",
      "query":"用户的原始话术",
      "slots":[]
    }
    }
    其他

    API:my.call 使用示例:

    //隐藏顶部导航栏
    my.call('hideNavigationBar');
    //显示顶部导航栏
    my.call('showNavigationBar');
    //模拟物理按键,当前仅支持BACK、HOME两种键值
    my.call("sendKeyEvent", {"keyCode": "BACK"});
     

    小程序发布

    1. 语音小程序开发完成后,您就可以在 IDE 中上传小程序 ;

    2. 如果是语音小程序则需要在智能应用平台应用发布页面填写应用的发布信息,参考【发布内容】;

    3. 填写完发布内容后,去 支付宝开放平台 将需要发布的版本提交审核,提交审核时请注意, 是提交到天猫精灵 ;

    4. 如果审核通过,需要去 支付宝开放平台 将审核通过的版本进行发布,发布后天猫精灵的用户就可以在天猫精灵带屏设备上使用这个小程序了。

    小程序提审、发布与运营

    小程序审核规范

    注意事项

    1.发布须知

    2.建议使用 v1.17 稳定版小程序开发天猫精灵小程序 ,用ide 2.0以上上传天猫精灵小程序,天猫精灵技能应用平台 不展示已发布的天猫精灵小程序;

    3. sill.json 出现过服务链接终端的情况, 建议在 天猫精灵技能应用平台 配置意图。

  • 相关阅读:
    Java B/S开发模式漫谈 (转)
    struts 使用多个配置文件 strutsconfig.xml
    java 验证邮箱格式正确性、验证字符串是否为数字
    Java获取各种常用时间方法
    创建HttpServlet的基本步骤
    struts1.x 配置文件之——web.xml详解
    最常用的JAVA包
    字符串转换为日期时间格式
    struts1.x 配置文件详解
    看看别人的博客,经验总结,很宝贵
  • 原文地址:https://www.cnblogs.com/wxyblog/p/15272941.html
Copyright © 2011-2022 走看看