SDK 接口说明
- JVerificationInterface,包含 SDK 所有接口
设置 Debug 模式
支持的版本
开始支持的版本 1.0.0
接口定义
- JVerificationInterface.setDebugMode(boolean enable)
- 接口说明:
- 设置是否开启 debug 模式。true 则会打印更多的日志信息。建议在 init 接口之前调用。
- 参数说明:
- enable:debug 开关
- 调用示例:
- 接口说明:
JVerificationInterface.setDebugMode(true);
SDK 初始化
支持超时时间配置、回调参数
支持的版本
开始支持的版本 2.5.0
接口定义
- JVerificationInterface.init(Context context,int timeOut,RequestCallback callback)
- 接口说明:
- 初始化接口。建议在 Application 的 onCreate 中调用
- 参数说明:
- context:android 的上下文
- timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
- callback:回调接口
- 回调说明:
onResult(int code, String msg)- code: 返回码,8000 代表初始化成功,其他为失败,详见错误码描述
- msg:结果描述
- 调用示例:
- 接口说明:
JVerificationInterface.init(this, 5000, new RequestCallback<String>() {
@Override
public void onResult(int code, String msg) {Log.d("tag","code =" + code + "msg =" + msg);
}
});
支持回调参数
支持的版本
开始支持的版本 2.3.6
接口定义
- JVerificationInterface.init(Context context,RequestCallback callback)
- 接口说明:
- 初始化接口。建议在 Application 的 onCreate 中调用
- 参数说明:
- context:android 的上下文
- callback:回调接口
- 回调说明:**onResult(int code, String msg)**
- code: 返回码,8000 代表初始化成功,其他为失败,详见错误码描述
- msg:结果描述
- 调用示例:
- 接口说明:
JVerificationInterface.init(this, new RequestCallback<String>() {
@Override
public void onResult(int code, String msg) {Log.d("tag","code =" + code + "msg =" + msg);
}
});
获取初始化是否成功标识
支持的版本
开始支持的版本 2.3.2
接口定义
- JVerificationInterface.isInitSuccess()
- 接口说明:
- 获取 sdk 是否整体初始化成功的标识
- 返回结果
- boolean : true - 成功,false - 失败
- 调用示例:
- 接口说明:
boolean isSuccess = JVerificationInterface.isInitSuccess();
判断网络环境是否支持一键登录
支持的版本
开始支持的版本 1.1.3
接口定义
- JVerificationInterface.checkVerifyEnable(Context context)
- 接口说明:
- 判断当前的手机网络环境是否可以使用认证。
- 参数说明:
- context:android 的上下文
- 返回说明:
- 返回 true 代表可以使用;返回 false 建议使用其他验证方式。
- 调用示例:
- 接口说明:
boolean verifyEnable = JVerificationInterface.checkVerifyEnable(this);
if(!verifyEnable){Log.d(TAG,"当前网络环境不支持认证");
return;
}
判断网络环境是否支持短信验证
支持的版本
开始支持的版本 1.1.3
接口定义
- JVerificationInterface.checkSmsEnable(Context context)
- 接口说明:
- 判断当前的手机网络环境是否可以使用短信登录。
- 参数说明:
- context:android 的上下文
- 返回说明:
- 返回 true 代表可以使用;返回 false 建议使用其他验证方式。
- 调用示例:
- 接口说明:
boolean verifyEnable = JVerificationInterface.checkSmsEnable(this);
if(!verifyEnable){Log.d(TAG,"当前网络环境不支持短信");
return;
}
判断预取号是否有效
支持的版本
开始支持的版本 3.1.7
接口定义
- JVerificationInterface.isValidePreloginCache(Context context)
- 接口说明:
- 判断当前预取号是否有效。
- 参数说明:
- context:android 的上下文
- 返回说明:
- 返回 true 代表可以使用;返回 false 建议使用其他验证方式。
- 调用示例:
- 接口说明:
boolean enable = JVerificationInterface.isValidePreloginCache(this);
是否获取地理位置信息
支持的版本
开始支持的版本 2.9.6
接口定义
JVerificationInterface.setLocationEanable(Context context, boolean eanable)
- 接口说明:
- 地理位置获取开关,默认开启, true 为开启。
- 调用示例:
- 接口说明:
JVerificationInterface.setLocationEanable(this,true);
一键登录
初始化
调用 SDK 其他流程方法前,请确保已调用过初始化,否则会返回未初始化,详情参考 SDK 初始化 API。初始化后,如您调用如下功能接口,视为您同意开启极光安全认证相关业务功能,我们会收集业务功能必要的个人信息并上报。
判断网络环境是否支持
判断当前的手机网络环境是否可以使用一键登录,若网络支持,再调用一键登录 API,否则请调用其他登录方式的 API,详情参考 判断网络环境是否支持 API。
预取号
- sdk 会缓存预取号结果,提升之后授权页拉起速度。所以建议拉起授权页前,比如在开屏页或者业务入口页预先调用此接口进行预取号。
- 请求成功后,不要频繁重复调用。
- 不要在预取号回调中重复调用预取号或者拉起授权页接口。
支持的版本
开始支持的版本 2.2.0
接口定义
- JVerificationInterface.preLogin(Context context, int timeOut, PreLoginListener listener)
- 接口说明:
- 验证当前运营商网络是否可以进行一键登录操作,该方法会缓存取号信息,提高一键登录效率。建议发起一键登录前先调用此方法。
- 参数说明:
- context:android 的上下文
- timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
- listener:接口回调
- 回调说明:
onResult(int code, String content)- code: 返回码,7000 代表获取成功,其他为失败,详见错误码描述
- content:调用结果信息描述
- 调用示例:
- 接口说明:
JVerificationInterface.preLogin(this, 5000,new PreLoginListener() {
@Override
public void onResult(final int code, final String content) {Log.d(TAG,"[" + code + "]message=" + content );}
});
支持的版本
开始支持的版本 3.1.0
接口定义
- JVerificationInterface.preLogin(final boolean enableSMSService ,final Context context, final int timeOut, final PreLoginListener listener)
- 接口说明:
- 验证当前运营商网络是否可以进行一键登录操作,该方法会缓存取号信息,提高一键登录效率。建议发起一键登录前先调用此方法。
- 参数说明:
- enableSMSService:是否在预取号失败时切换至短信登录方式
- context:android 的上下文
- timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
- listener:接口回调
- 回调说明:
onResult(int code, String content)- code: 返回码,7000 代表获取成功,其他为失败,详见错误码描述
- content:调用结果信息描述
- a1:扩展参数,此版本不需要理会
- a2:扩展参数,此版本不需要理会
- 调用示例:
- 接口说明:
JVerificationInterface.preLogin(fasle,this, 5000,new PreLoginListener() {
@Override
public void onResult(final int code, final String content,String a1,String a2) {Log.d(TAG,"[" + code + "]message=" + content );}
});
清除预取号缓存
支持的版本
开始支持的版本 2.4.3
接口定义
- JVerificationInterface.clearPreLoginCache()
- 接口说明:
- 清除 sdk 当前预取号结果缓存。
- 调用示例:
- 接口说明:
JVerificationInterface.clearPreLoginCache();
拉起授权页面
- 一键登录需要依赖预取号结果,如果没有预取号,一键登录时会自动预取号。
- 建议拉起授权页前,比如在开屏页或者业务入口页预先调用此接口进行预取号,可以提升授权页拉起速度,优化体验。
- 一键登录请求成功后,不要频繁重复调用。运营商会限制单位时间内请求次数。
- 不要在一键登录回调中重复调用预取号或者拉起授权页接口。
支持的版本
开始支持的版本 3.1.7
接口定义
- JVerificationInterface.loginAuth(final Context context, LoginSettings settings, final VerifyListener listener)
- 接口说明:
- 调起一键登录授权页面,在用户授权后获取 loginToken,同时支持授权页事件监听
- 参数说明:
- context:android 的上下文
- settings:登录接口设置项。
- listener:登录授权结果回调
- 回调说明:
VerifyListener
onResult(int code, String content, String operator, JSONObject operatorReturn)- code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
- content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- operatorReturn: 运营商结果信息
- 调用示例:
- 接口说明:
LoginSettings settings = new LoginSettings();
settings.setAutoFinish(true);// 设置登录完成后是否自动关闭授权页
settings.setTimeout(15 * 1000);// 设置超时时间,单位毫秒。 合法范围(5000, 30000], 范围以外默认设置为 10000
settings.setAuthPageEventListener(new AuthPageEventListener() {
@Override
public void onEvent(int cmd, String msg) {//do something...}
});// 设置授权页事件监听
JVerificationInterface.loginAuth(this, settings, new VerifyListener() {
@Override
public void onResult(int code, String content, String operator, JSONObject operatorReturn) {if (code == 6000){Log.d(TAG, "code=" + code + ", token=" + content+",operator="+operator);
}else{Log.d(TAG, "code=" + code + ", message=" + content);
}
}
});
支持的版本
开始支持的版本 2.5.2
接口定义
- JVerificationInterface.loginAuth(final Context context, LoginSettings settings, final VerifyListener listener)
- 接口说明:
- 调起一键登录授权页面,在用户授权后获取 loginToken,同时支持授权页事件监听
- 参数说明:
- context:android 的上下文
- settings:登录接口设置项。
- listener:登录授权结果回调
- 回调说明:
VerifyListener
onResult(int code, String content, String operator)- code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
- content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- 调用示例:
- 接口说明:
LoginSettings settings = new LoginSettings();
settings.setAutoFinish(true);// 设置登录完成后是否自动关闭授权页
settings.setTimeout(15 * 1000);// 设置超时时间,单位毫秒。 合法范围(5000,30000], 范围以外默认设置为 10000
settings.setAuthPageEventListener(new AuthPageEventListener() {
@Override
public void onEvent(int cmd, String msg) {//do something...}
});// 设置授权页事件监听
JVerificationInterface.loginAuth(this, settings, new VerifyListener() {
@Override
public void onResult(int code, String content, String operator) {if (code == 6000){Log.d(TAG, "code=" + code + ", token=" + content+",operator="+operator);
}else{Log.d(TAG, "code=" + code + ", message=" + content);
}
}
});
支持的版本
开始支持的版本 2.4.0
接口定义
- JVerificationInterface.loginAuth(final Context context, boolean autoFinish, final VerifyListener listener, final AuthPageEventListener authPageEventListener)
- 接口说明:
- 调起一键登录授权页面,在用户授权后获取 loginToken,同时支持授权页事件监听
- 参数说明:
- context:android 的上下文
- boolean:是否自动关闭授权页,true - 是,false - 否
- listener:登录授权结果回调
- authPageEventListener:授权页事件回调
- 回调说明:
- VerifyListener
onResult(int code, String content, String operator)- code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
- content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- AuthPageEventListener
onEvent(int code, String content)- cmd: 返回码,具体见事件返回码表。
- content:内容描述。
- VerifyListener
- 调用示例:
- 接口说明:
JVerificationInterface.loginAuth(this, false, new VerifyListener() {
@Override
public void onResult(int code, String content, String operator) {if (code == 6000){Log.d(TAG, "code=" + code + ", token=" + content+",operator="+operator);
}else{Log.d(TAG, "code=" + code + ", message=" + content);
}
}
},new AuthPageEventListener() {
@Override
public void onEvent(int cmd, String msg) {Log.d(TAG, "[onEvent]. [" + cmd + "]message=" + msg);}
});
事件返回码
code | message | 备注 |
---|---|---|
1 | login activity closed. | 授权页关闭事件 |
2 | login activity started. | 授权页打开事件 |
3 | carrier privacy clicked. | 运营商协议点击事件 |
3 | privacy 1 clicked. | 自定义协议 1 点击事件 |
3 | privacy 2 clicked. | 自定义协议 2 点击事件 |
6 | checkbox checked. | 协议栏 checkbox 变为选中事件 |
7 | checkbox unchecked. | 协议栏 checkbox 变为未选中事件 |
8 | login button clicked. | 一键登录按钮(可用状态下)点击事件 |
说明 :获取到一键登录的 loginToken 后,将其返回给应用服务端,从服务端调用 REST API 来获取手机号码
拉起短信登录页
支持的版本
开始支持的版本 3.1.0
接口定义
- JVerificationInterface.smsLoginAuth(final Context context, boolean autoFinish , final int timeOut, final SmsListener listener)
- 接口说明:
- 拉起短信登录页面,客户可自定义页面样式,有些配置样式与一键登录样式兼容适用,如果导航栏、协议栏、协议展示页面、协议二次弹窗等部分样式。
- 参数说明:
- context:android 的上下文
- autoFinish : 设置登录完成后是否自动关闭授权页
- timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
- listener:接口回调
- 回调说明:
onResult(int code, String content)- code: 返回码,4000 代表获取成功,其他为失败,详见错误码描述
- content:调用结果信息描述
- 调用示例:
- 接口说明:
JVerificationInterface.smsLoginAuth(this, true, 5000, new SmsListener(){
@Override
public void onResult(final int code, final String content){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), "[" + code + "]sms message=" + content , Toast.LENGTH_SHORT).show();
dismissLoadingDialog();
}
});
}
});
关闭授权页面
支持的版本
开始支持的版本 2.5.2
接口定义
- dismissLoginAuthActivity(boolean needCloseAnim, RequestCallback callback)
- 接口说明:
- 关闭登录授权页,如果当前授权正在进行,则 loginAuth 接口会立即触发 6002 取消回调。
- 参数说明:
- needCloseAnim:是否需要展示默认授权页关闭的动画(如果有)。true - 需要,false - 不需要
- 回调说明:
RequestCallback
onResult(int code, String desc)- code: 返回码,0 标识成功关闭授权页
- desc:返回码的描述信息。
- 调用示例:
- 接口说明:
JVerificationInterface.dismissLoginAuthActivity(true, new RequestCallback<String>() {
@Override
public void onResult(int code, String desc) {Log.i(TAG, "[dismissLoginAuthActivity] code =" + code + "desc =" + desc);}
});
支持的版本
开始支持的版本 2.3.0
接口定义
- JVerificationInterface.dismissLoginAuthActivity()
- 接口说明:
- 关闭登录授权页,如果当前授权正在进行,则 loginAuth 接口会立即触发 6002 取消回调。
- 调用示例:
- 接口说明:
JVerificationInterface.dismissLoginAuthActivity();
自定义授权页面 UI 样式
支持的版本
开始支持的版本 2.1.0
接口定义
- JVerificationInterface.setCustomUIWithConfig(JVerifyUIConfig uiConfig)
- 接口说明:
- 修改授权页面主题,开发者可以通过 setCustomUIWithConfig 方法修改授权页面主题,需在 loginAuth 接口之前调用
- 参数说明:
- uiConfig:主题配置对象,开发者在 JVerifyUIConfig.java 类中调用对应的方法配置授权页中对应的元素,详情参考 JVerifyUIConfig 配置元素说明。
- 调用示例:
- 接口说明:
JVerifyUIConfig uiConfig = new JVerifyUIConfig.Builder().setAuthBGImgPath("main_bg")
.setNavColor(0xff0086d0)
.setNavText("登录")
.setNavTextColor(0xffffffff)
.setNavReturnImgPath("umcsdk_return_bg")
.setLogoWidth(70)
.setLogoHeight(70)
.setLogoHidden(false)
.setNumberColor(0xff333333)
.setLogBtnText("本机号码一键登录")
.setLogBtnTextColor(0xffffffff)
.setLogBtnImgPath("umcsdk_login_btn_bg")
.setPrivacyNameAndUrlBeanList(List<PrivacyBean>)
.setPrivacyNameAndUrlBeanList(List<PrivacyBean>)
.setUncheckedImgPath("umcsdk_uncheck_image")
.setCheckedImgPath("umcsdk_check_image")
.setSloganTextColor(0xff999999)
.setLogoOffsetY(50)
.setLogoImgPath("logo_cm")
.setNumFieldOffsetY(170)
.setSloganOffsetY(230)
.setLogBtnOffsetY(254)
.setNumberSize(18)
.setPrivacyState(false)
.setNavTransparent(false)
.addCustomView(mBtn, true, new JVerifyUIClickCallback() {
@Override
public void onClicked(Context context, View view) {Toast.makeText(context,"动态注册的其他按钮",Toast.LENGTH_SHORT).show();}
}).addCustomView(mBtn2, false, new JVerifyUIClickCallback() {
@Override
public void onClicked(Context context, View view) {Toast.makeText(context,"动态注册的其他按钮 222",Toast.LENGTH_SHORT).show();}
}).addNavControlView(navBtn, new JVerifyUIClickCallback() {
@Override
public void onClicked(Context context, View view) {Toast.makeText(context,"导航栏按钮点击",Toast.LENGTH_SHORT).show();}
}).setPrivacyOffsetY(30).build();
JVerificationInterface.setCustomUIWithConfig(uiConfig);
授权页面添加自定义控件
支持的版本
开始支持的版本 2.1.0
接口定义
- addCustomView(View view, boolean finishFlag,JVerifyUIClickCallback callback)
- 接口说明:
- 在授权页面添加自定义控件
- 参数说明:
- view:开发者传入自定义的控件,开发者需要提前设置好控件的布局属性,SDK 只支持 RelativeLayout 布局
- finishFlag:是否在授权页面通过自定义控件的点击 finish 授权页面
- callback: 自定义控件的点击回调
- 回调说明: onClicked(Context context, View view)
- context:android 的上下文
- view:自定义的控件的对象
- 调用示例:
- 接口说明:
Button mBtn = new Button(this);
mBtn.setText("其他方式登录");
RelativeLayout.LayoutParams mLayoutParams1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
mLayoutParams1.setMargins(0, LoginUIHelper.dp2Pix(this,450.0f),0,0);
mBtn.setLayoutParams(mLayoutParams1);
new JVerifyUIConfig.Builder().addCustomView(mBtn, true, new JVerifyUIClickCallback() {
@Override
public void onClicked(Context context, View view) {Toast.makeText(context,"动态注册的其他按钮",Toast.LENGTH_SHORT).show();}
});
授权页面导航栏添加自定义控件
支持的版本
开始支持的版本 2.3.2
接口定义
- addNavControlView(View view, JVerifyUIClickCallback callback)
- 接口说明:
- 在授权页中顶部导航栏添加自定义控件
- 参数说明:
- view:开发者传入自定义的控件,开发者需要提前设置好控件的布局属性,SDK 只支持 RelativeLayout 布局
- callback: 自定义控件的点击回调
- 回调说明:
- onClicked(Context context, View view)
- context:android 的上下文
- view:自定义的控件的对象
- onClicked(Context context, View view)
- 调用示例:
- 接口说明:
Button navBtn = new Button(this);
navBtn.setText("导航栏按钮");
RelativeLayout.LayoutParams navBtnParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
navBtnParam.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,RelativeLayout.TRUE);
navBtn.setLayoutParams(navBtnParam);
new JVerifyUIConfig.Builder().addNavControlView(navBtn, new JVerifyUIClickCallback() {
@Override
public void onClicked(Context context, View view) {Toast.makeText(context,"导航栏按钮点击",Toast.LENGTH_SHORT).show();}
});
设置弹窗模式的授权页
支持的版本
开始支持的版本 2.3.8
接口定义
- setDialogTheme(int dialogWidth, int dialogHeight, int offsetX, int offsetY, boolean isBottom)
- 接口说明:
- 设置授权页为弹窗模式
- 参数说明:
- dialogWidth: 窗口宽度,单位 dp
- dialogHeight: 窗口高度,单位 dp
- offsetX: 窗口相对屏幕中心的 x 轴偏移量,单位 dp
- offsetY: 窗口相对屏幕中心的 y 轴偏移量,单位 dp
- isBottom: 窗口是否居屏幕底部。设置后 offsetY 将失效
- 调用示例:
- 接口说明:
new JVerifyUIConfig.Builder().setDialogTheme(410, 390, 0, 0, false)
窗口模式样式设置
在 manifest 中为授权页 activity 设置窗口样式 style
AndroidManifest.xml
<activity android:name="cn.jiguang.verifysdk.CtLoginActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/ActivityDialogStyle" <!-- 设置自定义 style -->
android:screenOrientation="unspecified"
android:launchMode="singleTop">
</activity>
style 中增加具体弹窗样式
res/values/styles.xml
<style name="ActivityDialogStyle">
<!-- 隐藏 action bar 和 title bar-->
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<!-- 背景透明 -->
<item name="android:windowIsTranslucent">true</item>
<!--dialog 圆角 -->
<item name="android:windowBackground">@drawable/dialog_bg</item>
</style>
定义窗口圆角属性
res/drawable/dialog_bg.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp"/>
</shape>
设置授权页横竖屏 UI
支持的版本
开始支持的版本 2.4.8
接口定义
- setCustomUIWithConfig(JVerifyUIConfig uiConfigPortrait,JVerifyUIConfig uiConfigLandscape)
- 接口说明:
- 修改授权页面主题,支持传入竖屏和横屏两套 config。sdk 会根据当前横竖屏状态动态切换。需在每次调用 loginAuth 接口之前调用。
- 参数说明:
- uiConfigPortrait: 竖屏 config
- uiConfigLandscape: 横屏 config
- 调用示例:
- 接口说明:
JVerifyUIConfig portrait = configBuilder.setAuthBGImgPath("main_bg")
.setNavColor(0xff0086d0)
.setNavText("登录")
.setNavTextColor(0xffffffff)
.setNavReturnImgPath("umcsdk_return_bg")
.setLogoWidth(70)
.setLogoHeight(70)
.setLogoHidden(false)
.setNumberColor(0xff333333)
.setLogBtnText("本机号码一键登录")
.setLogBtnTextColor(0xffffffff)
.setLogBtnImgPath("umcsdk_login_btn_bg")
.setPrivacyNameAndUrlBeanList(List<PrivacyBean>)
.setAppPrivacyColor(0xff666666, 0xff0085d0)
.setUncheckedImgPath("umcsdk_uncheck_image")
.setCheckedImgPath("umcsdk_check_image")
.setSloganTextColor(0xff999999)
.setLogoOffsetY(50)
.setLogoImgPath("logo_cm")
.setNumFieldOffsetY(190)
.setSloganOffsetY(220)
.setLogBtnOffsetY(254)
.setNumberSize(18)
.setPrivacyState(false)
.setNavTransparent(false)
.build();
JVerifyUIConfig landscape = configBuilder
.setAuthBGImgPath("main_bg")
.setNavColor(0xff0086d0)
.setNavText("登录")
.setNavTextColor(0xffffffff)
.setNavReturnImgPath("umcsdk_return_bg")
.setLogoWidth(70)
.setLogoHeight(70)
.setLogoHidden(false)
.setNumberColor(0xff333333)
.setLogBtnText("本机号码一键登录")
.setLogBtnTextColor(0xffffffff)
.setLogBtnImgPath("umcsdk_login_btn_bg")
.setPrivacyNameAndUrlBeanList(List<PrivacyBean>)
.setAppPrivacyColor(0xff666666, 0xff0085d0)
.setUncheckedImgPath("umcsdk_uncheck_image")
.setCheckedImgPath("umcsdk_check_image")
.setSloganTextColor(0xff999999)
.setLogoOffsetY(30)
.setLogoImgPath("logo_cm")
.setNumFieldOffsetY(150)
.setSloganOffsetY(185)
.setLogBtnOffsetY(210)
.setPrivacyOffsetY(30)
.build();
JVerificationInterface.setCustomUIWithConfig(portrait, landscape);
- 需要同时在 manifest 对应授权页 Activity:LoginAuthActivity、CtLoginActivity 中配置
android:configChanges="orientation|keyboardHidden|screenSize"
属性 - targetSDKVersion > 26 的应用,在 8.0 系统上如果指定了授权页方向如:"android:screenOrientation="portrait"", 会报错 Only fullscreen opaque activities can request orientation
- 解决方法:
- 将授权页 "android:screenOrientation" 设置为 "portrait"、"landscape" 之外的值。
- targetSDKVersion 改成 <= 26。
- 解决方法:
JVerifyUIConfig 一键登录-配置元素说明
x 轴未设置偏移则所有组件默认横向居中
- 设置授权页背景
- 支持的版本 :2.1.1
- 说明:图片会默认拉伸铺满整个屏幕,适配不同尺寸手机,建议使用 .9.png 图片来解决适配问题。
方法 | 参数类型 | 说明 |
---|---|---|
setAuthBGImgPath | String | 设置背景图片 |
setAuthBGGifPath | String | 设置本地 gif 背景图片,需要放置到 drawable 文件中,传入图片名称即可 |
setAuthBGVideoPath | String,String | 设置背景 Video 文件。 1.支持本地路径如:"android.resource://" + context.getPackageName() + "/" + R.raw.testvideo 2.支持网络路径,https 开头的资源地址(建议下载到本地后使用本地路径,网络路径会出现卡顿等网络问题),设置默认第一频图片(需要放置到 drawable 文件中,传入图片名称即可,如果 Video 文件路径为本地,则可以填 null) |
区域 | 方法 | 参数类型 | 说明 |
---|---|---|---|
①状态栏 | setStatusBarColorWithNav | boolean | 设置状态栏与导航栏同色。仅在 android 5.0 以上设备生效。 since 2.4.1 |
setStatusBarDarkMode | boolean | 设置状态栏暗色模式。仅在 android 6.0 以上设备生效。 since 2.4.8 | |
setStatusBarTransparent | boolean | 设置状态栏是否透明。仅在 android 4.4 以上设备生效。 since 2.4.8 | |
setStatusBarHidden | boolean | 设置状态栏是否隐藏。since 2.4.8 | |
setVirtualButtonTransparent | boolean | 设置虚拟按键栏背景是否透明。since 2.5.2 | |
②导航栏 | setNavColor | int | 设置导航栏颜色 |
setNavText | String | 设置导航栏标题文字 | |
setNavTextColor | int | 设置导航栏标题文字颜色 | |
setNavReturnImgPath | String | 设置导航栏返回按钮图标 | |
setNavTransparent | boolean | 设置导航栏背景是否透明。默认不透明。since 2.3.2 | |
setNavTextSize | int | 设置导航栏标题文字字体大小(单位:sp)。since 2.4.1 | |
setNavReturnBtnHidden | boolean | 设置导航栏返回按钮是否隐藏。默认不隐藏。since 2.4.1 | |
setNavReturnBtnWidth | int | 设置导航栏返回按钮宽度。since 2.4.8 | |
setNavReturnBtnHeight | int | 设置导航栏返回按钮高度。since 2.4.8 | |
setNavReturnBtnOffsetX | int | 设置导航栏返回按钮距屏幕左侧偏移。since 2.4.8 | |
setNavReturnBtnRightOffsetX | int | 设置导航栏返回按钮距屏幕右侧偏移。since 2.4.8 | |
setNavReturnBtnOffsetY | int | 设置导航栏返回按钮距上端偏移。since 2.4.8 | |
setNavHidden | boolean | 设置导航栏是否隐藏。since 2.4.8 | |
setNavTextBold | boolean | 设置导航栏标题字体是否加粗。since 2.5.4 | |
③logo | setLogoWidth | int | 设置 logo 宽度(单位:dp) |
setLogoHeight | int | 设置 logo 高度(单位:dp) | |
setLogoHidden | boolean | 隐藏 logo | |
setLogoOffsetY | int | 设置 logo 相对于标题栏下边缘 y 偏移 | |
setLogoImgPath | String | 设置 logo 图片 | |
setLogoOffsetX | int | 设置 logo 相对于屏幕左边 x 轴偏移。since 2.3.8 | |
setLogoOffsetBottomY | int | 设置 logo 相对于屏幕底部 y 轴偏移。since 2.4.8 | |
④号码栏 | setNumberColor | int | 设置手机号码字体颜色 |
setNumberSize | Number | 设置手机号码字体大小(单位:sp)。since 2.3.2 | |
setNumFieldOffsetY | int | 设置号码栏相对于标题栏下边缘 y 偏移 | |
setNumFieldOffsetX | int | 设置号码栏相对于屏幕左边 x 轴偏移。since 2.3.8 | |
setNumberFieldOffsetBottomY | int | 设置号码栏相对于屏幕底部 y 轴偏移。since 2.4.8 | |
setNumberFieldWidth | int | 设置号码栏宽度。since 2.4.8 | |
setNumberFieldHeight | int | 设置号码栏高度。since 2.4.8 | |
setNumberTextBold | boolean | 设置手机号码字体是否加粗。since 2.5.4 | |
⑤slogan | setSloganTextColor | int | 设置移动 slogan 文字颜色 |
setSloganOffsetY | int | 设置 slogan 相对于标题栏下边缘 y 偏移 | |
setSloganOffsetX | int | 设置 slogan 相对于屏幕左边 x 轴偏移。since 2.3.8 | |
setSloganBottomOffsetY | int | 设置 slogan 相对于屏幕底部下边缘 y 轴偏移,如需此属性生效,需要对setSloganOffsetY=-1。since 2.3.8 | |
setSloganTextSize | int | 设置 slogan 字体大小。since 2.4.8 | |
setSloganTextBold | boolean | 设置 slogan 字体是否加粗。since 2.5.4 | |
⑥登录按钮 | setLogBtnText | String | 设置登录按钮文字 |
setLogBtnTextColor | int | 设置登录按钮文字颜色 | |
setLogBtnImgPath | String | 设置授权登录按钮图片 | |
setLogBtnOffsetY | int | 设置登录按钮相对于标题栏下边缘 y 偏移 | |
setLogBtnOffsetX | int | 设置登录按钮相对于屏幕左边 x 轴偏移。since 2.3.8 | |
setLogBtnWidth | int | 设置登录按钮宽度。since 2.3.8 | |
setLogBtnHeight | int | 设置登录按钮高度。since 2.3.8 | |
setLogBtnTextSize | int | 设置登录按钮字体大小。since 2.3.8 | |
setLogBtnBottomOffsetY | int | 设置登录按钮相对屏幕底部 y 轴偏移。since 2.4.8 | |
setLogBtnTextBold | boolean | 设置登录按钮字体是否加粗。since 2.5.4 | |
⑦隐私栏 | setAppPrivacyOne | String,String | 自定义隐私条款一: 仅since 2.3.8-2.7.2有效;2.7.3 及之后版本设置无效 |
setAppPrivacyTwo | String,String | 自定义隐私条款二: 仅since 2.3.8-2.7.2有效;2.7.3 及之后版本设置无效 |
|
setAppPrivacyColor | int,int | 设置隐私条款名称颜色: |
|
setPrivacyMarginL | int | 设置协议相对于授权页左边的间距。since 2.9.6 | |
setPrivacyMarginR | int | 设置协议相对于授权页右边的间距。since 2.9.6 | |
setPrivacyMarginT | int | 设置协议相对于授权页顶部的间距。since 2.9.6 | |
setPrivacyMarginB | int | 设置协议相对于授权页底部的间距。since 2.9.6 | |
setCheckedImgPath | String | 设置复选框选中时图片 | |
setUncheckedImgPath | String | 设置复选框未选中时图片 | |
setPrivacyState | boolean | 设置隐私条款默认选中状态,默认不选中。since 2.3.2 | |
setPrivacyOffsetY | int | 设置隐私条款相对于授权页面底部下边缘 y 偏移,即将废弃。 | |
setPrivacyOffsetX | int | 设置隐私条款 (或者 checkbox 显示的时候) 相对于屏幕两边的间隔 。since 2.7.2,即将废弃。 | |
setPrivacyTextCenterGravity | boolean | 设置隐私条款文字是否居中对齐(默认左对齐)。since 2.3.8 | |
setPrivacyText | String,String | 设置隐私条款名称外的文字。如:登录即同意...并使用本机号码登录; since 2.7.3 |
|
setPrivacyTextSize | int | 设置隐私条款文字字体大小(单位:sp)。since 2.4.1 | |
setPrivacyTopOffsetY | int | 设置隐私条款相对导航栏下端 y 轴偏移。since 2.4.8 | |
setPrivacyCheckboxHidden | boolean | 设置隐私条款 checkbox 是否隐藏。since 2.4.8 | |
setPrivacyCheckboxSize | int | 设置隐私条款 checkbox 尺寸。since 2.4.8 | |
setPrivacyWithBookTitleMark | boolean | 设置隐私条款运营商协议名是否加书名号。since 2.4.8 | |
setPrivacyCheckboxInCenter | boolean | 设置隐私条款 checkbox 是否相对协议文字纵向居中。默认居顶。since 2.4.8 | |
enableHintToast | boolean Toast | 协议栏 checkbox 未选中时,点击登录按钮是否弹出 toast 提示用户勾选协议,默认不弹。支持自定义 Toast。since 2.5.0 | |
enablePrivacyCheckDialog | boolean | 支持设置未勾选隐私时打开弹窗;当设置 enablePrivacyCheckDialog 为 true 时,enableHintToast 也要同时设为 true。since 2.9.0 | |
setPrivacyTextBold | boolean | 设置隐私条款文字字体是否加粗。since 2.5.4 | |
setPrivacyUnderlineText | boolean | 设置隐私条款文字字体是否加下划线。since 2.5.4 | |
setVirtualButtonColor | int | 设置授权界面底部虚拟导航栏背景。 since 2.7.3 | |
setPrivacyNameAndUrlBeanList(List) | String,String,String | PrivacyBean传参: since 2.7.4 |
|
- 授权页隐私协议 web 页面
方法 | 参数类型 | 说明 |
---|---|---|
setIsPrivacyViewDarkMode | boolean | 设置协议展示 web 页面是否适配暗黑模式。since 2.9.6 true:跟随系统。 false:不支持暗黑模式 |
setPrivacyNavColor | int | 设置协议展示 web 页面导航栏背景颜色。since 2.4.8 |
setPrivacyNavTitleTextColor | int | 设置协议展示 web 页面导航栏标题文字颜色。since 2.4.8 |
setPrivacyNavTitleTextSize | int | 设置协议展示 web 页面导航栏标题文字大小(sp)。since 2.4.8 |
setPrivacyNavReturnBtn | View | 设置协议展示 web 页面导航栏返回按钮图标。since 2.4.8 |
setAppPrivacyNavTitle1 | String | 设置自定义协议 1 对应 web 页面导航栏文字内容。since 2.5.2 |
setAppPrivacyNavTitle2 | String | 设置自定义协议 2 对应 web 页面导航栏文字内容。since 2.5.2 |
setPrivacyStatusBarColorWithNav | boolean | 设置授权协议 web 页面状态栏与导航栏同色。仅在 android 5.0 以上设备生效。since 2.5.2 |
setPrivacyStatusBarDarkMode | boolean | 设置授权协议 web 页面状态栏暗色模式。仅在 android 6.0 以上设备生效。since 2.5.2 |
setPrivacyStatusBarTransparent | boolean | 设置授权协议 web 页面状态栏是否透明。仅在 android 4.4 以上设备生效。since 2.5.2 |
setPrivacyStatusBarHidden | boolean | 设置授权协议 web 页面状态栏是否隐藏。since 2.5.2 |
setPrivacyVirtualButtonTransparent | boolean | 设置授权协议 web 页面虚拟按键栏背景是否透明。since 2.5.2 |
setVirtualButtonHidden | boolean | 支持隐藏底部虚拟按键。since 2.9.0 |
setPrivacyNavTitleTextBold | boolean | 设置协议展示 web 页面导航栏字体是否加粗。since 2.5.4 |
setPrivacyVirtualButtonColor | int | 设置隐私界面底部虚拟导航栏背景 since 2.7.3 |
- 自定义 loading view
方法 | 参数类型 | 说明 |
---|---|---|
setLoadingView | View,Animation | 设置 login 过程中展示的 loading view 以及动画效果。since 2.4.8 |
- 授权页动画
方法 | 参数类型 | 说明 |
---|---|---|
setNeedStartAnim | boolean | 设置拉起授权页时是否需要显示默认动画。默认展示。since 2.5.2 |
setNeedCloseAnim | boolean | 设置关闭授权页时是否需要显示默认动画。默认展示。since 2.5.2 |
- 开发者自定义控件
方法 | 参数类型 | 说明 |
---|---|---|
addCustomView | 见以上方法定义 | 在授权页空白处添加自定义控件以及点击监听 |
addNavControlView | 见以上方法定义 | 在授权页面顶部导航栏添加自定义控件以及点击监听 |
- 二次协议弹窗配置
方法 | 参数类型 | 说明 |
---|---|---|
setPrivacyCheckDialogTitleTextSize | int | 协议二次弹窗字体大小 |
setPrivacyCheckDialogTitleTextColor | int | 协议二次弹窗字体颜色 |
setPrivacyCheckDialogContentTextGravity | int | 协议二次弹窗协议内容对⻬方式 |
setPrivacyCheckDialogContentTextSize | int | 协议二次弹窗协议内容字体大小 |
setPrivacyCheckDialogContentTextPaddingL | int | 协议二次弹窗协议内容左边距 |
setPrivacyCheckDialogContentTextPaddingT | int | 协议二次弹窗协议内容上边距 |
setPrivacyCheckDialogContentTextPaddingR | int | 协议二次弹窗协议内容右边距 |
setPrivacyCheckDialogContentTextPaddingB | int | 协议二次弹窗协议内容下边距 |
setPrivacyCheckDialogLogBtnImgPath | String | 协议二次弹窗登录按钮的背景图片 |
setPrivacyCheckDialoglogBtnTextColor | int | 协议二次弹窗登录按钮的字体颜色 |
setPrivacyCheckDialogWidth | int | 协议二次弹窗本身的宽 |
setPrivacyCheckDialogHeight | int | 协议二次弹窗本身的高 |
setprivacyCheckDialogGravity | int | 协议二次弹窗对齐方式 |
setPrivacyCheckDialogOffsetX | int | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogOffsetY | int | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogLogBtnWidth | int | 协议二次弹窗登录按钮的宽 |
setPrivacyCheckDialogLogBtnHeight | int | 协议二次弹窗登录按钮的高 |
- 短信登录页面
方法 | 参数类型 | 说明 |
---|---|---|
setPrivacyCheckDialogTitleTextSize | int | 协议二次弹窗字体大小 |
setPrivacyCheckDialogTitleTextColor | int | 协议二次弹窗字体颜色 |
setPrivacyCheckDialogContentTextGravity | int | 协议二次弹窗协议内容对⻬方式 |
setPrivacyCheckDialogContentTextSize | int | 协议二次弹窗协议内容字体大小 |
setPrivacyCheckDialogContentTextPaddingL | int | 协议二次弹窗协议内容左边距 |
setPrivacyCheckDialogContentTextPaddingT | int | 协议二次弹窗协议内容上边距 |
setPrivacyCheckDialogContentTextPaddingR | int | 协议二次弹窗协议内容右边距 |
setPrivacyCheckDialogContentTextPaddingB | int | 协议二次弹窗协议内容下边距 |
setPrivacyCheckDialogLogBtnImgPath | String | 协议二次弹窗登录按钮的背景图片 |
setPrivacyCheckDialoglogBtnTextColor | int | 协议二次弹窗登录按钮的字体颜色 |
setPrivacyCheckDialogWidth | int | 协议二次弹窗本身的宽 |
setPrivacyCheckDialogHeight | int | 协议二次弹窗本身的高 |
setprivacyCheckDialogGravity | int | 协议二次弹窗对齐方式 |
setPrivacyCheckDialogOffsetX | int | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogOffsetY | int | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogLogBtnWidth | int | 协议二次弹窗登录按钮的宽 |
setPrivacyCheckDialogLogBtnHeight | int | 协议二次弹窗登录按钮的高 |
JVerifyUIConfig 短信登录页-配置元素说明
x 轴未设置偏移则所有组件默认横向居中
- 设置登录页背景
- 支持的版本 :2.1.1
- 说明:图片会默认拉伸铺满整个屏幕,适配不同尺寸手机,建议使用 .9.png 图片来解决适配问题。
方法 | 参数类型 | 说明 |
---|---|---|
setAuthBGImgPath | String | 设置背景图片 |
setAuthBGGifPath | String | 设置本地 gif 背景图片,需要放置到 drawable 文件中,传入图片名称即可 |
setAuthBGVideoPath | String,String | 设置背景 Video 文件。 1.支持本地路径如:"android.resource://" + context.getPackageName() + "/" + R.raw.testvideo 2.支持网络路径,https 开头的资源地址(建议下载到本地后使用本地路径,网络路径会出现卡顿等网络问题),设置默认第一频图片(需要放置到 drawable 文件中,传入图片名称即可,如果 Video 文件路径为本地,则可以填 null) |
- 状态栏
方法 | 参数类型 | 说明 |
---|---|---|
setStatusBarColorWithNav | boolean | 设置状态栏与导航栏同色。仅在 android 5.0 以上设备生效。 since 2.4.1 |
setStatusBarDarkMode | boolean | 设置状态栏暗色模式。仅在 android 6.0 以上设备生效。 since 2.4.8 |
setStatusBarTransparent | boolean | 设置状态栏是否透明。仅在 android 4.4 以上设备生效。 since 2.4.8 |
setStatusBarHidden | boolean | 设置状态栏是否隐藏。since 2.4.8 |
setVirtualButtonTransparent | boolean | 设置虚拟按键栏背景是否透明。since 2.5.2 |
- 登录页导航栏
方法 | 参数类型 | 说明 |
---|---|---|
setNavColor | int | 设置导航栏颜色 |
setSmsNavText | String | 设置导航栏标题文字 |
setNavTextColor | int | 设置导航栏标题文字颜色 |
setNavReturnImgPath | String | 设置导航栏返回按钮图标 |
setNavTransparent | boolean | 设置导航栏背景是否透明。默认不透明。since 2.3.2 |
setNavTextSize | int | 设置导航栏标题文字字体大小(单位:sp)。since 2.4.1 |
setNavReturnBtnHidden | boolean | 设置导航栏返回按钮是否隐藏。默认不隐藏。since 2.4.1 |
setNavReturnBtnWidth | int | 设置导航栏返回按钮宽度。since 2.4.8 |
setNavReturnBtnHeight | int | 设置导航栏返回按钮高度。since 2.4.8 |
setNavReturnBtnOffsetX | int | 设置导航栏返回按钮距屏幕左侧偏移。since 2.4.8 |
setNavReturnBtnRightOffsetX | int | 设置导航栏返回按钮距屏幕右侧偏移。since 2.4.8 |
setNavReturnBtnOffsetY | int | 设置导航栏返回按钮距上端偏移。since 2.4.8 |
setNavHidden | boolean | 设置导航栏是否隐藏。since 2.4.8 |
setNavTextBold | boolean | 设置导航栏标题字体是否加粗。since 2.5.4 |
- 登录页 logo
方法 | 参数类型 | 说明 |
---|---|---|
setSmsLogoWidth | int | 设置 logo 宽度(单位:dp) |
setSmsLogoHeight | int | 设置 logo 高度(单位:dp) |
setSmsLogoHidden | boolean | 隐藏 logo |
setSmsLogoOffsetY | int | 设置 logo 相对于标题栏下边缘 y 偏移 |
setSmsLogoImgPath | String | 设置 logo 图片 |
setSmsLogoOffsetX | int | 设置 logo 相对于屏幕左边 x 轴偏移。since 2.3.8 |
setSmsLogoOffsetBottomY | int | 设置 logo 相对于屏幕底部 y 轴偏移。since 2.4.8 |
- 登录页 slogan
方法 | 参数类型 | 说明 |
---|---|---|
setSmsSloganTextColor | int | 设置移动 slogan 文字颜色 |
setSmsSloganOffsetY | int | 设置 slogan 相对于标题栏下边缘 y 偏移 |
setSmsSloganOffsetX | int | 设置 slogan 相对于屏幕左边 x 轴偏移 |
setSmsSloganOffsetBottomY | int | 设置 slogan 相对于屏幕底部下边缘 y 轴偏移 |
smsSloganTextSize | int | 设置 slogan 字体大小 |
setSmsSloganTextBold | boolean | 设置 slogan 字体是否加粗 |
setSmsSloganHidden | boolean | 设置 slogan 字体是否隐藏 |
- 登录页号码输入栏
方法 | 参数类型 | 说明 |
---|---|---|
setSmsPhoneInputViewTextColor | int | 设置手机号码输入框字体颜色 |
setSmsPhoneInputViewTextSize | Number | 设置手机号码输入框字体大小(单位可配置)。since 3.1.0 |
setSmsPhoneInputViewOffsetX | int | 设置号码输入框相对于屏幕左边 x 轴偏移。since 3.1.0 |
setSmsPhoneInputViewOffsetY | int | 设置号码输入框相对于屏幕底部 y 轴偏移。since 3.1.0 |
setSmsPhoneInputViewWidth | int | 设置号码输入框宽度。since 3.1.0 |
setSmsPhoneInputViewHeight | int | 设置号码输入框高度。since 3.1.0 |
- 登录页验证码输入栏
方法 | 参数类型 | 说明 |
---|---|---|
setSmsVerifyCodeEditTextViewTextColor | int | 设置验证码输入框字体颜色 |
setSmsVerifyCodeEditTextViewTextSize | Number | 设置验证码输入框字体大小(单位:sp)。since 3.1.0 |
setSmsVerifyCodeEditTextViewOffsetY | int | 设置验证码输入框相对于标题栏下边缘 y 偏移 |
setSmsVerifyCodeEditTextViewTextOffsetX | int | 设置验证码输入框相对于屏幕左边 x 轴偏移。since 3.1.0 |
setSmsVerifyCodeEditTextViewOffsetR | int | 设置验证码输入框相对于屏幕右边偏移。since 3.1.0 |
setSmsVerifyCodeEditTextViewWidth | int | 设置验证码输入框宽度。since 3.1.0 |
setSmsVerifyCodeEditTextViewHeight | int | 设置验证码输入框高度。since 3.1.0 |
- 登录页获取验证码按钮
方法 | 参数类型 | 说明 |
---|---|---|
setSmsGetVerifyCodeTextViewTextColor | int | 设置获取验证码按钮文字颜色 |
setSmsGetVerifyCodeBtnBackgroundPath | String | 设置获取验证码按钮图片 |
setSmsGetVerifyCodeTextViewOffsetY | int | 设置获取验证码按钮相对于标题栏下边缘 y 偏移 |
setSmsGetVerifyCodeTextViewOffsetX | int | 设置获取验证码按钮相对于屏幕左边 x 轴偏移。since 3.1.0 |
setSmsGetVerifyCodeDialog | int | 设置获取验证码按钮宽度。since 3.1.0 |
setSmsGetVerifyCodeTextSize | int | 设置获取验证码按钮字体大小。since 3.1.0 |
setSmsGetVerifyCodeTextViewOffsetR | int | 设置获取验证码按钮相对屏幕底部 y 轴偏移。since 3.1.0 |
- 登录页登录按钮
方法 | 参数类型 | 说明 |
---|---|---|
setSmsLogBtnText | String | 设置登录按钮文字 |
setSmsLogBtnTextColor | int | 设置登录按钮文字颜色 |
setSmsLogBtnBackgroundPath | String | 设置授权登录按钮图片 |
setSmsLogBtnOffsetY | int | 设置登录按钮相对于标题栏下边缘 y 偏移 |
setSmsLogBtnOffsetX | int | 设置登录按钮相对于屏幕左边 x 轴偏移。since 2.3.8 |
setSmsLogBtnWidth | int | 设置登录按钮宽度。since 2.3.8 |
setSmsLogBtnHeight | int | 设置登录按钮高度。since 2.3.8 |
setSmsLogBtnTextSize | int | 设置登录按钮字体大小。since 2.3.8 |
setSmsLogBtnBottomOffsetY | int | 设置登录按钮相对屏幕底部 y 轴偏移。since 2.4.8 |
isSmsLogBtnTextBold | boolean | 设置登录按钮字体是否加粗。since 2.5.4 |
- 登录页隐私栏
方法 | 参数类型 | 说明 |
---|---|---|
setAppPrivacyColor | int,int | 设置隐私条款名称颜色(基础文字颜色,协议文字颜色) |
setSmsPrivacyMarginL | int | 设置协议相对于登录页左边的间距。since 2.9.6 |
setSmsPrivacyMarginR | int | 设置协议相对于登录页右边的间距。since 2.9.6 |
setSmsPrivacyMarginT | int | 设置协议相对于登录页顶部的间距。since 2.9.6 |
setSmsPrivacyMarginB | int | 设置协议相对于登录页底部的间距。since 2.9.6 |
setSmsPrivacyCheckboxMargin | int[] | 设置协议相对于登录页的间距。since 2.9.6 |
setCheckedImgPath | String | 设置复选框选中时图片 |
setUncheckedImgPath | String | 设置复选框未选中时图片 |
setPrivacyState | boolean | 设置隐私条款默认选中状态,默认不选中。since 2.3.2 |
isSmsPrivacyTextGravityCenter | boolean | 设置隐私条款文字是否居中对齐(默认左对齐)。since 3.1.0 |
setPrivacyText | String,String,String,String | 设置隐私条款名称外的文字。 如:登录即同意... 和...、... 并使用本机号码登录;参数 1 为:"登录即同意"。参数 2 为:"和"。参数 3 为:"、"。参数 4 为:"并使用本机号码登录"。 since 2.3.8-2.7.2,2.7.3 及之后版本设置无效 |
setPrivacyText | String,String | 设置隐私条款名称外的文字。 如:登录即同意...... 并使用本机号码登录;参数 1 为:"登录即同意"。参数 2 为:"并使用本机号码登录"。 since 2.7.3 |
setPrivacyTextSize | int | 设置隐私条款文字字体大小(单位:sp)。since 2.4.1 |
setSmsPrivacyTopOffsetY | int | 设置隐私条款相对导航栏下端 y 轴偏移。since 2.4.8 |
setPrivacyCheckboxHidden | boolean | 设置隐私条款 checkbox 是否隐藏。since 2.4.8 |
setSmsPrivacyCheckboxSize | int | 设置隐私条款 checkbox 尺寸。since 2.4.8 |
setPrivacyWithBookTitleMark | boolean | 设置隐私条款运营商协议名是否加书名号。since 2.4.8 |
isSmsPrivacyCheckboxInCenter | boolean | 设置隐私条款 checkbox 是否相对协议文字纵向居中。默认居顶。since 2.4.8 |
setPrivacyTextWidth | int | 弃用 since 2.7.2 |
enableHintToast | boolean Toast | 协议栏 checkbox 未选中时,点击登录按钮是否弹出 toast 提示用户勾选协议,默认不弹。支持自定义 Toast。since 2.5.0 |
enablePrivacyCheckDialog | boolean | 支持设置未勾选隐私时打开弹窗;当设置 enablePrivacyCheckDialog 为 true 时,enableHintToast 也要同时设为 true。since 2.9.0 |
setPrivacyTextBold | boolean | 设置隐私条款文字字体是否加粗。since 2.5.4 |
setPrivacyUnderlineText | boolean | 设置隐私条款文字字体是否加下划线。since 2.5.4 |
setVirtualButtonColor | int | 设置授权界面底部虚拟导航栏背景。 since 2.7.3 |
setPrivacyNameAndUrlBeanList(List) | PrivacyBean(String name, String url, String separator) | PrivacyBean 传参;参数 1 为:设置开发者隐私条款名称;参数 2 为:开发者隐私条款 URL;参数 3 为:连接符号。 since 2.7.4 |
- 登录页隐私协议 web 页面
方法 | 参数类型 | 说明 |
---|---|---|
setIsPrivacyViewDarkMode | boolean | 设置协议展示 web 页面是否适配暗黑模式。since 2.9.6 true:跟随系统。 false:不支持暗黑模式 |
setPrivacyNavColor | int | 设置协议展示 web 页面导航栏背景颜色。since 2.4.8 |
setPrivacyNavTitleTextColor | int | 设置协议展示 web 页面导航栏标题文字颜色。since 2.4.8 |
setPrivacyNavTitleTextSize | int | 设置协议展示 web 页面导航栏标题文字大小(sp)。since 2.4.8 |
setPrivacyNavReturnBtn | View | 设置协议展示 web 页面导航栏返回按钮图标。since 2.4.8 |
setAppPrivacyNavTitle1 | String | 设置自定义协议 1 对应 web 页面导航栏文字内容。since 2.5.2 |
setAppPrivacyNavTitle2 | String | 设置自定义协议 2 对应 web 页面导航栏文字内容。since 2.5.2 |
setPrivacyStatusBarColorWithNav | boolean | 设置授权协议 web 页面状态栏与导航栏同色。仅在 android 5.0 以上设备生效。since 2.5.2 |
setPrivacyStatusBarDarkMode | boolean | 设置授权协议 web 页面状态栏暗色模式。仅在 android 6.0 以上设备生效。since 2.5.2 |
setPrivacyStatusBarTransparent | boolean | 设置授权协议 web 页面状态栏是否透明。仅在 android 4.4 以上设备生效。since 2.5.2 |
setPrivacyStatusBarHidden | boolean | 设置授权协议 web 页面状态栏是否隐藏。since 2.5.2 |
setPrivacyVirtualButtonTransparent | boolean | 设置授权协议 web 页面虚拟按键栏背景是否透明。since 2.5.2 |
setVirtualButtonHidden | boolean | 支持隐藏底部虚拟按键。since 2.9.0 |
setPrivacyNavTitleTextBold | boolean | 设置协议展示 web 页面导航栏字体是否加粗。since 2.5.4 |
setPrivacyVirtualButtonColor | int | 设置隐私界面底部虚拟导航栏背景 since 2.7.3 |
- 自定义 loading view
方法 | 参数类型 | 说明 |
---|---|---|
setLoadingView | View,Animation | 设置 login 过程中展示的 loading view 以及动画效果。since 2.4.8 |
- 登录页动画
方法 | 参数类型 | 说明 |
---|---|---|
setNeedStartAnim | boolean | 设置拉起授权页时是否需要显示默认动画。默认展示。since 2.5.2 |
setNeedCloseAnim | boolean | 设置关闭授权页时是否需要显示默认动画。默认展示。since 2.5.2 |
- 开发者自定义控件
方法 | 参数类型 | 说明 |
---|---|---|
addCustomView | 见以上方法定义 | 在授权页空白处添加自定义控件以及点击监听 |
addNavControlView | 见以上方法定义 | 在授权页面顶部导航栏添加自定义控件以及点击监听 |
- 二次协议弹窗配置
方法 | 参数类型 | 说明 |
---|---|---|
setPrivacyCheckDialogTitleTextSize | 见以上方法定义 | 协议二次弹窗字体大小 |
setPrivacyCheckDialogTitleTextColor | 见以上方法定义 | 协议二次弹窗字体颜色 |
setPrivacyCheckDialogContentTextGravity | 见以上方法定义 | 协议二次弹窗协议内容对⻬方式 |
setPrivacyCheckDialogContentTextSize | 见以上方法定义 | 协议二次弹窗协议内容字体大小 |
setPrivacyCheckDialogLogBtnImgPath | 见以上方法定义 | 协议二次弹窗登录按钮的背景图片 |
setPrivacyCheckDialoglogBtnTextColor | 见以上方法定义 | 协议二次弹窗登录按钮的字体颜色 |
setPrivacyCheckDialogWidth | 见以上方法定义 | 协议二次弹窗本身的宽 |
setPrivacyCheckDialogHeight | 见以上方法定义 | 协议二次弹窗本身的高 |
setprivacyCheckDialogGravity | 见以上方法定义 | 协议二次弹窗字体颜色 |
setPrivacyCheckDialogOffsetX | 见以上方法定义 | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogOffsetY | 见以上方法定义 | 协议二次弹窗本身对于父类的对⻬偏移 |
setPrivacyCheckDialogLogBtnWidth | 见以上方法定义 | 协议二次弹窗登录按钮的宽 |
setPrivacyCheckDialogLogBtnHeight | 见以上方法定义 | 协议二次弹窗登录按钮的高 |
拉起授权页面(旧)
支持的版本
开始支持的版本 2.3.0
接口的定义
- JVerificationInterface.loginAuth(final Context context, boolean autoFinish, final VerifyListener listener)
- 接口说明:
- 调起一键登录授权页面,在用户授权后获取 loginToken
- 参数说明:
- context:android 的上下文
- boolean:是否自动关闭授权页,true - 是,false - 否;若此字段设置为 false,请在收到一键登录回调后调用 SDK 提供的关闭授权页面方法。
- listener:接口回调
- 回调说明:
onResult(int code, String content, String operator)- code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
- content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- 调用示例:
- 接口说明:
JVerificationInterface.loginAuth(this, false, new VerifyListener() {
@Override
public void onResult(int code, String content, String operator) {
if (code == 6000){
Log.d(TAG, "code=" + code + ", token=" + content+" ,operator="+operator);
}else{
Log.d(TAG, "code=" + code + ", message=" + content);
}
}
});
拉起授权页面(旧)
支持的版本
开始支持的版本 2.0.0
接口的定义
- JVerificationInterface.loginAuth(final Context context, final VerifyListener listener)
- 接口说明:
- 调起一键登录授权页面,在用户授权后获取 loginToken
- 参数说明:
- context:android 的上下文
- listener:接口回调
- 回调说明:
onResult(int code, String content, String operator)- code: 返回码,6000 代表 loginToken 获取成功,6001 代表 loginToken 获取失败,其他返回码详见描述
- content:返回码的解释信息,若获取成功,内容信息代表 loginToken。
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- 调用示例:
- 接口说明:
JVerificationInterface.loginAuth(this, new VerifyListener() {
@Override
public void onResult(int code, String content, String operator) {
if (code == 6000){
Log.d(TAG, "code=" + code + ", token=" + content+" ,operator="+operator);
}else{
Log.d(TAG, "code=" + code + ", message=" + content);
}
}
});
号码认证
初始化
调用 SDK 其他流程方法前,请确保已调用过初始化,否则会返回未初始化,详情参考 SDK 初始化 API。初始化后,如您调用如下功能接口,视为您同意开启极光安全认证相关业务功能,我们会收集业务功能必要的个人信息并上报。
判断网络环境是否支持
判断当前的手机网络环境是否可以使用号码认证,若网络支持,再调用号码认证 API,否则请调用其他认证方式的 API,详情参考 判断网络环境是否支持 API。
获取号码认证 token(新)
支持的版本
开始支持的版本 2.2.0
接口定义
- JVerificationInterface.getToken(Context context,int timeOut, VerifyListener listener)
- 接口说明:
- 在预定时间内获取当前在线的 sim 卡所在运营商及 token,如果超过所设时间,接口回调返回超时。如果获取成功代表可以用来验证手机号,获取失败则建议做短信验证。
- 参数说明:
- context:android 的上下文
- timeOut: 超时时间(毫秒), 有效取值范围(5000,30000], 若小于等于 5000 或大于 30000 则取默认值 10000. 推荐设置为 5001-10000.
- listener:接口回调
- 回调说明:
onResult(int code, String content, String operator, JSONObject operatorReturn)- code: 返回码,2000 代表获取成功,其他为失败,详见错误码描述
- content:成功时为 token,可用于调用验证手机号接口。token 有效期为 1 分钟,超过时效需要重新获取才能使用。失败时为失败信息
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- operatorReturn: 运营商结果信息
- 调用示例:
- 接口说明:
JVerificationInterface.getToken(this, 5000,new VerifyListner{
@Override
public void onResult(int code, String content, String operator) {if (code == 2000){Log.d(TAG, "token=" + content + ", operator=" + operator);
} else {Log.d(TAG, "code=" + code + ", message=" + content);
}
});
说明:开发者可以通过 SDK 获取 token 接口的回调信息来选择验证方式,若成功获取到 token 则可以继续使用极光认证进行号码验证;若获取 token 失败,需要换用短信验证码等方式继续完成验证。
获取号码认证 token(旧)
支持的版本
开始支持的版本 1.0.0
接口定义
- JVerificationInterface.getToken(Context context, VerifyListener listener)
- 接口说明:
- 获取当前在线的 sim 卡所在运营商及 token。如果获取成功代表可以用来验证手机号,获取失败则建议做短信验证。默认超时时长为 5000ms,此接口已废弃,建议使用新接口。
- 参数说明:
- context:android的上下文
- listener:接口回调
- 回调说明:
onResult(int code, String content, String operator)- code: 返回码,2000 代表获取成功,其他为失败,详见错误码描述
- content:成功时为 token,可用于调用验证手机号接口。token 有效期为 1 分钟,超过时效需要重新获取才能使用。失败时为失败信息
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- 调用示例:
- 接口说明:
JVerificationInterface.getToken(this, new VerifyListner{
@Override
public void onResult(int code, String content, String operator) {
if (code == 2000){
Log.d(TAG, "token=" + content + ", operator=" + operator);
} else {
Log.d(TAG, "code=" + code + ", message=" + content);
}
});
SDK 发起号码认证
2.4.3 版本开始,此接口已移除
支持的版本
开始支持的版本 1.0.0
接口定义
- JVerificationInterface.verifyNumber(Context context, String token, String phone, VerifyListener listener)
- 接口说明:
- 验证手机号是否是当前在线的 sim 卡的手机号
- 参数说明:
- context:android 的上下文
- token:选填,getToken 接口返回的 token。如果传空,将自动调用 getToken 方法再执行手机号验证
- phone:必填,需要验证的手机号。如果传空会报 4001 参数错误
- listener:接口回调
- 回调说明:
onResult(int code, String content, String operator)- code: 返回码,1000 代表验证一致,1001 代表验证不一致,其他为失败,详见错误码描述
- content:返回码的解释信息
- operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
- 调用示例:
- 接口说明:
JVerificationInterface.verifyNumber(this, null, "13512341234", new VerifyListner{
@Override
public void onResult(int code, String content, String operator) {
if (code == 1000){
Log.d(TAG, "verify consistent, operator=" + operator);
} else if (code == 1001) {
Log.d(TAG, "verify not consistent");
} else {
Log.d(TAG, "code=" + code + ", message=" + content);
}
});
说明:开发者调用该接口,需要在管理控制台找到该应用,并在[认证设置]-[其他设置]中开启[SDK发起认证],建议从开发者服务端发起号码认证。
验证码
SDK 获取验证码
支持的版本
开始支持的版本 2.6.0
接口定义
- JVerificationInterface.getSmsCode(Context context, String phonenum, String signid, String tempid, RequestCallback listener)
- 接口说明:
- 参数说明:
- context:android 的上下文
- phonenum:电话号码
- signid:短信签名 id,如果为 null,则为默认短信签名 id
- tempid:短信模板 id
- listener:回调接口
- 回调说明:
- onResult(int code, String msg)
- code: 返回码,3000 代表获取验证码成功,msg 为此次获取的唯一标识码(uuid),其他为失败,详见错误码描述
- msg:结果描述
- onResult(int code, String msg)
- 调用示例:
String phonenum = "159xxxxxxxx";
String sign_id = null;
String temp_id = null;
JVerificationInterface.getSmsCode(this, phonenum, sign_id, temp_id, new RequestCallback<String>() {
@Override
public void onResult(final int code, final String result) {if (code == 3000) {tvLog.post(new Runnable() {
@Override
public void run() {
String text = "uuid:" + result;
Log.d(TAG, "getCodeSuccess:" + text);
tvLog.setText(text);
}
});} else {tvLog.post(new Runnable() {
@Override
public void run() {
String text = "errCode:" + code + ",errmsg:" + result;
Log.d(TAG, "getCodeFail:" + text);
tvLog.setText(text);
}
});}
}
});
设置前后两次获取验证码的时间间隔
支持的版本
开始支持的版本 2.6.0
接口定义
- JVerificationInterface.setSmsIntervalTime(long intervalTime)
- 接口说明:
- 设置前后两次获取验证码的时间间隔,默认 10000ms,有效范围(5000,300000)
- 参数说明:
- intervalTime:时间间隔,单位是毫秒(ms)。
- 调用示例:
- 接口说明:
JVerificationInterface.setSmsIntervalTime(60000);// 设置间隔时间为 60 秒
扩展业务相关设置
可选个人信息设置
调用此 API 来配置可选个人信息采集
支持的版本
开始支持的版本 3.1.7,需要配合JCore Android SDK v4.6.0及以上版本
接口定义
JVerificationInterface.setCollectControl(Context context,JVerifyCollectControl control)
接口说明
- 数据采集配置,为了确保您使用极光安全认证的良好效果,我们强烈建议您都采集。
参数说明
- context:android 的上下文
- control:数据采集项配置类,对应参数设置为false则不采集。默认为true,采集对应数据项。
调用示例
JVerificationInterface.setAuth(this,false);
JVerifyCollectControl.Builder ss=new JVerifyCollectControl.Builder();
ss.cell(true);
....
JVerifyCollectControl build = ss.build();
JVerificationInterface.setCollectControl(this, build);
JVerifyCollectControl控制类
IMEI采集开关
public Build imei(boolean enable)
方法说明:配置IMEI信息采集开关,默认为true,false-不允许采集
MAC采集开关
public Build mac(boolean enable)
方法说明:配置MAC信息采集开关,默认为true,false-不允许采集
CELL采集开关
public Build cell(boolean enable)
方法说明:配置CELL信息采集开关,默认为true,false-不允许采集
IMSI采集开关
public Build imsi(boolean enable)
方法说明:配置IMSI信息采集开关,默认为true,false-不允许采集
扩展业务相关设置
风控配置
支持的版本
开始支持的版本 3.2.3
接口定义
JVerificationInterface.setSecureControl(Context context,boolean enable)
接口说明
- 如果有信通院风控需求时可调用该接口
参数说明
- context:android 的上下文
- control:如果有风控特殊需求,可以调用该接口并设置参数为false
调用示例
JVerificationInterface.setCollectControl(this, false);
扩展业务功能设置
调用此 API 来配置扩展业务功能
支持的版本
开始支持的版本 3.1.7,需要配合JCore Android SDK v4.6.0及以上版本
应用自启动
JCollectionAuth.enableAutoWakeup(Context context,boolean isAutoWakeupEnable);
参数定义
context
- 应用上下文
isAutoWakeupEnable
- 应用自启动开关,默认为true,false-代表关闭
设置网络监控优化功能
支持的版本
开始支持的版本 3.2.1
接口定义
JVerificationInterface.enableNetworkMonitoringOptimizer(boolean enable)
接口说明
- 默认开启,SDK初始化时使用了 android.net.ConnectivityManager 监听网络变化,用户可以调用该接口禁止SDK在初始化时监听网络
- 如果需要使用该接口,请在SDK初始化前调用
参数说明
- enable:开启或关闭
调用示例
JVerificationInterface.enableNetworkMonitoringOptimizer(false);