如何为Alexa技能自定义主动事件/通知?修复音频重复问题
解决Alexa主动事件音频重复及自定义通知需求方案
一、修复Message Alert音频重复问题
当前使用AMAZON.MessageAlert.Activated时出现播报内容重复,是因为Alexa默认会拼接"X New notification from [creator]"前缀+默认模板文本。解决方法是在payload中添加自定义message.text字段,替换默认的消息文本,避免重复:
修改后的请求示例:
"event": { "name": "AMAZON.MessageAlert.Activated", "payload": { "state": { "status": "UNREAD", "freshness": "NEW" }, "messageGroup": { "creator": { "name": "门口监控" }, "count": 1 }, "message": { "text": "门口有人经过,请留意" } } }
添加自定义消息后,播报内容会变为"New notification from 门口监控: 门口有人经过,请留意",避免了默认文本的重复。
二、自定义主动事件的替代方案(无需ASP权限)
普通开发者无法创建完全自定义的主动事件Schema,但可以选用更贴合门铃场景的预定义Schema,实现类似Ring的提醒效果:
方案1:使用AMAZON.SecurityAlert.Activated(安全警报事件)
该Schema适合人员检测类的安全提醒,支持自定义描述文本,同时会生成对应卡片和播报:
"event": { "name": "AMAZON.SecurityAlert.Activated", "payload": { "state": { "status": "ACTIVE", "freshness": "NEW" }, "alert": { "type": "PERSON_DETECTED", "description": "门口检测到人员活动" }, "device": { "name": "门口门铃" } } }
播报效果:"Security alert from 门口门铃: 门口检测到人员活动",同时Alexa设备会显示安全警报卡片。
方案2:使用AMAZON.DoorbellEvent.Activated(门铃事件)
如果你的设备符合门铃类设备的定义,可以使用该Schema,更贴合场景:
"event": { "name": "AMAZON.DoorbellEvent.Activated", "payload": { "state": { "status": "DETECTED", "freshness": "NEW" }, "doorbell": { "name": "智能门铃" }, "eventDetails": { "type": "PERSON" } } }
播报效果:"Doorbell alert from 智能门铃: 检测到人员",卡片会显示门铃事件详情。
内容的提问来源于stack exchange,提问作者Xito A
相关产品推荐
相关产品推荐

