本文为您介绍了Android客户端如何接入短信认证功能。

1.概述

官网下载SDK后进行解压,解压后包含四个文件是:
  • SDK说明文档。
  • Realease note。
  • 4个aar包。
  • DEMO工程(在控制台下载DEMO压缩包)。

2.准备工作

  • 请确保您的终端设备已经开启了网络。
  • 请确保已经在阿里云控制台开通了号码认证服务并创建了对应的短信验证码方案,以及短信签名、模版均已绑定该方案。
  • 您也可以登录阿里云官网查看接入流程,单击查看完整使用流程。

3.搭建开发环境

添加依赖

AAR方式。

下载SDK并解压后,将所有aar文件拷贝至工程的libs目录下。

权限列表
<uses-permission android:name="android.permission.INTERNET" />   <!-- 网络访问 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 检查网络状态 -->

4.SDK方法说明

  • 获取实例。
    SmsAuthHelper smsAuthHelper = new SmsAuthHelper(context, sceneCode);
  • 设置Token更新处理器(TokenUpdater)。
    /**
     * 设置token更新器
     *
     * @param tokenUpdater
     */
    public void setTokenUpdater(TokenUpdater tokenUpdater);
  • 发送短信验证码。
    /**
     * 发送短信验证码
     * @param countryCode 国际电话区号,目前仅作为保留字段,当前版本只支持86(即中国大陆的电话号码)
     * @param phoneNumber 手机号
     * @param callback
     * @param timeoutMills 接口超时时间(单位:ms)
     */
    public void sendVerifyCode(int countryCode,
                                   String phoneNumber,
                                   SmsCallback callback, long timeoutMills) 
  • 销毁实例。
    /**
     * 销毁实例
     */
    public void destroy();

5.SDK回调说明

TokenUpdater

SDK发送短信验证码时需要用到两个Token,一个是BizToken,一个是STS Token(包含ak信息)。这两个token可以从GetSmsAuthTokens获取。具体调用方法及推荐的使用流程可参见官网文档流程介绍部分。
public interface TokenUpdater {
    /**
     * 更新Token1
     * @return
     */
    Tokens updateToken();
}

SDK在检测到本地缓存中无有效Token时(Token不存在或者已过期)则会调用TokenUpdater#updateToken方法,开发者需要实现该接口,并且获取到Token后,封装成Tokens返回给SDK。Tokens中的具体有哪些字段可参考Demo和接口文档。

SmsCallback

调用发送验证码接口时,发送结果将通过该接口通知给开发者,无论成功或者失败,开发者均可以根据返回的Ret对象中的code字段去判断。

public interface SmsCallback {
    void onResult(Ret ret);
}

6.SDK事件返回码

进行错误码处理的时候推荐直接使用ResultCode中的常量来处理,不建议直接使用值。

返回码 描述 建议处理方法
600000 成功。 -
600001 网络不可用。 手机没有可用的网络链接,建议用户切换网络。
600002 手机号非法。 手机号格式错误,或者非有效的手机号。
600003 Token获取失败。 sts token或者biz token获取失败,为空,可检查相应字段。
600004 接口状态异常。 检查接口状态是否正确,比如是否调用了destroy之后,又调用了业务接口。
600010 请求超时。 需要根据日志和环境信息具体排查,可联系阿里云客服。
600011 鉴权失败。 sts token鉴权失败或者其信息与biz token不对应(账号关系),可检查账号信息、方案信息、包名、签名等。
600012 BizToken错误。 BizToken错误,建议重新申请。
600013 STS Token错误。 STS Token错误,建议重新申请STS Token。
600014 STS Token过期。 STS Token过期,建议重新申请STS Token。
600015 BizToken过期。 BizToken已过期,建议重新申请。
600016 验证码发送频次超出限制。 同一个号码每分钟、每小时或每日发送频次超过限制(具体限制次数,请自行查阅短信验证码控制台)。
600050 未知异常。 联系阿里云客服进行排查。