Google Actions富响应基础卡片图片不显示问题求助
排查Google Actions基础卡片图片不显示问题
Hey @Prisoner,我仔细看了你贴的代码,发现几个关键问题,咱们一个个捋:
1. 代码里缺少基础卡片的核心构建逻辑
你当前的代码只输出了Hello World...文本,完全没有创建**基础卡片(Basic Card)**并绑定图片的代码段!要在富响应里显示图片,必须明确构建BasicCard实例并通过conv.ask()发送出去。举个正确的示例:
// 先引入BasicCard组件 const { BasicCard } = require('actions-on-google'); app.intent('totalResponses', (conv, { Location }) => { if (!conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT')) { conv.ask('Sorry, try this on a screen device or select the phone surface in the simulator.'); return; } // 构建带图片的基础卡片 conv.ask(new BasicCard({ title: '示例卡片标题', image: { url: '你的HTTPS图片URL', // 这里替换成你的图片地址 alt: '图片无法显示时的替代文本' }, display: 'CROPPED' // 可选,控制图片裁剪方式 })); conv.ask('Hello World...'); // 可以同时搭配文本响应 });
2. 图片URL的常见坑点(就算写了卡片也容易踩)
如果已经有卡片代码但图片还是不显示,90%是URL的问题:
- 必须用HTTPS协议:Google Actions严格禁止HTTP图片,哪怕本地测试也得用HTTPS链接
- 检查跨域权限:图片所在服务器必须允许跨域访问(配置CORS),否则会被设备/模拟器拦截
- 验证URL有效性:直接把图片URL复制到浏览器打开,确认能正常加载,没有拼写错误、过期或权限限制
3. 额外的兼容性检查
- 虽然代码里已经做了屏幕输出能力检查,但可以再确认下模拟器的Surface设置是「Phone」或「Tablet」,避免选错无屏设备
- 图片格式和大小尽量合规:优先用JPG/PNG,大小控制在1MB以内,部分设备对超大图片支持不佳
内容的提问来源于stack exchange,提问作者Muhammad Zumair
相关产品推荐
相关产品推荐

