SDK方法说明

初始化

方法描述

public void init(Context context)

参数说明

参数 类型 说明
context Context 上下文

预取号

方法描述

app_id:产品id,请在官网申请

public void preGetToken(String app_id,int timeout, AbstractOneLoginListener listener)

参数说明

参数 类型 说明
app_id String 极验后台配置唯一id
timeout int 设置的预取号超时时间
listener AbstractOneLoginListener 回调监听器,需要开发者自己实现

AbstractOneLoginListener实现接口

回调

方法说明

整个流程的结果返回

public onResult(JSONObject jsonObject)

参数说明

参数 类型 说明
jsonObject JSONObject 错误信息
jsonObject的参数说明

预取号成功

参数名 必须 类型 说明
msg String 运营商返回的状态信息
process_id String 流水号(有效期10分钟)
app_id String 极验后台配置唯一id
operatorType String 客户端获取的运营商
clienttype String 客户端,1表示Android
sdk String sdk的版本号
status int 状态码,状态码为200
accessCode String 运营商返回的accessCode
number String 运营商返回的去敏手机号

预取号失败

参数名 必须 类型 说明
errorCode String 错误码
msg String 运营商返回的状态信息
process_id String 流水号(有效期10分钟)
app_id String 极验后台配置唯一id
metadata JSONObject 具体的错误原因
operatorType String 客户端获取的运营商
clienttype String 客户端,1表示Android
sdk String sdk的版本号
status int 状态码,状态码为500

取号

方法描述

public void requestToken(OneLoginThemeConfig oneLoginThemeConfig, AbstractOneLoginListener listener)

参数说明

参数 类型 说明
oneLoginThemeConfig OneLoginThemeConfig 全局配置接口
listener AbstractOneLoginListener 回调监听器,需要开发者自己实现

OneLoginThemeConfig实现接口

创建实例

OneLoginThemeConfig oneLoginThemeConfig=new OneLoginThemeConfig.Builder().build();

方法说明

setAuthBGImgPath(String authBGImgPath)

设置背景图片。

参数说明
参数 参数类型 说明 默认值
authBGImgPath String 设置背景图片。放在drawable文件下,以下背景图片路径与之保持一致 gt_one_login_bg
setDialogTheme(boolean isDialogTheme, int dialogWidth, int dialogHeight, int dialogX, int dialogY, boolean isDialogBottom, boolean isWebViewDialogTheme)

设置弹窗主题相关。

参数说明
参数 参数类型 说明 默认值
isDialogTheme boolean 是否使用弹窗模式,true为使用,false为不使用 false
dialogWidth int 弹窗模式宽度,长宽的单位都为dp,以下单位与之保持一致 300
dialogHeight int 弹窗模式高度 500
dialogX int 授权⻚弹窗X偏移量(以屏幕⼼为原点) 0
dialogY int 授权⻚弹窗Y偏移量(以屏幕⼼为原点) 0
isDialogBottom boolean 授权⻚弹窗是否贴于屏幕底部true:显示到屏幕底部, dialogY参数设置将⽆效 false:不显示到屏幕底部,以 dialogY参数为准 false
isWebViewDialogTheme boolean 隐私页面是否使用弹窗模式 false
setStatusBar(int statusBarColor,int navigationBarColor,boolean isLightColor)

设置状态栏颜色、字体颜色。

参数说明
参数 参数类型 说明 默认值
statusBarColor int 自定义状态栏背景颜色 0
navigationBarColor int 自定义底部导航栏背景颜色 0
isLightColor boolean 设置状态栏内容的颜色(只能黑白),true为黑色,false为白色 false
setAuthNavLayout(int navColor, int authNavHeight, boolean authNavTransparent, boolean authNavGone)

设置标题栏布局

参数说明
参数 参数类型 说明 默认值
navColor int 标题栏颜色 0xFF3973FF
authNavHeight int 标题栏高度 49
authNavTransparent boolean 标题栏是否透明 true
authNavGone boolean 标题栏是否隐藏,此处的隐藏为View.GONE false
setAuthNavTextView(String navText, int navTextColor, int navTextSize, boolean navTextNormal, String navWebViewText, int navWebViewTextColor, int navWebViewTextSize)

设置标题栏中间文字相关

参数说明
参数 参数类型 说明 默认值
navText String 文字设置 一键登录
navTextColor int 字体颜色 0xFFFFFFFF
navTextSize int 字体大小,单位为sp,以下设置字体大小的单位与之保持一致 17
navTextNormal boolean 设置是否隐私条款页面的标题栏中间文字使用默认值,true为使用navWebViewText,false为使用默认隐私条款的名字 false
navWebViewText String 隐私条款页面的标题栏中间文字 服务条款
navWebViewTextColor int 隐私条款页面的标题栏中间文字颜色 0xFF000000
navWebViewTextSize int 隐私条款页面的标题栏中间文字大小 17
setAuthNavReturnImgView(String navReturnImgPath, int returnImgWidth, int returnImgHeight, boolean navReturnImgHidden, int returnImgOffsetX)

设置标题栏返回按钮相关

参数说明
参数 参数类型 说明 默认值
navReturnImgPath String 返回按钮图片 gt_one_login_ic_chevron_left_black
returnImgWidth int 返回按钮图片宽度 24
returnImgHeight int 返回按钮图片高度 24
navReturnImgHidden boolean 返回按钮是否隐藏 false
returnImgOffsetX int 返回按钮图片距离屏幕左边X轴偏移量 12
setLogoImgView(String logoImgPath, int logoWidth, int logoHeight, boolean logoHidden, int logoOffsetY, int logoOffsetY_B, int logoOffsetX)

设置logo相关

参数说明
参数 参数类型 说明 默认值
logoImgPath String logo图片 gt_one_login_logo
logoWidth int logo图片宽度 71
logoHeight int logo图片高度 71
logoHidden boolean logo是否隐藏 false
logoOffsetY int logo相对于状态栏下边缘y偏移 125
logoOffsetY_B int logo相对于底部y偏移 0
logoOffsetX int logo相对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setNumberView(int numberColor, int numberSize, int numFieldOffsetY, int numFieldOffsetY_B, int numFieldOffsetX)

设置号码相关

参数说明
参数 参数类型 说明 默认值
numberColor int 号码栏字体颜色 0xFF3D424C
numberSize int 号码栏字体大小 24
numFieldOffsetY int 号码栏相对于标题栏下边缘y偏移 200
numFieldOffsetY_B int 号码栏相对于底部y偏移 0
numFieldOffsetX int 号码栏相对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setSwitchView(String switchText, int switchColor, int switchSize, boolean switchAccHidden, int switchAccOffsetY, int switchOffsetY_B, int switchOffsetX)

设置切换账号相关

参数说明
参数 参数类型 说明 默认值
switchText int 切换账号文字 切换账号
switchColor String 切换账号字体颜色 0xFF3973FF
switchSize int 切换账号字体大小 14
switchAccHidden boolean 切换账号是否隐藏 false
switchAccOffsetY int 切换账号相对于标题栏下边缘y偏移 249
switchOffsetY_B int 切换账号相对于底部y偏移 0
switchOffsetX int 切换账号相对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setLogBtnLayout(String loginImgPath, int logBtnWidth, int logBtnHeight, int logBtnOffsetY, int logBtnOffsetY_B, int logBtnOffsetX)

设置登录按钮布局

参数说明
参数 参数类型 说明 默认值
loginImgPath String 登录按钮背景图片 gt_one_login_btn_normal
logBtnWidth int 登录按钮宽度 268
logBtnHeight int 登录按钮高度 36
logBtnOffsetY int 登录按钮相对于标题栏下边缘y偏移 249
logBtnOffsetY_B int 登录按钮相对于底部y偏移 0
logBtnOffsetX int 登录按钮相对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setLogBtnTextView(String loginButtonText, int loginButtonColor, int logBtnTextSize)

设置登录按钮中间文字相关

参数说明
参数 参数类型 说明 默认值
loginButtonText String 文字设置 一键登录
loginButtonColor int 文字颜色 0xFFFFFFFF
logBtnTextSize int 文字大小 15
setLogBtnLoadingView(String loadingView, int loadingViewWidth, int loadingViewHeight, int loadingViewOffsetRight)

设置loading图片相关

参数说明
参数 参数类型 说明 默认值
loadingView String loading图片地址 umcsdk_load_dot_white
loadingViewWidth int loading图片宽度 20
loadingViewHeight int loading图片高度 20
loadingViewOffsetRight int loading图片距离屏幕右边X轴偏移量 12
setSloganView(int sloganColor, int sloganSize, int sloganOffsetY, int sloganOffsetY_B, int sloganOffsetX)

设置Slogan相关

参数说明
参数 参数类型 说明 默认值
sloganColor int 设置Slogan字体颜色 0xFFA8A8A8
sloganSize int 设置Slogan字体大小 10
sloganOffsetY int 设置Slogan相对于标题栏下边缘y偏移 382
sloganOffsetY_B int 设置Slogan相对于底部y偏移 0
sloganOffsetX int 设置Slogan相对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setPrivacyLayout(int privacyLayoutWidth, int privacyOffsetY, int privacyOffsetY_B, int privacyOffsetX)

设置隐私条款布局

参数说明
参数 参数类型 说明 默认值
privacyLayoutWidth int 设置隐私条款宽度,隐私条款大部分为字体,只规定宽度,高度自适应 256
privacyOffsetY int 设置隐私条款相对于标题栏下边缘y偏移 0
privacyOffsetY_B int 设置隐私条款相对于底部y偏移 18
privacyOffsetX int 设置隐私条款对于屏幕左边X轴偏移量,当为0时表示居中显示 0
setPrivacyCheckBox(String unCheckedImgPath, String checkedImgPath, boolean privacyState, int privacyCheckBoxWidth, int privacyCheckBoxHeight)

设置隐私条款选择框相关

参数说明
参数 参数类型 说明 默认值
unCheckedImgPath String 设置未选中下按钮的图片地址 gt_one_login_unchecked
checkedImgPath String 设置选中下按钮的图片地址 gt_one_login_checked
privacyState boolean 设置选择框是否默认选中 true
privacyCheckBoxWidth int 选择框图片宽度 9
privacyCheckBoxHeight int 选择框图片高度 9
setPrivacyClauseView(int baseClauseColor, int color, int privacyClauseTextSize)

设置隐私条款字体相关

参数说明
参数 参数类型 说明 默认值
baseClauseColor int 设置隐私条款基础文字颜色 0xFFA8A8A8
color int 设置隐私条款协议文字颜色 0xFF3973FF
privacyClauseTextSize int 设置隐私条款字体大小 10
setPrivacyTextView(String privacyTextViewTv1, String privacyTextViewTv2, String privacyTextViewTv3, String privacyTextViewTv4)

设置除了隐私条款其他的字体相关

参数说明
参数 参数类型 说明 默认值
privacyTextViewTv1 String 设置隐私条款文字1 登录即同意
privacyTextViewTv2 String 设置隐私条款文字2
privacyTextViewTv3 String 设置隐私条款文字3
privacyTextViewTv4 String 设置隐私条款文字4 并使用本机号码登录
setPrivacyClauseText(String clauseNameOne, String clauseUrlOne, String clauseNameTwo, String clauseUrlTwo, String clauseNameThree, String clauseUrlThree)

设置开发者隐私条款相关。

自定义隐私条款顺序。按顺序设置,当有条款名称与条款URL一起为空时,则使用默认的运营商隐私条款。否则按照顺序排列,自定义隐私条款最多只能两个。

参数说明
参数 参数类型 说明 默认值
clauseNameOne String 设置隐私条款1名称 null
clauseUrlOne String 设置隐私条款1URL null
clauseNameTwo String 设置隐私条款2名称 null
clauseUrlTwo String 设置隐私条款2URL null
clauseNameThree String 设置隐私条款3名称 null
clauseUrlThree String 设置隐私条款3URL null

AbstractOneLoginListener实现接口

回调

方法说明

整个流程的结果返回

public onResult(JSONObject jsonObject)

参数说明

参数 类型 说明
jsonObject JSONObject 错误信息
jsonObject的参数说明

取号成功

参数名 必须 类型 说明
msg String 运营商返回的状态信息
process_id String 流水号
app_id String 极验后台配置唯一id
operatorType String 客户端获取的运营商
clienttype String 客户端,1表示Android
sdk String sdk的版本号
status int 状态码,状态码为200
token String 运营商返回的accessToken

取号失败

参数名 必须 类型 说明
errorCode String 错误码
msg String 运营商返回的状态信息
process_id String 流水号
app_id String 极验后台配置唯一id
metadata JSONObject 具体的错误原因
operatorType String 客户端获取的运营商
clienttype String 客户端,1表示Android
sdk String sdk的版本号
status int 状态码,状态码为500

开发者自定义控件

方法描述

在requestToken()方法之前实现。允许开发者在授权页面titlebar和body添加自定义的控件
注意:自定义的控件不允许覆盖SDK默认的UI。

public OneLoginHelper addOneLoginRegisterViewConfig(String id, AuthRegisterViewConfig authRegisterViewConfig)

代码示例

OneLoginHelper.with().addOneLoginRegisterViewConfig(id, authRegisterViewConfig);

参数说明

参数 类型 说明
id String 开发者自定义控件名称
authRegisterViewConfig AuthRegisterViewConfig 配置开发者自定义控件的控件来源,位置和处理逻辑等

AuthRegisterViewConfig实现接口

创建实例

AuthRegisterViewConfig authRegisterViewConfig =new AuthRegisterViewConfig.Builder().build();
方法说明
方法名 传参类型 说明
setView View 开发者传入自定义的控件,需要设置好控件的布局属性,SDK只支持RelativeLayout布局
setRootViewId int 设置控件的位置。RootViewId.ROOT_VIEW_ID_TITLE_BAR指标题栏,RootViewId.ROOT_VIEW_ID_BODY指授权页空白处
setCustomInterface CustomInterface 设置控件事件。CustomInterface是一个接口,实现了点击方法

finish授权页

SDK默认除了返回按钮触以外,默认是不finsih授权页的,需要开发自行实现。

方法描述

public void dismissAuthActivity()

代码示例

OneLoginHelper.with().dismissAuthActivity();

参数说明

日志开关

默认是开启的。

方法描述

public void setLogEnable(boolean logEnable)

代码示例

OneLoginHelper.with().setLogEnable(false);

参数说明

参数 类型 说明
logEnable boolean 是否开启日志

初始化是否成功

判断是否初始化成功,cancel之后必须重新初始化。

方法描述

public boolean isInitSuccess()

代码示例

OneLoginHelper.with().isInitSuccess();

参数说明

预取号是否成功

判断是否预取号成功,取号必须在预取号成功之后。

方法描述

public boolean isPreGetTokenSuccess()

代码示例

OneLoginHelper.with().isPreGetTokenSuccess();

参数说明

设置横竖屏

设置当前页面横竖屏。

方法描述

public void setRequestedOrientation(Activity activity,boolean isPortrait)

代码示例

OneLoginHelper.with().setRequestedOrientation(MainActivity.this,true);

参数说明

参数说明

参数 类型 说明
activity Activity 当前调用OneLogin的页面
isPortrait boolean 是否是竖屏

清空验证

将验证中所有的任务清空

方法描述

在activity的onDestroy()方法中实现

public void cancel()

代码示例

OneLoginHelper.with().cancel();

参数说明

内部方法

方法描述

获取SDK版本号

public void sdkVersion()

参数说明

代码示例

OneLoginHelper.with().sdkVersion()

混淆规则

-dontwarn com.geetest.onelogin.**
-keep class com.geetest.onelogin.** {
*;
}
-dontwarn com.cmic.sso.sdk.**
-keep class com.cmic.sso.sdk.** {
*;
}
-dontwarn com.unicom.xiaowo.login.**
-keep class com.unicom.xiaowo.login.** {
*;
}
-dontwarn cn.com.chinatelecom.account.api.**
-keep class cn.com.chinatelecom.account.api.** {
*;
}

日志打印

SDK提供部分日志,TAG为Geetest_OneLogin,移动运营商TAG为CMCC,电信运营商TAG为CT_CtAuth,联通运营商TAG为uniaccount