快速集成文档
快速集成文档
前言
【友盟+】智能认证SDK集成文档,此文档适用于Android Studio离线集成,示例工程下载地址:https://umplus-sdk-download.oss-cn-shanghai.aliyuncs.com/Android/umeng-uverify/umeng-uverify-android.zip
U-Verify SDK 快速集成文档:

添加认证方案:
在智能认证->认证管理->管理配置方案中选择“添加认证方案”【友盟+智能认证】

获取Appkey和方案唯一秘钥(这两个值请务必留意,在后续SDK初始化中需要用到。)

接入U-Verify SDK
引入依赖包
umeng-uverify-1.*.aar
umeng-common-2.*.jar
fastjson-1.2.60.jar
添加UI依赖包:implementation 'com.android.support:appcompat-v7:27.1.1'(已有相关依赖包则无需重复引入)
基础接口引入
1、务必在工程的自定义Application类的 onCreate() 方法中做SDK代码初始化工作。
// 参数一:当前上下文context;
// 参数二:应用申请的Appkey(需替换);
// 参数三:渠道名称;
// 参数四:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机;
// 参数五:Push推送业务的secret,可不填写
UMConfigure.init(this,"替换为Appkey","Umeng",UMConfigure.DEVICE_TYPE_PHONE,"");2、获取UMVerifyHelper实例,设置方案唯一秘钥信息
/**
* 获取UMVerifyHelper实例,设置秘钥信息
*/
umVerifyHelper = UMVerifyHelper.getInstance(this, mTokenListener);
umVerifyHelper.setAuthSDKInfo("设置方案唯一秘钥信息");
umVerifyHelper.setAuthListener(mTokenListener);3、检测智能认证环境
boolean checkRet = umVerifyHelper.checkEnvAvailable();
umVerifyHelper.setAuthListener(mTokenListener);
if(!checkRet){
Log.d("test","当前网络不支持,请检测蜂窝网络后重试");
}4、拉取一键登录授权页页面
// 参数一:当前上下文context;如果需要添加效果,则需要传入Activity句柄
// 参数二:超时时间ms;
umVerifyHelper.getLoginToken(mContext,5000);5、预取号接口调用
预取号接口是否需要调用跟应用拉起一键登录页时机交互有关,如果不是立即拉起一键登录页,则可以调用预取号接口,否则无需调用。
/**
*预取号码信息,建议在 APP 登录页初始化时调用,提高后续授权页的打开速度。
*不要在 App 启动初始化时调用,预取号接口有有效期,避免接口调用资源浪费
*@param overdueTime 超时时间 单位ms
*@param listener 预取结果回调函数
*/
umVerifyHelper.accelerateLoginPage(3000000, new UMPreLoginResultListener(){
@Override
public void onTokenSuccess(finalString vendor){
ThreeMinsDemoActivity.this.runOnUiThread(newRunnable(){
@Override
public void run(){
info.setText("预取号成功!");
}
});
}
@Override
public void onTokenFailed(final String vendor, final String ret){
ThreeMinsDemoActivity.this.runOnUiThread(newRunnable(){
@Override
public void run(){
info.setText("预取号失败!"+ ret);
}
});
}
});认证Token验证
1、确认是否可以拉起一键登录授权页

2、点击一键登录,从UMTokenResultListener中查看是否可以成功获取到token信息
/**
* UMTokenResultListener 获取token和拉起授权页的监听回调
*/
private UMTokenResultListener mTokenListener =newUMTokenResultListener() {
@Override
public void onTokenSuccess(finalString ret) {
ThreeMinsDemoActivity.this.runOnUiThread(newRunnable(){
@Override
public void run() {
UMTokenRet tokenRet =null;
try {
tokenRet = JSON.parseObject(ret, UMTokenRet.class);
} catch(Exception e) {
e.printStackTrace();
}
if(tokenRet != null && !("600001").equals(tokenRet.getCode())){
token = tokenRet.getToken();
umVerifyHelper.quitLoginPage();
info.setText("获取认证token成功!");
}
}
});
}
@Override
public void onTokenFailed(finalString ret){
ThreeMinsDemoActivity.this.runOnUiThread(newRunnable(){
@Override
public void run(){
umVerifyHelper.hideLoginLoading();
umVerifyHelper.quitLoginPage();
info.setText("获取认证token失败!");
}
});
}
};SDK端初始接入完成
至此,客户端已可以成功获取token,剩余步骤需要与服务端联调处理用户登录逻辑
其它
关于预取号接口的调用
预取号接口是否调用,需要取决于APP拉起一键登录页面的交互,如果是一进入APP就立即拉起一键登录页面,则无需调用预取号接口