接入步骤
下载SDK
登录号码认证产品控制台,在概览页面右侧API&SDK区域,单击立即下载,进入API&SDK页面,根据页面提示下载并解压对应SDK。
创建认证方案
您导入项目或调用API接口时,会用到方案Code等参数信息,请先在号码认证产品控制台,创建认证方案,获取方案Code等参数信息。
导入项目
- 控制minSdkVersion。 说明- 短信认证SDK最低依赖版本为16,因此创建新项目minSdkVersion不能低于16。  
- 导入aar产物并添加依赖。 - 在使用短信认证功能的module中引入相关SDK,即将相关aar导入 - module libs文件夹。 - 在module下 - build.gradle文件中找到dependencies,添加如下引用:- implementation fileTree(dir: 'libs', include: ['*.aar']) 
交互流程详解
完整的功能交互流程请参见短信认证的交互流程。
SDK方法说明
获取实例(SmsAuthHelper)
/**
 *  初始化SDK实例
 *  @param  context 上下文,不能为空
 *  @param  sceneCode 方案号,必传字段
 */
public SmsAuthHelper(Context context, String sceneCode)使用示例
mSmsAuthHelper = new SmsAuthHelper(this, BuildConfig.SCENE_CODE);设置Token更新监听回调
public void setTokenUpdater(TokenUpdater tokenUpdater) 试用示例
mSmsAuthHelper.setTokenUpdater(new TokenUpdater() {
            @Override
            public Tokens updateToken() {
                return null;
            }
        });发送短信验证码
/**
     * 发送短信验证码
     *
     * @param countryCode  国际电话区号,目前仅作为保留字段,当前版本只支持86(即中国大陆的电话号码)
     * @param phoneNumber  手机号
     * @param callback     获取验证码监听回调
     * @param timeoutMills 接口超时时间(单位:ms)
     */
public void sendVerifyCode(int countryCode,
                           String phoneNumber,
                           SmsCallback callback, long timeoutMills)使用示例
mSmsAuthHelper.sendVerifyCode(countryCode, phoneNumber, new SmsCallback() {
    @Override
    public void onResult(Ret ret) {
        if (ret.getCode() == ResultCode.CODE_SUCCESS) {
            mVerifyCodeTimerWidget.setClickable(false);
            mVerifyCodeTimerWidgetController.startTimer();
            mSmsToken = ret.getSmsVerifyToken();
        }else {
            runOnUiThread(()->{
                Toast.makeText(MainActivity.this, "验证码发送失败:"+ret.getMsg(), Toast.LENGTH_SHORT).show();
            });
        }
    }
},5000);其他接口说明
清空本地SmsTokens缓存
   /**
     * 清空本地缓存的Token信息
     */
    public void clearToken() 使用示例
mSmsAuthHelper.clearToken();SmsTokens实体类
/**
 * Sms Token
 */
private String stsToken;
/**
 * 临时AccessKeyId
 */
private String accessKeyId;
/**
 * 临时AccessKey Secret;
 */
private String accessKeySecret;
/**
 * Biz Token
 */
private String BizToken;
/**
 * Token过期时间,绝对时间,单位ms
 */
private long expiredTimeMills;SDK回调说明
SDK发送短信验证码时需要用到BizToken、StsToken(包含AccessKey信息)这两个Token。
public interface TokenUpdater {
    /**
     * 更新Token
     * @return
     */
    Tokens updateToken();
}重要 
SDK在检测到本地缓存中无有效Token(Token不存在或者已过期)时,则调用updateToken方法,开发者需要实现该接口,并且获取到Token后,封装成SmsTokens返回给SDK。
该文章对您有帮助吗?