我应该使用哪种 API?

Google Play 服务有两个 API,可用于简化基于短信的验证流程:SMS Retriever APISMS User Consent API

SMS Retriever API 提供完全自动化的用户体验,应尽可能使用。但是,您需要在消息正文中放置自定义哈希代码;如果您不是该消息的发送者,则可能很难做到这一点。

如果您无法控制消息内容(例如,如果您的应用与金融机构合作,可能需要在您批准应用内付款交易前验证其电话号码),您可以使用 SMS User Consent API,而无需自定义哈希代码。不过,它要求用户批准应用访问包含验证码的消息的请求。为了尽可能避免向用户显示错误消息,短信用户意见征求会检查该消息是否包含 4-10 个字符的字母数字代码,且该代码至少包含一个数字。它还将过滤掉来自用户联系人列表中的发件人的消息。

下表总结了其中的差异:

短信检索器 短信用户同意
消息要求 唯一标识您的应用的 11 位哈希代码 至少包含一个数字的 4-10 位字母数字代码
发件人要求 发件人不得位于用户的联系人列表中
用户互动 点按一下即可批准