Android一键登录

1. 概述

容联云一键登录SDK 为移动应用提供完善的三网(移动、联通、电信)一键登录&本机号码验证功能开发框架,屏蔽其 
内部复杂细节,对外提供较为简洁的 API 接口,方便第三方应用快速集成一键登录功能。 
注意事项: 
  • 网络取号时请务必开启手机流量 
    1.  电信只支持4G网络取号 
    2.  移动, 联通支持4G, 3G, 2G网络取号,但在非4G网络情况下容易取号失败 
  • 针对双卡双待手机只取当前流量卡号
  • SDK包含一键登录和本机号码校验两个不同的功能,使用场景不一样,无需一起使用。 
  • 当前版本:1.2.1 (新增 5.2.17 设置多个开发者隐私条款)
  • 下载SDK后进行解压,解压后获取: RLOklSdk.x.x.x.arr

2. Demo快速体验 

  • DEMO下载 
  • 确保已在容联服务端开通并申请了一键登录服务,获取到了相应的appID(即子账号Id)。 
  • 替换 build.gradle(app) 文件中 APP_ID 的值为申请的appID,并确保此appID和应用包名相对应。 

3. 接入SDK的工作配置

3.1 前期准备

  • 确保您的终端设备已经开启了4G网络。 
  • 确保已经在容联服务端开通了一键登录服务并创建了对应的账号。 

3.2 环境要求

在您集成容联云 SDK 前环境要求如下: 
  • 建议使用Android Studio2.3及以上版本。 
  • JAVA 编译版本 JDK 1.7 及以上版本。 
  • sdk支持版本:Android4.0以上。

3.3 导入sdk

  • 将解压后的RLOklSdk.x.x.x.arr文件导入您工程下的libs目录下(目前仅支持手动导入)。arr版本号以实际版本为准;
如何导入SDK,以1.0.3版本的SDK为例(其他版本SDK导入方式一致),如图所示:
  • 在项目的build.gradle下添加如下代码:
  • repositories { 
  •     flatDir { 
  •         dirs 'libs' 
  •     } 
  • 手动将aar包添加依赖: 
  • implementation(name: 'RLOKlSdk.x.x.x', ext: 'aar') 

3.4 配置工程

3.4.1 权限配置
一键登录SDK需要用户允许应用程序联网,用于访问网关和认证服务器。
  • <!-- 添加权限 --> 
  • <!-- 允许应用程序联网,用于访问网关和认证服务器 --> 
  • //允许程序访问WiFi网络状态信息 
  • <uses-permission android:name="android.permission.INTERNET" /> 
  • //获取网络状态,判断是否数据、wifi等 
  • <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
  • <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
  • //允许程序改变网络连接状态 
  • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" 
  • /> 
  • //获取imsi用于判断双卡和换卡 
  • <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" 
  • /> 
  • //获取imsi用于判断双卡和换卡 
  • <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
  • <!-- 允许应用读写用户的外部存储器--> 
  • <uses-permission 
  • android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
  • <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" 
  • />
注意事项:
  • SDK 的权限声明与application同级,因此要放到AndroidManifest.xml清单文件的application节点外。 
  • 文档仅提供了几种可选权限,开发者如需使用其他权限,可以参考Android相关文档根据自己的应用添加所需权限。
3.4.2 SDK核心配置
清单文件配置项
  • //以下是配置授权页 如果在只需号码验证功能可不配置 
  • <activity 
  •     android:name="com.cloopen.okl.sdk.view.CmccLoginActivity" 
  •     android:configChanges="keyboardHidden|orientation|screenSize" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" /> 
  •     
  • <activity 
  •     android:name="com.cloopen.okl.sdk.view.CuccLoginActivity" 
  •     android:configChanges="keyboardHidden|orientation|screenSize" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" /> 
  •     
  • <activity 
  •     android:name="cn.com.chinatelecom.account.sdk.ui.AuthActivity" 
  •     android:configChanges="orientation|keyboardHidden|screenSize" 
  •     android:enabled="true" 
  •     android:exported="false" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" /> 
  •     
  • <activity 

  • android:name="cn.com.chinatelecom.account.sdk.ui.MiniAuthActivity" 
  •     android:configChanges="orientation|keyboardHidden|screenSize" 
  •     android:exported="false" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" /> 
  •     
  • <activity-alias 
  •     android:name="com.cmic.sso.sdk.activity.LoginAuthActivity" 
  •     android:configChanges="keyboardHidden|orientation|screenSize" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" 
  •     
  • android:targetActivity="com.cloopen.okl.sdk.view.CmccLoginActivity" /> 

  • <activity-alias 
  •     android:name="com.unicom.xiaowo.account.shield.ui.LoginActivity" 
  •     android:configChanges="orientation|keyboardHidden|screenSize" 
  •     android:launchMode="standard" 
  •     android:screenOrientation="portrait" 
  •     
  • android:targetActivity="com.cloopen.okl.sdk.view.CuccLoginActivity" /> 

  • <activity 
  •     android:name="com.cloopen.okl.sdk.view.OneLoginWebActivity"
  •     android:exported="false" 
  •     android:launchMode="singleTop" 
  •     android:screenOrientation="portrait" /> 
  •     
  • <activity-alias 

  • android:name="cn.com.chinatelecom.account.sdk.ui.PrivacyWebviewActivity" 
  •     android:exported="false" 
  •     android:screenOrientation="portrait" 
  •     
  • android:targetActivity="com.cloopen.okl.sdk.view.OneLoginWebActivity" /> 
注意事项: 
SDK 的权限声明与application同级,因此要放到AndroidManifest.xml 清单文 
件的application节点外。 
3.4.3 配置相应的签名
请在build.gradle中添加相应配置(密钥与容联注册时提供的请保持一致):
3.4.4 混淆配置规则
  • -dontwarn com.cloopen.** 
  • -keep class com.cloopen.**{*;} 

4. SDK接口说明

4.1 初始化

  • 使用一键登录功能前,必须使用开发者自己的 appID 进行初始化SDK 
  • 初始化前也可以配置SDKdebug开关打印信息 
方法原型:
  • /* init: 初始化接口 
  •         * 参数: 
  •         * context - Android应用上下文对象 
  •         * appId - 容联服务端申请的appId 
  •         * initListener - SDK初始化结果回调接口,InitListener 
  •         *
  •         * 说明:示例在应用程序创建时初始化 SDK引用的是Application的上下文, 
  •         * 开发者可根据开发需要调整。 
  •         */ 
  • public void init(Context context, String appId, InitListener initListener) 
示例代码:
  • //SDK初始化(建议放在Application的onCreate方法中执行) 
  • OneKeyLoginHelper.getInstance().init(this, BuildConfig.APP_ID,new InitListener() { 
  •         @Override 
  •         public void initStatus(String code , String data) { 
  •         Log.e(TAG,"初始化结果,code:"+code +",data:"+data); 
  •     } 
  • }); 
回调结果:
(注:statusCode返回000000表示成功,具体响应码见7.1 SDK返回码) 
  • code:000000, 
  • data:
  •     {"statusCode":"000000", 
  •     "statusMsg":"success", 
  •     "msgId":"cache" 
  •     } 
请求参数说明:
参数类型约束说明

context

Context

必选

应用上下文环境

appId

String必选

开发者在注册应用的时候由容联服务端申请的appId(即子账号Id)

initListener

String必选

InitListener为回调监听器,是一个java接口,需要调用者

自己实现;InitListener是接口中的初始化回调接口,

initStatus是该接口中唯一的抽象方法,即void

initStatus(String code , String data)

回调参数说明:
回调结果data是Json格式的字串,具体字段如下
参数类型约束说明

code

String必选

外层返回码,000000表示初始化成功,其他返回码具体解释见 文档第7部分返回码章节

statusCodeString必选

内层返回码,000000表示成功,其他返回码具体解释见 文档第7部分返回码章节

statusMsg

String必选

返回码描述说明

msgId

String必选

用于排查问题,如返回cache初始化成功

4.2 预取号

  • 预取当前运营商网络号码信息,该方法会缓存取号信息,建议在 APP 登录页初始化时调用,提高 一键登录效率。
  • 调用reqPreLogin接口进行预取号,只有预取号成功才能调用sdk 的 requestToken即可拿到登录的token。 
方法原型:
  • /* reqPreLogin: 预取号接口 
  •     * 参数: 
  •     * timeout - 获取预取号超时时间 单位ms 
  •     * preLoginListener - 预取号回调监听,preLoginStatus是该监听唯一的 
  •     抽象方法 
  •     */ 
  • public void reqPreLogin(int timeout, PreLoginListener preLoginListener) 
示例代码:
  • //预选号 
  • OneKeyLoginHelper.getInstance().reqPreLogin(10000,new 
  • PreLoginListener() { 
  •         @Override 
  •         public void preLoginStatus(String code, String data) { 
  •         Log.e(TAG,"preLoginStatus,code:"+code +",data:"+data); 
  •     } 
  • }); 
回调结果:
(注:statusCode返回000000表示成功,具体响应码见6.4 SDK返回码) 
  • code:000000, 
  • data:
  •     {"statusCode":"000000", 
  •     "statusMsg":"success"
  •     } 
请求参数说明:
参数类型约束说明

timeout

int

必选

获取预取号超时时间 单位ms

preLoginListener

preLoginListener必选

PreLoginListener为回调监听器,是一个java

接口,需要调用者自己实现;

PreLoginListener是接口中的预取号回调接

口,preLoginStatus是该接口中唯一的抽象方

法,即void preLoginStatus(String code,

String data)

回调参数说明:
回调结果data是Json格式的字串,具体字段如下
参数类型约束说明

code

String必选

外层返回码,000000表示初始化成功,其他返回码具体解释见 文档第7部分返回码章节

statusCodeString必选

内层返回码,000000表示成功,其他返回码具体解释见 文档第7部分返回码章节

statusMsg

String必选

返回码描述说明

4.3 拉起授权页

  • 如果不设置setAuthUIConfifig方法则展示默认的全屏 
  • 如果需要全屏自定义UI以及弹窗,需要在调用setAuthUIConfifig授权页之前设置 
  • 具体设置请参照 本页 - 授权页面设计条目 
方法原型:
  • /* setAuthUIConfig: 设置自定义全屏弹窗 
  •     * 参数: 
  •     * authUIConfig - 授权页配置 
  •     */ 
  • public void setAuthUIConfig(AuthUIConfig authUIConfig) 
  • /* openAuth: 拉起授权 
  •     * 参数: 
  •     * context - 上下文 
  •     * loginResultListener -授权回调 
  •     */ 
  • public void openAuth(Context context, LoginResultListener 
  • loginResultListener) 
示例代码:
  • //设置自定义全屏弹窗 
  •     OneKeyLoginHelper.getInstance().setAuthUIConfig(authUIConfig); 
  • //拉起授权 
  •     OneKeyLoginHelper.getInstance().openAuth(context,new 
  •     LoginResultListener() { 
  • //获取到token 
  •     @Override 
  •     public void loginResult(String code, String data) { 
  •     Log.e(TAG,"login result,code:"+code + ",data:"+data); 
  •     } 
  • });
回调结果:
(注:statusCode返回000000表示成功,具体响应码见6.4 SDK返回码) 
  • code:000000, 
  • data:
  •     {"resultCode":"0", 
  •     "token":"xxxxxxxxxxxxxxxxxxxxxxxxx" 
  •     } 
请求参数说明:
参数类型约束说明

context

context必选

应用上下文环境

loginResultListenerloginResultListener必选LoginResultListener为回调监听器,是一个 java接口,需要调用者自己实现; LoginResultListener是接口中的关闭授权页 回调接口,loginResult是该接口中唯一的抽 象方法,即void loginResult(String code, String data)
回调参数说明:
回调结果data是Json格式的字串,具体字段如下
参数类型约束说明

code

String必选

外层返回码,000000表示初始化成功,其他返回码具体解释见 文档第7部分返回码章节

resultCodeString必选内层返回码,具体响应码解释见 文档第7部分返回码章节(包含三网返回码)
resultMsgString必选返回码描述说明
tokenString必选登录成功获取登录临时凭证,用于获取信息接口,失败token为空

4.4 退出授权页

方法原型:
  • /* quitAuthActivity: 退出授权页 
  • */ 
  • public void quitAuthActivity() 
示例代码:
  • //退出授权页 
  • OneKeyLoginHelper.getInstance().quitAuthActivity(); 

4.5 日志开关接口

方法原型:
  • /* setDebug: 配置debug打印开关关接口 
  • * 参数: 
  • * flag - true 打印 false不打印 
  • */ 
  • public void setDebug(Boolean flag) 
示例代码:
  • // SDK配置debug打印开关 
  • OneKeyLoginHelper.getInstance().setDebug(true); 
请求参数说明:
参数类型约束说明
flagBoolean必选配置debug是否打印,true 打印 false不打印

4.6 本机号码验证

方法原型:
  • /* phoneAuth: 本机号码验证 
  •     * 参数:
  •     * phoneAuthListener 验证回调 
  •     */ 
  • public void phoneAuth(PhoneAuthListener phoneAuthListener) 
示例代码:
  • // 本机号码验证 
  • OneKeyLoginHelper.getInstance().phoneAuth(new PhoneAuthListener(){ 
  •         @Override 
  •         public void phoneAuthResult(String code, final String data) { 
  •             Log.e(TAG,"Token of phone auth,code:"+code + ",data:"+data); 
  •         } 
  •     }); 
回调结果:
(注:statusCode返回000000表示成功,具体响应码见文档第7部分返回码) 
  • code:000000, 
  • data: 
  •     {"resultCode":"0", 
  •     "token":"xxxxxxxxxxxxxxxxxxxxxxxxx", 
  •     "operatorType":2 
  •     } 
请求参数说明:
参数类型约束说明
phoneAuthListenerphoneAuthListener必选PhoneAuthListener为回调监听器,是一个java接 口,需要调用者自己实现;PhoneAuthListener是 接口中的号码验证回调接口,phoneAuthResult 是该接口中唯一的抽象方法,即void phoneAuthResult(String code, String data)
回调参数说明:
回调结果data是Json格式的字串,具体字段如下
参数类型约束说明

code

String必选

外层返回码,000000表示初始化成功,具体响应码见第7部分 SDK返回码

resultCodeString必选内层返回码,具体响应码见第7部分 SDK返回码(包含三网返回码)
tokenString必选登录成功获取验证临时凭证,用于与服务器进行校验,失败token为 空
operatorTypeString必选当前校验客户端类型 1-移动,2-联通,3-电信

5. 授权页面设计

5.1 授权页说明

注意:
开发者不得通过任何技术手段将授权页面的隐私协议栏、slogan隐藏或者覆盖,对于接入其他认证SDK并上线的应用,我方会对上线的应用授权页面做审查,如果发现未按要求设计授权页面,将关闭应用的一键登录服务。

5.2 拉起授权一键登录全屏/弹窗之前设置自定义UI 

初始化默认界面UI
  • OneKeyLoginHelper.getInstance().setAuthUIConfig(AuthUIConfig 
  • configBuilder); 
请求参数说明:
参数类型约束说明
AuthUIConfigAuthUIConfig必选AuthUIConfig为设置授权页配置,具体设置可参考demo使用
 自定义UI:调整需要自定义的参数(可参考demo)
  • AuthUIConfig.Builder configBuilder= new AuthUIConfig.Builder().build();
 
5.2.1 设置状态栏颜色,字体颜色  
 注:目前移动联通支持该配置,为了更好的页面效果,电信会跟随Manifest文件中的theme属性进行适配 
 setStatusBar(int statusBarColor,int navigationBarColor,boolean isLightColor)
参数类型约束说明默认值
statusBarColorint必选自定义状态栏背景颜色0
navigationBarColorint必选

自定义底部导航栏背景颜色(没有底部导航栏的

则无效)

0
isLightColorboolean必选

设置状态栏内容的颜色(只能黑白),true为黑

色,false为白色

false
5.2.2 设置标题栏布局 
  • 授权页与协议页面共用
setAuthNavLayout(int navColor, int authNavHeight)
参数类型约束说明默认值

navColor

int必选自定义状态栏背景颜色

0xFF3973FF

authNavHeightint必选自定义底部导航栏背景颜色(没有底部导航栏的则无效)49
5.2.3 设置标题栏返回按钮相关 (授权页返回相关) 
setAuthNavReturnImgView(String navReturnImgPath, int returnImgWidth, int returnImgHeight, boolean navReturnImgHidden, int returnImgOffffsetX)
参数类型约束说明默认值
navReturnImgPathString必选返回按钮图片

okl_left_return

returnImgWidthint必选返回按钮图片宽度24
returnImgHeightint必选

返回按钮图片高度

24
returnImgOffsetXint必选

返回按钮图片距离屏幕左边X轴偏移量

12
注:关于协议条款的标题设置返回按钮设置不同 参考 5.2.4
5.2.4 设置标题栏返回按钮相关 (协议页面返回相关)
setWebReturnImgView(String var1, int var2, int var3,int var4)
参数类型约束说明默认值
webReturnImgPathString必选

返回按钮图片

okl_left_return

webReturnImgWidthint必选返回按钮图片宽度24
webReturnImgHeightint必选

返回按钮图片高度

24
webReturnImgOffsetXint必选

返回按钮图片距离屏幕左边X轴偏移量

12
5.2.5 设置标题栏中文字相关 
  • 授权页与协议页面共用)
setAuthNavTextView(String navText, int navTextColor, int navTextSize, boolean navTextNormal, String navWebViewText, int navWebViewTextColor, int navWebViewTextSize)
参数类型约束说明默认值
webReturnImgPathString必选

返回按钮图片

okl_left_return

webReturnImgWidthint必选返回按钮图片宽度24
webReturnImgHeightint必选

返回按钮图片高度

24
webReturnImgOffsetXint必选

返回按钮图片距离屏幕左边X轴偏移量

12
5.2.6 设置logo 
setLogoImgView(String logoImgPath, int logoWidth, int logoHeight, int logoOffffsetY)
参数类型约束说明默认值
logoImgPathString必选

Logo图片

ccop_one_login_logo

logoWidthint必选

Logo图片宽度

71
logoHeightint必选

Logo图片高度

71
logoOffsetYint必选

logo相对于状态栏下边缘y偏移

125
5.2.7 设置号码
setNumberView(int numberColor, int numberSize, int numFieldOffffsetY)
参数类型约束说明默认值
numberColorint必选

号码栏字体颜色

0xFF3D424C

numberSizeint必选

号码栏字体大小

24
numFieldOffsetYint必选

号码栏相对于标题栏下边缘y偏移

200
5.2.8 设置Slogan 
setSloganView(int sloganColor, int sloganSize, int sloganOffffsetY, int sloganOffffsetY_B, int sloganOffffsetX)
参数类型约束说明默认值
sloganColorint必选

Slogan字体颜色

0xFFA8A8A8

sloganSizeint必选

Slogan字体大小

10
sloganOffsetYint必选

Slogan相对于标题栏下边缘y偏移

382
5.2.9 设置登录按钮布局
setLogBtnLayout(String loginImgPath, int logBtnWidth, int logBtnHeight, int logBtnOffffsetY, int 
logBtnOffffsetY_B, int logBtnOffffsetX) 
参数类型约束说明默认值
loginImgPathString必选

登录按钮背景图片

ccop_one_login_btn_normal

logBtnWidthint必选

登录按钮宽度

268
logBtnHeightint必选

登录按钮高度

36
logBtnOffsetYint必选

登录按钮相对于标题栏下边缘y偏

249
5.2.10 设置登录按钮文字
setLogBtnTextView(String loginButtonText, int loginButtonColor, int logBtnTextSize)
参数类型约束说明默认值
loginButtonTextString必选文字设置一键登录
loginButtonColorint必选文字颜色0xFFFFFFFF
logBtnTextSizeint必选文字大小15
5.2.11 设置其他登录方式
setSwitchView(String switchText, int switchColor, int switchSize, boolean switchAccHidden, int 
switchAccOffffsetY, OtherLoginInterface loginInterface)
参数类型约束说明默认值
switchTextString必选

其他登录方式文字

切换账号
switchColorint必选

其他登录方式字体颜色

0xFF3973FF

switchSizeint必选

其他登录方式字体大小

14
switchAccHiddenboolean必选

其他登录方式是否隐藏

false
switchAccOffsetYint必选

其他登录方式相对于标题栏下边缘y偏移

249
loginOtherClick

OtherLoginInterface

必选

设置其他登录方式点击事件
为点击回调监听器,是一个java接口,需要调用者自己实现

5.2.12 设置显示第三方登录点击事件相关
注:布局默认不可更改
setIsShowOtherLogin(boolean isShowOtherLogin,OtherLoginInterface loginSmsClick, 
OtherLoginInterface loginWechatClick, OtherLoginInterface loginWeiboClick)
参数类型约束说明默认值
isShowOtherLoginboolean必选

设置是否显示微信、微

博、QQ登录方式布局

true为显示,false不显示

false
loginSmsClickOtherLoginInterface必选

为点击回调监听器,是一个java接口,需

要调用者自己实现

设置qq登录点击事件

loginWechatClickOtherLoginInterface必选

为点击回调监听器,是一个java接口,需

要调用者自己实现

设置微信登录点击事件

loginWeiboClick

OtherLoginInterface

必选

为点击回调监听器,是一个java接口,需

要调用者自己实现

设置微博登录点击事件

5.2.13 设置隐私条款布局 
setPrivacyLayout(int privacyLayoutWidth, int privacyOffffsetY_B)
参数类型约束说明默认值
privacyOffsetY_Bint必选

设置隐私条款相对于底部y偏移

18
5.2.14 设置隐私条款选择框
setCheckedSelectImgPath(String checkedSelectImgPath,booleanprivacyState)
参数类型约束说明默认值
checkedSelectImgPathString必选

设置选择框选择器(selector)地址

ccop_ct_auth_privacy_checkbox

privacyStateboolean必选

选择框是否选中

false
5.2.15 设置隐私条款字体
setPrivacyClauseView(int baseClauseColor, int clauseColor, int privacyClauseTextSize) 
参数类型约束说明默认值
baseClauseColorint必选

设置隐私条款基础文字颜色

0xFFA8A8A8
clauseColorint必选

设置隐私条款协议文字颜色

0xFF3973FF
privacyClauseTextSizeint必选

设置隐私条款字体大小

10
5.2.16 设置开发者隐私条款
setPrivacyClauseText(String clauseNameOne, String clauseUrlOne) 
参数类型约束说明默认值
clauseNameOneString必选设置隐私条款名称
clauseUrlOneString必选设置隐私条款URL
5.2.17 设置多个开发者隐私条款
setPrivacyClauseText(String clauseName, String clauseUrl,String clauseNameTwo, String clauseUrlTwo)
参数类型约束说明默认值
clauseNameString必选设置第一个隐私条款名称
clauseUrlString必选设置第一个隐私条款URL
clauseNameTwoString必选设置第二个隐私条款名称
clauseUrlTwoString必选设置第二个隐私条款URL
5.2.18 设置未同意隐私条款的文字提示
setPrivacyUnCheckedToastText(String privacyUnCheckedToastText)
参数类型约束说明默认值
privacyUnCheckedToastTextString必选

设置未同意隐私条款的文字提示

请同意服务条款

5.2.19 设置隐私协议页面背景图片
setPrivacyBGImgPath(String privacyBGImgPath)
参数类型约束说明默认值
privacyBGImgPathString必选

设置背景图片。放在drawable 文件下

ccop_one_login_bg

5.2.20 设置授权页Activity进入动画和退出动画
setActivityTransition(int stratActivityTransition,int finishActivityTransition) 
参数类型约束说明默认值
stratActivityTransitionint必选

设置进入授权页动画(R.anim.xxx) 

系统默认
finishActivityTransitionint必选设置关闭授权页动画(R.anim.xxx)系统默认

5.3 设置弹窗显示

5.3.1 设置授权页使用对话框模式
setDialogTheme(boolean isDialogTheme, String dialogWidth, String dialogHeight)
参数类型约束说明默认值
isDialogThemeboolean必选

是否使用对话框模式

false
dialogWidthString必选

授权页对话框的宽度

300
dialogHeightString必选

授权页对话框的高度

500
说明:设置弹窗显示的自定义样式是通过5.1中的自定义UI进行设置(可参考demo) 

6. 常见问题

  •  初始化失败 
  • 检查当前手机运营商是否存在并处于有网络环境 
  • 检查是否配置正确的appID 
  • 检查清单文件中是否配置相应权限 
  • 代码编译问题及授权界面显示异常 
  • 检查当前导入的arr文件是否异常 
  • 检查配置清单文件中是否配置拉起activity
  • Android签名获取指南
  • 1、命令行输入以下命令:
  •  keytool -list -v -keystore C:\xxx\android.keystore.jks
  • 2、输入密钥库口令(密码): 
  • 3、获取证书指纹的MD5值(去掉分隔符:”:”)
  • 样例:
  • 89D83A.....8G6E5F4B 
  • 其他问题 
    • 包签名修改问题? 
    • 包名和包签名提交后不支持修改,建议直接新建应用 
    • 包签名不一致会有哪些影响? 
    • SDK会无法使用 
    • 账户正常电信预选号失败? 
    • 检查App下build.gradle是否配置签名文件,同时删除手机项目,clean Project重新运行。

7. 返回码

7.1 容联SDK返回码

返回码返回码描述
000000成功
000001SDK初始化失败
000002SDK未初始化
000010授权页关闭
000011切换账号
000013用户取消登录
000100应用ID为空
000101未识别SIM卡
000102无网络/网络异常
000103蜂窝煤网络未开启/不稳定 
000104网络请求异常
000201数据返回异常
000202解析数据失败
110001移动预取号失败
110002移动预取号异常
110003移动预取号响应异常
110011移动授权失败
110021移动验证失败
120001联通预取号失败
120002联通预取号异常
120003联通预取号响应异常
120011联通授权失败
120021联通验证失败
130001电信预取号失败
130002电信预取号异常
130003电信预取号响应异常
130011电信授权失败
130021电信验证失败
590000未知错误
590001BODY为空
590002内部错误
591001请求参数subAccId为空
591002请求参数bundleId为空
591003请求参数appId为空
591004请求参数token为空
591005请求参数os为空
591006URI参数accountId为空
591007accountId不合法
591008subAccId不合法
591009子帐号不属于主账号
591010主账号状态不可用
591011子账号状态不可用
591012账户未在运营商报备
591013运营商信息为空
591014请求参数token不合法
591015帐号不支持号码认证功能
591016帐号余额不足
591019请求参数device为空
591020请求参数version为空
591022请求参数bundleId不合法 
591023请求参数sign为空
591024请求参数sign不合法
591025请求参数random为空
591033请求IP不在白名单内
591035运营商应用状态不可用

7.2 移动返回码

返回码返回码描述
103000成功
102507登录超时(授权页点登录按钮时)
103101请求异常
103102包签名/BundleID错误(社区填写的appid和对应的包名包签名必须一致) 
103111错误的运营商请求(可能是用户正在使用代理或者运营商判断失败导致)
103119appid不存在
103211其他错误
103412无效的请求(1.加密方式错误;2.非json格式;3.空请求等)
103414参数校验异常
103511服务器ip白名单校验失败
103811token为空
103902scrip失效
103911token请求过于频繁,10分钟内获取token且未使用的数量不超过30个
104201token已失效或不存在(重复校验或失效)
105001联通取号失败
105002移动取号失败
105003电信取号失败
105012不支持电信取号
105013不支持联通取号
105018token权限不足(使用了本机号码校验的token获取号码)
105021已达当天取号限额
105302appid不在白名单
105312余量不足(体验版到期或套餐用完)
105313非法请求
200005用户未授权(READ_PHONE_STATE
200010无法识别sim卡或没有sim卡(android)
200020授权页关闭
200021数据解析异常
200022无网络
200023请求超时
200024数据网络切换失败
200025其他错误(socket、系统未授权数据蜂窝权限等)
200027蜂窝(数据网络)未开启或不稳定
200028网络请求出错
200038异网取号网络请求失败
200048用户未安装sim卡
200050EOF异常
200061授权页面异常
200064服务端返回数据异常
200072CA根证书校验失败
200080本机号码校验仅支持移动手机号
200082服务器繁忙
200086ppLocation为空
200087仅用于监听授权页成功拉起
200089SDK正在处理
200096当前网络不支持取号

7.3 联通返回码

返回码返回码描述
0处理成功
100应用未授权
101应用秘钥错误
102应用无效
103应用未授权该IP访问
104应用访问次数不足
105应用包名不正确
106应用状态非法
107商户状态非法
108商户请求次数超限额
200tokenId无效
201token已失效
202token未授权该应用访问
203登录鉴权级别不满足接口鉴权要求 
300接口未开放
301应用未授权码访问该接口
302IP未授权码访问该接口
303应用访问接口次数超日限额
400请求参数为空
401请求参数不完整
402请求参数非法
600请求非法
1000请求解析错误
1001请求已失效
1002验签失败
1003授权码已过期
1004加密方式不支持
1005RSA加密错误
1010服务间访问失败
1011服务间访问错误
2004用户不存在
3001unikey
3002跳转异网取号无效
3003本网执行取号失败,不需要重定向
3004NET取号失败
3005上网方式为WIFI,无法取号
3006urlencode编码失败
3007请求认证接口异常
3008imsi取号失败
3009非联通号码
3010网关取号错误
3011源IP鉴权失败
3012网关取号失败
3013电信网关取号失败
3014电信网关取号错误
3015获取accessCode请求参数失败
3016移动网关取号失败
3017移动网关取号错误
3050取号网关内部错误
3057网关鉴权码查找号码失败
3058网关鉴权码格式错误
3059网关鉴权码已失效
3060网关账号认证失败
3061网关取号配额不足
3062IP未授权访问网关
3063网关并发连接数受限
3064访问网关参数非法
3065未授权访问该网关能力
3066网关服务暂时不可用

7.4 电信返回码

返回码返回码描述
0请求成功
-64权限不足
65API-request-rates-Exceed-Limitations(调用接口超限)
-10001调用失败
-10002参数错误
-10003解密失败
-10004ip 受限
-10005异网取号回调参数异常
-10006授权失败,且属于电信网络
-10007重定向到异网取号
-10008超过预设取号阀值
-10009时间戳过期
-20005sign-invalid(签名错误)
-20006应用不存在
-20007公钥数据不存在
-20100内部解析错误
-20102加密参数解析失败
-30001时间戳非法
-30003topClass 失效
51002参数为空
51114无法获取手机号数据
80000请求超时
80001请求网络异常
80002响应码错误
80003无网络连接
80004移动网络未开启
80005Socket超时异常
80006域名解析异常
80007IO异常
80008No route to host
80009nodename nor servname provided, or not known 
80010Socket closed by remote peer
80100登录结果为空
80101登录结果异常
80102预登录异常
80103SDK未初始化
80104未调用预登录接口
80105加载nib文件异常
80200用户关闭界面
80201其他登录方式
80800WIFI切换异常
80801WIFI切换超时