如何在短信(SMS)中添加可点击验证码?Node.js发送OTP问题
OTP短信不可点击的原因及解决方法
不可点击的核心原因
短信里的可点击验证码,是手机系统(iOS/Android)或运营商网关对特定格式内容的智能识别优化。你当前的纯文本短信仅把OTP作为普通文字嵌入,没有触发系统的验证码识别规则,因此无法生成点击操作选项。
实现可点击验证码的具体方案
1. 调整短信格式适配系统识别
手机系统默认会识别带有明确关键词的数字串为验证码,优化内容格式即可触发:
- 用清晰的关键词标注验证码,比如“验证码:${otp}”
- 让验证码数字串独立分隔,前后留空格或换行
- 调整后的代码示例:
const message = `Nekmart:请勿向他人分享PIN码及验证码,Nekmart绝不会索要此类信息。 您的Nekmart验证码为:${otp} 有效期5分钟。`
2. 借助短信服务商的结构化模板
主流短信服务商(如阿里云、腾讯云短信)都提供专门的OTP短信模板,内置了一键复制的触发逻辑,无需自己拼接文本:
- 直接使用服务商提供的“验证码类”短信模板,替换OTP变量即可
- 这类模板会自动适配不同系统的识别规则,确保验证码可点击复制
3. 集成Android SMS Retriever API(针对安卓用户)
如果你的应用面向Android用户,可集成Google的SMS Retriever API:
- 短信内容需添加应用的哈希签名(Google官方工具生成),系统会自动识别验证码并提供点击复制选项
- 示例短信内容:
const message = `Nekmart:您的验证码是${otp}。 有效期5分钟。 FA+9qCX9VSu` // 替换为你的应用哈希签名
内容的提问来源于stack exchange,提问作者Samia Sammi
相关产品推荐
相关产品推荐

