当前位置:文档中心 > 一鍵免密

服务端接入接口

iosSDK接入文档

安卓SDK接入文档

DEMO及文档下载

7x24小时客服热线 >

售前:400-810-7255
售后:400-779-7255

接入指南

接入说明:

SDK支持版本:minSdkVersion 16

亿美免密SDK提供手机账号一键登录能力。

v7a版本更新内容:

全面更新了三大运营商的SDK,整理了提供给客户端接口,使用更直观,更便捷。

1.1接入流程

通过亿美申请appid和appSecret。

1.2开发流程

1. Android Studio版本需要使用3.0以上

2.本SDK提供两种接入方式:

1>.远程依赖,此方法不再需要拷贝aar到libs目录下。

allprojects {
 repositories {
   maven { url 'https://jitpack.io' }
 }
}

在 module 的 gradle 中添加依赖:

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.alibaba:fastjson:1.2.58'
implementation 'com.squareup.okhttp3:okhttp:3.14.9'
implementation 'com.github.Antidy:OneLoginSDK:1.4.0'

注:如遇到okio冲突,请在module中加入如下代码:

 configurations {
   compile.exclude module: 'okhttp'
   compile.exclude module: 'okio'
 }

2>.本地集成方式:拷贝loginsdk-release-1.4.0.aar到项目 的libs目录下,并在gradle中做以下配置

 implementation fileTree(include: ['*.jar'], dir: 'libs')
 implementation 'com.android.support:appcompat-v7:28.0.0'
 implementation 'com.android.support.constraint:constraint-layout:1.0.2'
 implementation 'com.alibaba:fastjson:1.2.58'
 implementation 'com.squareup.okhttp3:okhttp:3.14.9'
 implementation(name:'loginsdk-release-1.4.0', ext: 'aar')

3. 在gradle中配置signingConfig签名信息,并在编译apk时,使用该签名。

4. 提交app包名和app签名 将app包名和签名提供给平台审核。 平台需要校验app包名和签名,请务必提供准确信息。信息更改后,需要重新向平台申请。 可使用命令:keytool -v -list -keystore 你的应用签名文件.jks获取签名的MD5信息。

5. 在AndroidManifest.xml配置必要的权限支持,并在代码中做动态权限申请。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--  低版本系统 requestNetwork 接口需要该权限,参考ConnectivityManager requestNetwork 方法  -->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

权限说明:

权限名称 权限说明 使用说明
INTERNET 允许应用程序联网 用于访问极验、运营商网关和认证服务器
ACCESS_WIFI_STATE 允许访问 WiFi 网络状态信息 允许 SDK 获取 WiFi 网络状态与连接信息
ACCESS_NETWORK_STAT 允许访问网络状态 允许 SDK 判断当前网络处于移动网络或WiFi网络
CHANGE_NETWORK_STATE 允许改变网络连接状态 设备在WiFi跟数据双开时,允许 SDK 内部请求(仅用于网关取号的请求)强行走数据网络通道
CHANGE_WIFI_STATE 允许改变 WiFi 网络连接状态 设备在 WiFi 跟数据双开时,切允许 SDK 内部请求
READ_PHONE_STATE 允许读取手机状态 SDK 取号阶段判断换卡、移动 SDK 判断双卡和换卡(低概率使用场景,非必须权限)
WRITE_SETTINGS 允许读写系统设置项 低版本系统进行数据切换用到的权限,添加后可增加 WiFi+4G下网络环境下的取号成功率,高版本系统以上可去除该权限

6.Android 9.0 以上设备配置对 http 协议的支持:

<application android:usesCleartextTraffic="true">
    //...
</application> //请务必配到application节点上

7. 配置混淆策略

-dontwarn com.geetest.onelogin.**
-keep class com.geetest.onelogin.** {
*;
}
-dontwarn com.geetest.onepassv2.**
-keep class com.geetest.onepassv2.** {
*;
}
-dontwarn com.geetest.deepknow.**
-keep class com.geetest.deepknow.** {
*;
}
-dontwarn com.geetest.mobinfo.**
-keep class com.geetest.mobinfo.** {
*;
}
-dontwarn com.cmic.sso.sdk.**
-keep class com.cmic.sso.sdk.** {
*;
}
-dontwarn com.unigeetest.**
-keep class com.unigeetest.** {
*;
}
-dontwarn cn.com.chinatelecom.account.**
-keep class cn.com.chinatelecom.account.** {
*;
}
#emay
-keep class cn.emay.ql.**{*;}
                      		

2.开始接入

1、调用UniSDK.getInstance().initAuth初始化,并获取初始化回调结果。

方法原型:

UniSDK.getInstance().initAuth(Context context, String appId, String
appSecret,new InitCallback() {
     @Override
     public void onSuccess(String msg) {
       //初始化成功
     }
     @Override
     public void onFailed(String msg) {
     //初始化失败
     }
   });
                        	

参数说明:

context,当前页面上下文

appId,通过亿美拿到的appId

appSecret:通过亿美拿到的appSecret

InitCallback:初始化回调

2、在初始化成功完成之后,调用UniSDK.getInstance().login 接口完成登录

方法原型:

public void login(OneLoginThemeConfig themeConfig,LoginCallback callback) {
}

参数说明:

context,当前页面上下文

callback :登录回调,需要开发者自己在回调中做出相应处理

themeConfig:授权页的自定义UI参数对象

onSuccess(String msg)
msg参数说明:登录成功后返回获取的token。

onFailed(String msg)
msg参数说明:登录失败返回的错误原因。

3、关闭授权页

用户主动关闭授权页。SDK 除了返回按钮触发关闭以外,默认是不 finsih 授权页的,需要开发者在回调 结束后自行关闭授权页。

代码示例:

OneLoginHelper.with().dismissAuthActivity();

3 授权页UI自定义

v7a版本将所有的UI自定义部分都以代码接口的形式提供给了接入者,通过实例化 OneLoginThemeConfig 并进行自定义配置,完成授权页面 UI 的个性化设计,每次调用拉起授权页方法前必须先传入该实例,否则授权界面会展示异常。

1:创建实例:

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

2:弹窗模式设置:

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

3:添加自定义控件

在login方法之前实现。

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

参数说明

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

创建自定义控件配置

AuthRegisterViewConfig authRegisterViewConfig =
                                new AuthRegisterViewConfig.Builder().build();

方法说明

方法名 传参类型 说明
setView View 开发者传入自定义的控件,需要设置好控件的布局属性,SDK 只支持RelativeLayout布局,控件位置请通过RelativeLayout.LayoutParams 配置指定,具体配置可参考 demo 示例代码
setRootViewId int 设置控件的位置。
RootViewId.ROOT_VIEW_ID_TITLE_BAR 指标题栏
RootViewId.ROOT_VIEW_ID_BODY 指授权页空白处

4:授权页其他接口


· 设置横竖屏(setRequestedOrientation)


方法描述

建议直接在 AndroidManifest 中配置登录页前一个 Activity 的方向,或者调用系统api`setRequestedOrientation`设置屏幕方向来替换此方法。

public void setRequestedOrientation(Activity activity, boolean isPortrait)

代码示例

setRequestedOrientation(MainActivity.this, true);

参数说明

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

· 设置授权页面背景(setAuthBGImgPath)


方法描述

设置背景图片。

setAuthBGImgPath(String authBGImgPath)

参数说明

参数 类型 说明 默认值
authBGImgPath String 设置背景图片。放在 `drawable` 文件下,以下背景图片路径与之保持一致 gt_one_login_bg

· 设置授权页面视频背景(setAuthBGImgPath)


方法描述

设置页面视频背景。

setAuthBgVideoUri(String authBgVideoUri)

参数说明

参数 类型 说明 默认值
authBgVideoUri String 视频背景 Uri 字符串。放在 `raw` 文件下,如: `"android.resource://" + this.getPackageName() + "/" + R.raw.geetest_demo_video` null

· 状态栏设置(setStatusBar)


方法描述

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

setStatusBar(int statusBarColor, int navigationBarColor, boolean isLightColor)

参数说明

参数 类型 说明 默认值
statusBarColor int 自定义状态栏背景颜色,优先按资源id查找,找不到则按固定颜色值设置 0
navigationBarColor int 自定义底部导航栏背景颜色,优先按资源id查找,找不到则按固定颜色值设置 0
isLightColor boolean 设置状态栏内容的颜色(只能黑白),true 为黑色,false 为白色 false

· 标题栏设置(setAuthNavLayout)


方法描述

设置标题栏布局

setAuthNavLayout(int navColor, int authNavHeight,
                                boolean authNavTransparent, boolean authNavGone)

参数说明

参数 类型 说明 默认值
navColor int 标题栏颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFF3973FF,黑暗模式0x2E2E30
authNavHeight int 标题栏高度 49
authNavTransparent boolean 标题栏是否透明 true
authNavGone boolean 标题栏是否隐藏,此处的隐藏为 `View.GONE` false

· 标题栏文字设置(setAuthNavTextView)


方法描述

设置标题栏中间文字相关

setAuthNavTextView(String navText, int navTextColor, int navTextSize,
                                boolean navWebTextNormal,String navWebViewText,
                                int navWebViewTextColor, int navWebViewTextSize)

参数说明

参数 类型 说明 默认值
navText String 文字设置 一键登录
navTextColor int 字体颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFF000000,黑暗模式0xFFFFFFFF
navTextSize int 字体大小,单位为`sp`,以下设置字体大小的单位与之保持一致 17
navWebTextNormal boolean 设置是否隐私条款页面的标题栏中间文字使用默认值,true 为使用navWebViewText,false为使用默认隐私条款的名字 false
navWebViewText String 隐私条款页面的标题栏中间文字 服务条款
navWebViewTextColor int 隐私条款页面的标题栏中间文字颜色 默认0xFF000000,黑暗模式0xFFFFFFFF
navWebViewTextSize int 隐私条款页面的标题栏中间文字大小 17

· 标题栏字体设置(setAuthNavTextViewTypeface)


方法描述

设置标题栏中间文字的字体相关

setAuthNavTextViewTypeface(Typeface navTextTypeface, Typeface navWebViewTextTypeface)

参数说明

参数 类型 说明 默认值
navTextTypeface Typeface 标题栏的文字的字体 Typeface.DEFAULT
navWebViewTextTypeface Typeface 条款页面标题栏的文字的字体 Typeface.DEFAULT

· 标题栏返回按钮设置(setAuthNavReturnImgView)


方法描述

设置标题栏返回按钮相关

setAuthNavReturnImgView(String returnImgPath, int returnImgWidth, int returnImgHeight,
                                boolean returnImgHidden, int returnImgOffsetX)
setAuthNavReturnImgView(String returnImgPath, int returnImgWidth, int returnImgHeight,
                                boolean returnImgHidden, int returnImgOffsetX,
                                int returnImgOffsetY)

参数说明

参数 类型 说明 默认值
returnImgPath String 返回按钮图片 gt_one_login_ic_chevron_left_black
returnImgWidth int 返回按钮图片宽度 24
returnImgHeight int 返回按钮图片高度 24
returnImgHidden boolean 返回按钮是否隐藏 false
returnImgOffsetX int 返回按钮图片距离屏幕左边X轴偏移量 12
returnImgOffsetY int 返回按钮图片距离标题栏顶部偏移量,可选配,不传该参数默认标题栏垂直居中 0

· 返回事件屏蔽设置(setBlockReturnEvent)


方法描述

设置是否屏蔽返回键与返回按钮返回事件,屏蔽后仍然会发生对应的错误码回调,只是 SDK 默认不关闭授权页。

setBlockReturnEvent(boolean blockReturnKey, boolean blockReturnBtn)

参数说明

参数 类型 说明 默认值
blockReturnKey boolean 是否屏蔽返回键返回事件 false
blockReturnBtn boolean 是否屏蔽返回按钮返回事件 false

· logo设置(setLogoImgView)


方法描述

设置logo相关

setLogoImgView(String logoImgPath, int logoWidth, int logoHeight,
                                boolean logoHidden, int logoOffsetY,
                                int logoOffsetY_B, int logoOffsetX)

参数说明

参数 类型 说明 默认值
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)


方法描述

设置号码相关

setNumberView(int numberColor, int numberSize, int numberOffsetY, int numberOffsetY_B,
                                int numberOffsetX)

参数说明

参数 类型 说明 默认值
numberColor int 号码栏字体颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFF3D424C,黑暗模式0xFFFFFFFF
numberSize int 号码栏字体大小 24
numberOffsetY int 号码栏相对于标题栏下边缘 y 偏移 200
numberOffsetY_B int 号码栏相对于底部 y偏移 0
numberOffsetX int 号码栏相对于屏幕左边 x 轴偏移量,当为 0 时表示居中显示 0

· 号码字体设置(setNumberText)


方法描述

设置号码栏富文本样式,配置后将使用该富文本填充脱敏手机号内容

setNumberText(CharSequence numberText)

参数说明

参数 类型 说明 默认值
numberText CharSequence 号码栏的富文本内容, 参考`TextView`的`setText(CharSequence text)`方法 null

注:富文本内容应该包含正确的脱敏手机号,且配置之前必须确保能拿到正确的脱敏手机号


· 号码字体设置(setNumberViewTypeface)


方法描述

设置号码栏字体相关

setNumberViewTypeface(Typeface numberTypeface)

参数说明

参数 类型 说明 默认值
numberTypeface Typeface 号码栏的文字的字体 Typeface.DEFAULT

· 切换账号视图设置(setSwitchView)


方法描述

设置切换账号相关

setSwitchView(String switchText, int switchColor, int switchSize, boolean switchHidden,
                                int switchOffsetY, int switchOffsetY_B, int switchOffsetX)

参数说明

参数 类型 说明 默认值
switchText String 切换账号文字 切换账号,默认情况下受背景大小限制,只能显示4个字,如遇显示不全,建议通过`setSwitchViewLayout`调整背景大小试试
switchColor String 切换账号字体颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFF3973FF,黑暗模式0xFF6794FF
switchSize int 切换账号字体大小 14
switchHidden boolean false 14
switchOffsetY int 切换账号相对于标题栏下边缘 y 偏移 249
switchOffsetY_B int 切换账号相对于底部 y 偏移 0
switchOffsetX int 切换账号相对于屏幕左边 x 轴偏移量,当为0时表示居中显示 0

· 切换账号视图背景设置(setSwitchViewLayout)


方法描述

设置切换账号背景图片与宽高相关

setSwitchViewLayout(String switchImgPath, int switchWidth, int switchHeight)

参数说明

参数 类型 说明 默认值
switchImgPath String 切换账号背景图片 默认无背景
switchWidth int 切换账号背景宽度 80
switchHeight int 切换账号背景高度 25

· 切换账号字体设置(setSwitchViewTypeface)


方法描述

设置切换账号字体相关

setSwitchViewTypeface(Typeface switchTypeface)

参数说明

参数 类型 说明 默认值
switchTypeface Typeface 切换账号的文字的字体 Typeface.DEFAULT

· 登录按钮布局设置(setLogBtnLayout)


方法描述

设置登录按钮布局

setLogBtnLayout(String logBtnImgPath, int logBtnWidth, int logBtnHeight,
                                int logBtnOffsetY, int logBtnOffsetY_B, int logBtnOffsetX)
setLogBtnLayout(String logBtnImgPath, String logBtnUncheckedImgPath, int logBtnWidth,
                                int logBtnHeight, int logBtnOffsetY, int logBtnOffsetY_B,
                                int logBtnOffsetX)

参数说明

参数 类型 说明 默认值
logBtnImgPath String 登录按钮背景图片 gt_one_login_btn
logBtnUncheckedImgPath String 未选中隐私栏勾选框时登录按钮的背景图片 gt_one_login_btn_unchecked
logBtnWidth int 登录按钮宽度 268
logBtnHeight int 登录按钮高度 36
logBtnOffsetY int 登录按钮相对于标题栏下边缘 y 偏移 249
logBtnOffsetY_B int 登录按钮相对于底部 y 偏移 0
logBtnOffsetX int 登录按钮相对于屏幕左边 x 轴偏移量,当为0时表示居中显示 0

· 登录按钮文字设置(setLogBtnLayout)


方法描述

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

setLogBtnTextView(String logBtnText, int logBtnColor, int logBtnTextSize)

参数说明

参数 类型 说明 默认值
logBtnText String 文字设置 一键登录
logBtnColor int 文字颜色,优先按资源id查找,找不到则按固定颜色值设置 0xFFFFFFFF
logBtnTextSize int 文字大小 15

· 登录按钮文字字体设置(setLogBtnTextViewTypeface)


方法描述

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

setLogBtnTextViewTypeface(Typeface logBtnTextTypeface)

参数说明

参数 类型 说明 默认值
logBtnTextTypeface Typeface 登录按钮中间的文字的字体 Typeface.DEFAULT

· 登录按钮可用状态随选择框选择状态变化设置(setLogBtnDisableIfUnChecked)


方法描述

设置登录按钮在选择框未选择时禁用状态

setLogBtnDisableIfUnChecked(boolean disableBtnIfUnChecked)

参数说明

参数 类型 说明 默认值
disableBtnIfUnChecked boolean 登录按钮中间的文字的字体 false

· 登录加载视图设置(setLogBtnLoadingView)


方法描述

设置loading图片相关

setLogBtnLoadingView(String loadingView, int loadingViewWidth, int loadingViewHeight,
                                int loadingViewOffsetRight)
setLogBtnLoadingView(String loadingView, int loadingViewWidth, int loadingViewHeight,
                                int loadingViewOffsetRight, int loadingViewOffsetY)

参数说明

参数 类型 说明 默认值
loadingView String loading 图片地址 umcsdk_load_dot_white
loadingViewWidth int loading 图片宽度 20
loadingViewHeight int loading 图片高度 20
loadingViewOffsetRight int loading 图片距离登录框右边 x 轴偏移量 12
loadingViewOffsetY int loading 图片距离登录框 y 轴偏移量,可选配,不传该参数默认登录框垂直居中 0

· 标语设置(setSloganView)


方法描述

设置 Slogan 相关

setSloganView(int sloganColor, int sloganSize, int sloganOffsetY,
                                int sloganOffsetY_B, int sloganOffsetX)

参数说明

参数 类型 说明 默认值
sloganColor int 设置 Slogan 字体颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFFA8A8A8,黑暗模式0xFFD0D1E2
sloganSize int 设置 Slogan 字体大小 10
sloganOffsetY int 设置 Slogan 相对于标题栏下边缘 y 偏移 382
sloganOffsetY_B int 设置 Slogan 相对于底部 y 偏移 0
sloganOffsetX int 设置 Slogan 相对于屏幕左边 x 轴偏移量,当为0时表示居中显示 0

· 标语字体设置(setSloganViewTypeface)


方法描述

设置 Slogan 文字的字体相关

setSloganViewTypeface(Typeface sloganTypeface)

参数说明

参数 类型 说明 默认值
sloganTypeface Typeface Slogan 文字的字体 Typeface.DEFAULT

· 隐私栏布局设置(setPrivacyLayout)


方法描述

设置隐私条款布局

setPrivacyLayout(int privacyLayoutWidth, int privacyOffsetY, int privacyOffsetY_B,
                                int privacyOffsetX, boolean isUseNormalWebActivity)
setPrivacyLayout(int privacyLayoutWidth, int privacyOffsetY, int privacyOffsetY_B,
                                int privacyOffsetX, boolean isUseNormalWebActivity,
                                int gravity)

参数说明

参数 类型 说明 默认值
privacyLayoutWidth int 设置隐私条款宽度,隐私条款大部分为字体,只规定宽度,高度自适应。设置宽度为`ViewGroup.LayoutParams.MATCH_PARENT`,隐私条款的宽度将 填充父布局;设置宽度为`ViewGroup.LayoutParams.WRAP_CONTENT`,隐私条款的宽度将根据文本内容自动扩展;其他情况将按照固定值设置宽度。 256
privacyOffsetY int 设置隐私条款相对于标题栏下边缘 y 偏移 0
privacyOffsetY_B int 设置隐私条款相对于底部 y 偏移 18
privacyOffsetX int 设置隐私条款对于屏幕左边 x 轴偏移量,当为 0 时表示居中显示 0
isUseNormalWebActivity boolean 设置是否跳转到默认的隐私条款页面 true
gravity int 设置隐私条款选择框和文本的对齐方式,参考LinearLayout的setGravity(int gravity)方法,可选配 Gravity.CENTER_HORIZONTAL

注:`privacyOffsetY`与`privacyOffsetY_B`两个偏移量必须有一个为0,否则优先采用`privacyOffsetY_B`。


· 隐私栏勾选框设置(setPrivacyCheckBox)


方法描述

设置隐私条款选择框相关

setPrivacyCheckBox(String unCheckedImgPath, String checkedImgPath, boolean privacyState,
                                int privacyCheckBoxWidth, int privacyCheckBoxHeight)
setPrivacyCheckBox(String unCheckedImgPath, String checkedImgPath, boolean privacyState,
                                int privacyCheckBoxWidth, int privacyCheckBoxHeight,
                                int privacyCheckBoxOffsetY)
setPrivacyCheckBox(String unCheckedImgPath, String checkedImgPath, boolean privacyState,
                                int privacyCheckBoxWidth, int privacyCheckBoxHeight,
                                int privacyCheckBoxOffsetY,
                                int privacyCheckBoxMarginRight)

参数说明

参数 类型 说明 默认值
unCheckedImgPath String 设置未选中下按钮的图片地址 gt_one_login_unchecked
checkedImgPath String 设置选中下按钮的图片地址 gt_one_login_checked
privacyState boolean 设置选择框是否默认勾选 false
privacyCheckBoxWidth int 选择框图片宽度 9
privacyCheckBoxHeight int 选择框图片高度 9
privacyCheckBoxOffsetY int 选择框图片Y轴偏移,可选配 0
privacyCheckBoxMarginRight int 选择框图片右边距,可选配 5

· 隐私条款文字显示设置(setPrivacyClauseView)


方法描述

设置隐私条款字体相关

setPrivacyClauseView(int baseClauseColor, int clauseColor, int privacyClauseTextSize)

参数说明

参数 类型 说明 默认值
baseClauseColor int 设置隐私条款基础文字颜色,优先按资源id查找,找不到则按固定颜色值设置 默认0xFFA8A8A8,黑暗模式0xFFD0D1E2
clauseColor int 设置隐私条款协议文字颜色,优先按资源id查找,找不到则按固定颜色值设置 0xFF3973FF
privacyClauseTextSize int 设置隐私条款字体大小 10

· 隐私条款文字设置(setPrivacyTextView)


方法描述

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

setPrivacyTextView(String privacyTextViewTv1, String privacyTextViewTv2,
                                String privacyTextViewTv3, String privacyTextViewTv4)

参数说明

参数 类型 说明 默认值
privacyTextViewTv1 String 设置隐私条款文字1 登录即同意
privacyTextViewTv2 String 设置隐私条款文字2
privacyTextViewTv3 String 设置隐私条款文字3
privacyTextViewTv4 String 设置隐私条款文字4 并使用本机号码登录

· 设置隐私栏文字的字体(setPrivacyClauseViewTypeface)


方法描述

设置隐私栏文字的字体相关

setPrivacyClauseViewTypeface(Typeface privacyClauseBaseTypeface,
                                Typeface privacyClauseTypeface)

参数说明

参数 类型 说明 默认值
privacyClauseBaseTypeface Typeface 隐私栏基础的文字的字体 Typeface.DEFAULT
privacyClauseTypeface Typeface 隐私条款的文字的字体 Typeface.DEFAULT

· 开发者隐私条款设置(setPrivacyClauseText)


方法描述

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

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

setPrivacyClauseText(String clauseNameOne, String clauseUrlOne, String clauseNameTwo,
                                String clauseUrlTwo, String clauseNameThree,
                                String clauseUrlThree)

参数说明

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

· 开发者隐私条款设置(setPrivacyClauseTextStrings)


方法描述

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

自定义多个隐私条款。按顺序设置,长度为 4 的倍数,配置后优先使用该接口的配置,否则使用`setPrivacyClauseText`的配置。可通过预留一组空字符串配置让 SDK 自动添加运营商协议。

setPrivacyClauseTextStrings(String... privacyClauseTextStrings)

参数说明

参数 类型 说明 默认值
privacyClauseTextStrings String[] 设置隐私条款数组 null

代码示例

/**
 *连续四个参数为一组隐私协议条款 第一个为条款说明前缀或者分隔字符,第二个为条款名称,第三个为条款 URL,
                                第四个为说明后缀或者分隔字符
 *任意一组留空,SDK 会自动添加运营商隐私条款,留空的位置可前后调整。
 */
.setPrivacyClauseTextStrings("登录即同意", "应用自定义服务条款一", "http://a.b.c", "",
                        "和", "应用自定义服务条款二", "http://x.y.z", "",
                        "和", "应用自定义服务条款三", "http://x.y.z", "",
                        "和", "", "", "并使用本机号码登录")

注:运营商隐私协议必须显示,开发者需保留一组条款参数留空

隐私条款名称显示书名号相关(setPrivacyAddFrenchQuotes)


方法描述

设置授权页面隐私条款名称显示书名号。

setPrivacyAddFrenchQuotes(boolean privacyAddFrenchQuotes)

注: 个别第三方系统可能存在对包含中文字符的富文本渲染异常,出现文字超出控件右边界显示被截断的情况,建议不要添加书名号。


参数说明

参数 类型 说明 默认值
privacyAddFrenchQuotes boolean 是否设置隐私条款名称显示书名号 false

· 隐私条款文字对齐方式(setPrivacyTextGravity)


方法描述

设置隐私条款文字对齐方式。

setPrivacyTextGravity(int privacyTextGravity)

参数说明

参数 类型 说明 默认值
privacyTextGravity int 设置隐私条款文字对齐方式,参考`TextView.setGravity`方法 Gravity.TOP|Gravity.START

· 隐私条款文字行间距(setPrivacyLineSpacing)


方法描述

设置隐私条款文字行间距,参考`TextView.setLineSpacing`方法。

setPrivacyLineSpacing(float lineSpacingExtra, float lineSpacingMultiplier)

参数说明

参数 类型 说明 默认值
lineSpacingExtra float 设置隐私条款文字行间距,单位: dp 8.0f
lineSpacingMultiplier float 设置隐私条款文字行间距的倍数 1.0f

· 未同意隐私条款时的文字提示(setPrivacyUnCheckedToastText)


方法描述

设置未同意隐私条款时的文字提示相关。

setPrivacyUnCheckedToastText(String privacyUnCheckedToastText)
setPrivacyUnCheckedToastText(boolean enableToast, String privacyUnCheckedToastText)

参数说明

参数 类型 说明 默认值
enableToast boolean 设置是否弹出 Toast 提示文字,可选配 true
privacyUnCheckedToastText String 设置未同意隐私条款的文字提示相关 请同意服务条款

4 错误码列表

SUCCESS 提交成功
ERROR_APPID AppId不存在
ERROR_PARAMS 请求参数错误
ERROR_PLATFORM 手机平台错误
ERROR_ENCRYPTION 解密失败
ERROR _BALANCE 余额不足
返回码 描述 处理方式
-20101 app_id 未传,调用 SDK 时传入的 APPID 为空 调用初始化‘init‘接口时传入正确的 APPID 参数
-20102 没有调用预取号接口或者预取号内部还没初始化完成就调用了取号接口 1、进阶逻辑下分开调用‘register‘与‘preGetToken‘接口 2、常规逻辑下等‘preGetToken‘收到正确的回调后再调用‘requestToken‘接口
-20105 预取号超时或者拉起授权页超时,网络信号较差或者配置的超时时间较短 1、在网络信号较好的地方重试 2、修改 SDK 超时时间配置,适当延长超时时间
-20106 取号时用户切换了数据流量或者更换了 SIM 卡 1、进阶逻辑下检测到该错误码后关闭授权页,提醒用户重新拉起授权页登录(内部会重新预取号) 2、常规逻辑下检测到该错误码后关闭授权页,重 新预取号
-20501 调用初始化‘init‘接口时传入的‘context‘参数为空 调用初始化‘init‘接口时传入正确的‘context‘参数
-20502 1、授权页 UI 配置错误 2、集成 SDK 时丢失了部分内部资源文件 1、调用‘requestToken‘接口时传入正确的‘oneLoginThemeConfig‘参数,确认使用到的图片资源存在 2、使用文档中推荐的集成方式集成 SDK,不 要解压 aar 文件单独集成 jar 包 3、检测 logcat 错误日志,查看配置出错原因
-20503 授权页 UI 配置错误,可能资源文件找不到,导致授权页加载异常 1、调用‘requestToken‘接口时传入正确的‘oneLoginThemeConfig‘参数,确认使用到的图片资源存在 2、使用文档中推荐的集成方式集成 SDK,不 要解压 aar 文件单独集成 jar 包 3、检测 logcat 错误日志,查看配置出错原因
-20200 当前网络不可用,可能手机未开启数据流量与 WIFI 网络 打开数据流量后重试
-20201 手机未插入 SIM 卡或者在模拟器中运行 建议在支持 SIM 卡的且数据网络访问正常的移动设备上重试
-20202 手机未开启数据网络或者在模拟器中运行 建议打开数据流量后重试
-20203 使用纯流量卡或者非国内三大运营商手机卡 使用国内三大运营商电话卡尝试
-20207 WIFI 下请求切换网络失败 1、未配置‘CHANGE_NETWORK_STATE‘权限 2、网络不稳定或者 SIM 状态异常 1、应用内配置‘CHANGE_NETWORK_STATE‘权限重试,检查数据网络是否正常访问 2、SIM 卡识别是否稳定,开关数据网络或者开关飞行模式,或者重 启手机后重试
-20301 用户在授权页点击了返回键退出授权页 等待用户重新拉起授权页登录
-20302 用户在授权页点击了标题栏返回按钮退出授权页 等待用户重新拉起授权页登录
-20303 用户在授权页点击了切换账号按钮 关闭授权页,等待用户选择其他登录方式或者重新拉起授权页登录
-20490 取号时‘oneLoginThemeConfig‘传递的是空值 调用‘requestToken‘接口时传入正确的‘oneLoginThemeConfig‘参数

附录:对应运营商的错误码列表:

ERROR_APPID_ROUTE 无运营商匹配信息

电信:

错误码 含义
0 请求成功
-64 permission-denied(无权限访问)
-65 API-request-rates-Exceed-Limitations(调用接口超限)
-10001 取号失败
-10002 参数错误
-10003 解密失败
-10004 ip受限
-10005 异网取号回调参数异常
-10006 Mdn取号失败,且属于电信网络
-10007 重定向到异网取号
-10008 超过预设取号阈值
-10009 时间戳过期
-20005 sign-invalid(签名错误)
-20006 应用不存在
-20007 公钥数据不存在
-20100 加密参数解析失败
-30001 时间戳非法
-30003 topClass失效,请查看5.3+5.4常见问题
51002 参数为空
51114 无法获取手机号数据

电信SDK自定义错误码:

80000 请求超时
80001 请求网络异常
80002 响应码错误
80003 无网络连接
80004 移动网络未开启
80005 Socket超时异常
80006 域名解析异常
80007 IO异常
80008 No route to host
80009 nodename nor servname provided, or not known
80010 Socket closed by remote peer
80100 登录结果为空
80101 登录结果异常
80102 预登录异常
80103 SDK未初始化
80104 未调用预登录接口
80105 加载nib文件异常
80200 用户关闭界面
80201 其他登录方式
80800 WIFI切换异常
80801 WIFI切换超时

联通:

状态码类型 状态码(status) 信息(msg) 示例说明
提示型 101001 授权码不能为空 使用 SDK 调用置换接口时没有填入授权码
101002 认证的手机号不能为空 使用 SDK 认证置换时没有填入需要认证的手机号码
101003 UiConfig 不能为空 调用 openActivity 接口时,必须配置 UiConfig
101004 ApiKey 或 PublicKey 不能为空 ApiKey 或 PublicKey 不能为空未进行初始化,调用 SDKManager.init()进行初始化
101005 超时 超时超过了接入方设置的时间
101006 公钥出错 公钥错误,请核对配置的公钥是否与申请的公钥一致
101007 用户取消登录 免密登录时,进入授权页执行了返回操作`
102001 选择流量通道失败 取号功能必须使用流量访问,在 wifi 和流量同时开启的情况下sdk 会选择使用流量进行访问,此返回码代表切换失败!(受不 同机型的影响)
警告型 201001 操作频繁请,请稍后再试 超出 10 分钟之内只能访问 30 次的限制
危险性 302001 SDK 解密异常 服务端返回数据时 sdk 会进行解密操作,如果解密出错则出现此错误
302002 网络访问异常 sdk 网络请求异常
302003 服务端数据格式出错 服务端返回数据格式错误

其他错误 其他方式登录 用户点击了切换账号或其他方式登录

移动:

返回码 返回码描述
103000 成功
102507 `登录超时(授权页点登录按钮时)`
103101 请求异常
103102 包签名错误(社区填写的appid和对应的包名包签名必须一致)
103111 `错误的运营商请求(可能是用户正在使用代理或者运营商判断失败导致)`
103119 appid不存在
103211 `其他错误,联系技术支撑解决问题`
103412 无效的请求(1.加密方式错误;2.非json格式;3.空请求等)
103414 参数校验异常
103511 服务器ip白名单校验失败
103811 token为空
103902 scrip失效(短时间内重复登录)
103911 token请求过于频繁,10分钟内获取token且未使用的数量不超过30个
104201 token已失效或不存在(重复校验或失效)
105001 联通取号失败
105002 移动取号失败
105003 电信取号失败
105012 不支持电信取号
105013 不支持联通取号

返回码:

返回码 返回码描述
105018 token权限不足(使用了本机号码校验的token获取号码)
105019 应用未授权(未在开发者社区勾选能力)
105021 当天已达取号限额
105302 appid不在白名单
105312 余量不足(体验版到期或套餐用完)
105313 非法请求
200005 用户未授权(READ_PHONE_STATE)
200010 无法识别sim卡或没有sim卡(android)
200015 短信验证码格式错误
200020 用户取消登录
200021 数据解析异常
200022 无网络
200023 请求超时
200024 数据网络切换失败
200025 未知错误一般出现在线程捕获异常,请配合异常打印分析
200026 输入参数错误
200027 未开启数据网络或网络不稳定
200028 网络异常
200038 异网取号网络请求失败
200039 异网取号网关取号失败
200040 UI资源加载异常
200048 用户未安装sim卡
200050 EOF异常
200060 EOF异常
200060 切换账号(未使用SDK短验时返回)
200072 CA根证书校验失败
200080 本机号码校验仅支持移动手机号
200082 服务器繁忙
TOP