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

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

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

目录
相关文章
|
编解码 监控 测试技术
如何优化OBS的推流设置以提高直播质量
【10月更文挑战第7天】如何优化OBS的推流设置以提高直播质量
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
61860 0
|
4月前
|
缓存 安全 数据安全/隐私保护
CCleaner安装与使用教程 Windows版:解压+管理员运行启动指南
CCleaner是一款高效系统优化与隐私保护工具,可清理垃圾文件、无效注册表及浏览器缓存,提升运行速度、保障隐私安全。本文详解下载、解压、管理员运行及启动验证步骤,助您快速上手使用。(239字)
|
人工智能 Java Serverless
【MCP教程系列】搭建基于 Spring AI 的 SSE 模式 MCP 服务并自定义部署至阿里云百炼
本文详细介绍了如何基于Spring AI搭建支持SSE模式的MCP服务,并成功集成至阿里云百炼大模型平台。通过四个步骤实现从零到Agent的构建,包括项目创建、工具开发、服务测试与部署。文章还提供了具体代码示例和操作截图,帮助读者快速上手。最终,将自定义SSE MCP服务集成到百炼平台,完成智能体应用的创建与测试。适合希望了解SSE实时交互及大模型集成的开发者参考。
15349 60
|
前端开发 数据安全/隐私保护 开发者
Pic Smaller:开源神器,碾压TinyPNG!90%开发者不知道的免费图像压缩利器
嗨,大家好,我是小华同学。今天介绍一个强大的开源图像压缩工具——Pic Smaller(图小小)。它支持JPEG、PNG、WEBP等多种格式的智能压缩,具备本地压缩、自定义配置等特性,确保图像数据安全。用户只需上传图片,Pic Smaller便会自动执行压缩并提供详细信息。项目已部署在Vercel平台,Pic Smaller基于Vite和React构建,适合开发者、设计师及普通用户,帮助高效管理图像。
1869 9
|
前端开发 JavaScript NoSQL
无界SaaS商群扶持金详解:解决企业融资难缺乏现金流难题
该内容概述了一个复杂的系统转化任务,涉及用户管理、信用评估、数据流量追踪、资金管理等多个模块。技术栈建议使用Node.js或Python作为后端,MySQL或MongoDB作为数据库,React或Vue.js构建前端界面,React Native或Flutter开发移动应用,可选区块链技术实现去中心化管理。提供了一个简化的Node.js后端示例代码,涵盖用户注册、登录及V值管理等功能,强调了安全性、扩展性、测试和部署的重要性。
|
JavaScript 前端开发 NoSQL
无界 SaaS 数字生态工具:去平台中心化助力企业数字化转型
无界 SaaS 数字生态工具通过去平台中心化助力企业数字化转型,涵盖技术实现、商业逻辑、数据架构、用户界面设计等多方面。本文提供了一个简化的框架和示例代码,包括前端(React.js)和后端(Node.js + Express)的实现,帮助企业和开发者快速启动项目。示例代码涵盖了用户注册、登录和产品列表的获取功能,并提供了安全性、用户认证、数据确权等方面的注意事项。
|
SQL 移动开发 开发框架
1小时入门天猫精灵有屏音箱语音技能开发
本文将教你在天猫精灵上怎么开发技能或者应用。文中使用PHP的知名框架:Laravel,只需1小时帮你入门天猫精灵有屏技能开发。支持语音交互。欢迎大家转发,分享,文末还有源码共享,欢迎大家下载。
1小时入门天猫精灵有屏音箱语音技能开发
|
人工智能 Linux Python
Alibaba Cloud Linux 3.2104 LTS 64位 怎么安装python3.10.12和pip3.10
Alibaba Cloud Linux 3.2104 LTS 64位 怎么安装python3.10.12和pip3.10
|
XML JSON Java
SpringBoot(四)之基础配置
application.yml为主配置文件,如果要分环境,则需要创建 application-{profile}.yml的环境配置。
354 0