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

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

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

目录
相关文章
|
5月前
|
运维 监控 Cloud Native
应用研发平台EMAS常见问题之尝试设置小米的通道但是小米手机收不到消息如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
5月前
mPaaS音视频通话中,用户在创建房间时遇到超时提示可能有以下几个原因
【1月更文挑战第7天】【1月更文挑战第34篇】mPaaS音视频通话中,用户在创建房间时遇到超时提示可能有以下几个原因
66 1
|
测试技术 PHP
VoIP实现即时通话通知
VoIP实现即时通话通知
VoIP实现即时通话通知
|
Java Android开发
谷歌Dialer和来电铃声不同步问题修改
谷歌Dialer和来电铃声不同步问题修改
147 0
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
291 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
SIP的voip语音通话后30秒左右挂断呼叫怎么解决
|
人工智能 机器人
ai智能机器人外呼系统怎么解决拨号难、接通难、提高意向的问题
 1.高频外呼解决拨号难   个人手机号不能高频的拨打,原因是因为现在电信诈骗的猖狂,工信部为了限制这种情况制定的方案。而外呼系统则是配备专属的线路,有行业资质的审核,正规的企业、在营业执照中合法的项目才可以使用这种不受限制的专属线路。   2.智能电话机器人解决接通难   如果电销人员还是使用自己的电话卡或者网络虚拟号进行拨号,那么客户那边的来电显示就会显示陌生号码、外地号码、营销号码,这种客户看到了就不会接了。通过智能电话机器人的外呼系统则可以选择线路模式,可以更改显示号码,根据客户显示归属地号码,提高客户接通率。   3.专业话术针对解决转化意向客户   在智能机器人开始工作之
|
5G 数据安全/隐私保护 开发者
直播回顾|第12期5G消息云课堂,汽车服务的“升级密码” | 文末有回放
5G消息作为当今品牌服务提质增效的工具,在碰上汽车行业后,两者又将如何进行融合?实现汽车客户全生命周期价值管理?
直播回顾|第12期5G消息云课堂,汽车服务的“升级密码” | 文末有回放
|
机器人
电话机器人并发与OKCC呼叫并发是什么?
在语音通信领域,呼叫并发是一个常用但并不友好的名词,往往叫人难以理解,也不知道有什么作用。 呼叫并发,通俗讲,是指系统上同时进行的呼叫数量。 那么,与通信系统上的用户数量有什么区别呢?
|
数据采集 供应链 机器人
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
435 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务