天猫精灵实现无唤醒词推送断网播报

简介: 通过个人开发技能实现天猫精灵无需唤醒词,自动推送播报相关事件。

天猫精灵logo.png

🔥 介绍

最终效果可以观看视频:https://h5.pipix.com/s/NTHB9gk/

💥 项目结构

image.png

🔥 相关技术springboot

使用框架springboot,快速搭建后端服务。

🔥 搭建教程

打开天猫精灵技能官网:https://iap.aligenie.com/
image.png
然后选择私域技能:
image.png
语音交互模型,虽然我们无调用词,因为无调用词,需要获取你的设备openid,后面会介绍到。
image.png
点击创建一个意图。
image.png
image.png
这里一定要设置默认意图。一会调用就可以获取到我们无调用词的相关数据了。
服务部署。
image.png
image.png
其实这里就是验证这个服务器是你的。
image.png
下载认证数据。

image.png
这就是添加好了的。
如果要使用推送功能必须要申请这个权限。
image.png
下面就是申请推送语音播报的模板了。
image.png
点击新建,可以根据个人需要进行申请。
image.png
image.png
下面就是测试了。我们开始搭建服务端。
其实这个就回到了最初的哪个问题,我们是无调用词的,怎么触发服务端的代码呢?如何获取一些我们需要的东西呢?
image.png
我们在编辑界面,设置一下调用词
image.png
然后写好代码,然后上传服务器。

    @RequestMapping("/welcome")
    public ResultModel<TaskResult> taskResult(@RequestBody String json){
        // ResultModel<TaskResult> res = new ResultModel<>();
        log.info("json:{}",json);
        TaskQuery taskQuery =MetaFormat.parseToQuery(json);
        TaskResult taskResult = new TaskResult();
        // 从请求中获取意图参数以及参数值
        Map<String, String> paramMap = taskQuery.getSlotEntities().stream().collect(
                Collectors.toMap(slotItem -> slotItem.getIntentParameterName(),
                        slotItem -> slotItem.getOriginalValue()));
        //处理名称为 welcome 的意图
        if ("welcome".equals(taskQuery.getIntentName())) {
            taskResult.setReply("欢迎使用自定义技能~");
            log.info("json:{}",json);
            //处理名称为 weather 的意图
        }else {
            taskResult.setReply("请检查意图名称是否正确,或者新增的意图没有在代码里添加对应的处理分支。");
        }
        return reply(taskResult);
    }

因为我们需要相关id,我们需要在测试界面,进行真机测试
image.png
实际调用,可以看到我们需要的数据,我们可以用到。
image.png

🔥实现自动推送

打开自动推送:
https://open-api.aligenie.com/?version=iap_1.0&apiName=PushNotifications
image.png
可以看到我们需要这些参数,最重要的是刚才我们在服务端获取的。
DEVICE_UNION_ID :设备unionId
DEVICE_OPEN_ID :设备openId
USER_UNION_ID :用户unionId
USER_OPEN_ID :用户openId
这些值。我们需要用到的。剩下的跟着教程就可以完成了。
最后附上项目代码地址:
https://github.com/CoderXGC/aligenie-demo
https://gitee.com/CoderXGC/aligenie-demo

目录
相关文章
|
8月前
|
移动开发 JavaScript
H5唤起手机打电话(拨号)和发短信功能
H5唤起手机打电话(拨号)和发短信功能
286 0
|
8月前
利用电脑投放手机声音且可不冲突同时播放电脑声音的方法
利用电脑投放手机声音且可不冲突同时播放电脑声音的方法
164 1
|
移动开发
手机h5页面唤起打电话、发短信功能
手机h5页面唤起打电话、发短信功能
|
测试技术 PHP
VoIP实现即时通话通知
VoIP实现即时通话通知
VoIP实现即时通话通知
|
Java Android开发
谷歌Dialer和来电铃声不同步问题修改
谷歌Dialer和来电铃声不同步问题修改
173 0
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
314 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
|
Windows
电脑音视频暂停再继续,声音突然变大
电脑音视频暂停再继续,声音突然变大
227 2
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
|
机器人
电话机器人并发与OKCC呼叫并发是什么?
在语音通信领域,呼叫并发是一个常用但并不友好的名词,往往叫人难以理解,也不知道有什么作用。 呼叫并发,通俗讲,是指系统上同时进行的呼叫数量。 那么,与通信系统上的用户数量有什么区别呢?
|
自然语言处理 开发工具 git
天猫精灵语音开发-第二天
图文详解如何开发天猫精灵语音应用,以及阿里云云开发平台的基本使用,最后将介绍如何把使用阿里云云开发平台做后台开发天猫精灵应用
200 0