如何在Dialogflow/Google Assistant中获取适合发送富消息的用户联系人信息?
针对你提到的语音输入手机号敏感、邮箱识别不准确,且需要适合发送富消息的联系方式的问题,我整理了几个经过实践验证的实用方案:
引导文本输入补充关键联系方式
既然语音识别邮箱容易出错,不如在对话流程中主动引导用户切换到文本输入。比如当需要发送富消息时,设计意图提示用户:“为了给你发送包含文件和详细内容的资料,麻烦你在聊天框里输入你的邮箱地址哦~”。同时可以在Dialogflow里配置邮箱格式的实体校验,或者用webhook自定义代码验证输入的合法性,确保拿到有效的邮箱地址。这种方式既避开了语音识别的坑,也比手机号的敏感度低,用户接受度更高。关联用户已登录的账号体系
如果你的服务本身有用户登录机制(比如用户通过Google账号、自有账号登录后使用Dialogflow),那直接从账号信息中提取已绑定的邮箱或其他联系方式是最高效的方式。通过OAuth授权或者会话关联,你可以在Dialogflow的webhook中获取用户的账号信息,无需用户重复输入,既提升体验又保证信息准确性,毕竟用户已经在你的平台完成了身份验证和信息绑定。生成会话绑定的专属表单链接
你可以在Dialogflow的回复中返回一个带有会话ID参数的短链接,引导用户点击跳转至你自己开发的简易表单页面。表单只需要用户填写邮箱(或其他需要的联系方式),提交后系统会通过会话ID将信息关联到当前对话的用户。这种方式的优势在于用户可以在浏览器环境中轻松输入信息,而且后续你可以直接通过邮箱发送富消息,同时能精准对应到发起对话的用户,避免信息混乱。借助轻量表单工具收集(非实时场景)
如果不需要实时触发后续流程,也可以整合Google Forms这类工具生成表单,把链接通过Dialogflow发送给用户。用户填写完成后,你可以在表单后台查看收集到的联系方式,再手动关联到对应的对话会话。不过这种方式适合对实时性要求不高的场景,毕竟需要人工介入匹配信息。
额外注意事项
- 一定要明确告知用户收集联系方式的用途,遵守GDPR等隐私法规,让用户清楚信息不会被滥用,提升用户信任度;
- 尽量简化用户的输入步骤,比如如果能从账号体系中获取部分信息,就不要让用户重复填写。
内容的提问来源于stack exchange,提问作者stkvtflw

