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

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

天猫精灵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

目录
相关文章
|
6月前
mPaaS音视频通话中,用户在创建房间时遇到超时提示可能有以下几个原因
【1月更文挑战第7天】【1月更文挑战第34篇】mPaaS音视频通话中,用户在创建房间时遇到超时提示可能有以下几个原因
83 1
语音社交源码知识语音房间功能的实现
就像我说的一样,语音社交源码技术语音房间功能对于开发语音社交平台也是至关重要的,当然,开发语音社交平台还有很多功能,在以后我会为大家一一讲解,如果大家还有什么不懂的可以问我。
语音社交源码知识语音房间功能的实现
|
测试技术 PHP
VoIP实现即时通话通知
VoIP实现即时通话通知
VoIP实现即时通话通知
|
Web App开发 移动开发 算法
关于 TRTC (实时音视频通话模式)在我司的实践 #78
关于 TRTC (实时音视频通话模式)在我司的实践 #78
338 0
|
Java Android开发
谷歌Dialer和来电铃声不同步问题修改
谷歌Dialer和来电铃声不同步问题修改
159 0
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
302 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
|
小程序 前端开发 API
手把手教你接入抖音小程序发送模板消息通知
模板消息是指:按照一定的模板样式发送给用户的消息,顾名思义,它的内容必须限制在某一个模板框框内,只能做填空题,做不了主观题。
363 0
手把手教你接入抖音小程序发送模板消息通知
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
|
人工智能 机器人
ai智能机器人外呼系统怎么解决拨号难、接通难、提高意向的问题
 1.高频外呼解决拨号难   个人手机号不能高频的拨打,原因是因为现在电信诈骗的猖狂,工信部为了限制这种情况制定的方案。而外呼系统则是配备专属的线路,有行业资质的审核,正规的企业、在营业执照中合法的项目才可以使用这种不受限制的专属线路。   2.智能电话机器人解决接通难   如果电销人员还是使用自己的电话卡或者网络虚拟号进行拨号,那么客户那边的来电显示就会显示陌生号码、外地号码、营销号码,这种客户看到了就不会接了。通过智能电话机器人的外呼系统则可以选择线路模式,可以更改显示号码,根据客户显示归属地号码,提高客户接通率。   3.专业话术针对解决转化意向客户   在智能机器人开始工作之
|
5G 数据安全/隐私保护 开发者
直播回顾|第12期5G消息云课堂,汽车服务的“升级密码” | 文末有回放
5G消息作为当今品牌服务提质增效的工具,在碰上汽车行业后,两者又将如何进行融合?实现汽车客户全生命周期价值管理?
直播回顾|第12期5G消息云课堂,汽车服务的“升级密码” | 文末有回放