首页 > 其他分享 >MobTech 秒验 SDK API

MobTech 秒验 SDK API

时间:2022-10-20 12:02:34浏览次数:82  
标签:自定义 MobTech void API SecVerify 秒验 授权 public 页面

概述

秒验提供预登录、登录、两种自定义UI等API接口供开发者调用。

预登录(preVerify)

/**
* com.mob.secverify.SecVerify.class
* 检测当前用户的手机网络环境是否符合条件,获取用于一键登录使用的临时凭证, 默认有效期为1个小时
* @param callback 回调
*/
public static void preVerify(PreVerifyCallback callback)

示例代码:

// 建议提前调用预登录接口,可以加快免密登录过程,提高用户的体验。
SecVerify.preVerify(new {
@Override
public void onComplete(Void data) {
// TODO处理成功的结果
}
@Override
public void onFailure(VerifyException e) {
// TODO处理失败的结果
// 获取错误码
int errCode = e.getCode();
//获取SDK返回的错误信息
String errMsg = e.getMessage();
// 更详细的网络错误信息可以通过t查看,注:t有可能为null,也可用于获取运营商返回的错误信息
Throwable t = e.getCause();
String errDetail = null;
if (t != null) {
errDetail = t.getMessage();
}
}
});

登录(verify)

/**
* com.mob.secverify.SecVerify.class
* 调用一键登录方法将立即拉起授权页面
* @param callback 回调
*/
public static void verify(VerifyCallback callback)

示例代码:

SecVerify.verify(new VerifyCallback() {
@Override
public void onOtherLogin(){
// 用户点击“其他登录方式”,处理自己的逻辑
}
@Override
public void onUserCanceled(){
// 用户点击“关闭按钮”或“物理返回键”取消登录,处理自己的逻辑
}
@Override
public void onComplete(VerifyResult data){
// 获取授权码成功,将token信息传给应用服务端,再由应用服务端进行登录验证,此功能需由开发者自行实现
// opToken
String opToken = verifyResult.getOpToken();
// token
String token = verifyResult.getToken();
// 运营商类型,[CMCC:中国移动,CUCC:中国联通,CTCC:中国电信]
String operator = verifyResult.getOperator();
}
@Override
public void onFailure(VerifyException e){
//TODO处理失败的结果
}
});

登录接口重载方法(verify)

/**
* com.mob.secverify.SecVerify.class
* 调用一键登录方法将立即拉起授权页面
* @param pageCallback 回调
* @param getTokenCallback 回调
*/
public static void verify(PageCallback pageCallback, GetTokenCallback getTokenCallback)

示例代码:

SecVerify.verify(
new PageCallback() {
@Override
public void pageCallback(int code, String desc) {
// 授权页面相关回调及错误码,无法打开运营商的授权页面的错误会在这里回调
}

},
new GetTokenCallback() {
@Override
public void onComplete(VerifyResult verifyResult) {
// TODO获取授权码成功,将token信息传给应用服务端,再由应用服务端进行登录验证,此功能需由开发者自行实现
// 运营商token
String opToken = verifyResult.getOpToken();
// 服务器token
String token = verifyResult.getToken();
// 运营商类型,[CMCC:中国移动,CUCC:中国联通,CTCC:中国电信]
String operator = verifyResult.getOperator();
}
@Override
public void onFailure(VerifyException e) {
// TODO处理失败的结果
}
}
);

关闭自带loading(dismissProgressDialog)

//com.mob.secverify.ui.component.CommonProgressDialog.class
/**
* 关闭自带loading
*/
public static void dismissProgressDialog()

示例代码:

CommonProgressDialog.dismissProgressDialog();

设置自定义的LoadingView(setCustomizeLoadingView)

/**
* com.mob.secverify.ui.CustomUIRegister.class
* 设置自定义的loading view
* @param loadingView 自定义的loadingView
*/
public static void setCustomizeLoadingView(View loadingView)

示例代码:

当传入的为空白view时相当于隐藏loading

CustomUIRegister.setCustomizeLoadingView(new View(this));

设置debug模式(setDebugMode)

SecVerify提供了以下方法用于设置debug模式:

/**
* com.mob.secverify.SecVerify.class
* 设置debug模式
* @param isDebug 是否设置debug模式
*/
public static void setDebugMode(boolean isDebug)

示例代码:

SecVerify.setDebugMode(true);

超时设置(setTimeOut)

SecVerify提供了以下方法用于设置超时时间,单位为ms,取值在1000-10000之间:

/**
* com.mob.secverify.SecVerify.class
* 超时设置
* @param time 超时时间
*/
public static void setTimeOut(int

示例代码:

SecVerify.setTimeOut(time);

主动关闭授权页面(finishOAuthPage)

SecVerify提供了以下方法用于由开发者主动关闭授权页面

/**
* com.mob.secverify.SecVerify.class
* 主动关闭授权页面
*/
public static void finishOAuthPage()

关于该方法,作以下说明:

  • ​登录​​ 接口默认在触发回调时,SDK内部会自动关闭授权页,开发者不需要再次调用上述方法进行关闭操作
  • 开发者添加的 *​自定义控件​​ 点击时默认不关闭授权页,如需关闭,可以使用该方法
  • 通过该方法主动关闭授权页时,不会触发 *​登录​​ 接口的任何回调

示例代码:

SecVerify.finishOAuthPage();

设置是否自动关闭授权页面(autoFinishOAuthPage)

SecVerify提供了以下方法用于由开发者决定登录成功或失败是否自动关闭授权页面:

/**
* com.mob.secverify.SecVerify.class
* 是否自动关闭授权页面
* @param isFinish 是否自动关闭授权页面
*/
public static void autoFinishOAuthPage(boolean isFinish)

示例代码:

SecVerify.autoFinishOAuthPage(isFinish);

或者

/**
* com.mob.secverify.SecVerify.class
* 是否自动关闭授权页面
* @param isFinish 是否自动关闭授权页面
*/
public static void otherLoginAutoFinishOAuthPage(boolean isFinish)

示例代码:

SecVerify.otherLoginAutoFinishOAuthPage(isFinish);

关于以上方法,作以下说明:

  • 如果未设置或设置为true,默认会自动关闭授权页面
  • autoFinishOAuthPage方法如果设置为false,那么在登录成功或者失败的回调中,不会自动关闭授权页面,必须要手动调用SecVerify.finishOAuthPage();方法来关闭授权页面
  • otherLoginAutoFinishOAuthPage方法如果设置为false,那么在其他方式登录的回调中,不会自动关闭授权页面,必须要手动调用SecVerify.finishOAuthPage();方法来关闭授权页面

获取授权页面activity(3.3.1版本新增)

3.3.1版本新增获取授权页activity

/**
* 获取授权页面activity
* @return
public static Activity getAuthPageActivity()

示例代码

SecVerify.getAuthPageActivity();

关闭授权页面旋转(3.3.1版本新增)

3.3.1版本新增关闭授权页旋转方法

/**
* 关闭授权页面旋转
* 默认关闭
* @param isClosed true:关闭屏幕旋转角度监听响应; false:打开屏幕旋转角度监听响应
*/
public static void closeOrientationDetector(boolean isClosed)

代码示例

SecVerify.closeOrientationDetector(true);

刷新授权页面(refreshOAuthPage)

SecVerify提供了以下方法用于刷新授权页面:

/**
* com.mob.secverify.SecVerify.class
* 刷新授权页面
*/
public static void refreshOAuthPage()

示例代码:

SecVerify.refreshOAuthPage();

关于该方法,作以下说明:

  • 如果需要在授权页面修改界面内容,可以通过设置ui属性的hidden方法来隐藏界面控件并用自定义控件设置自己的UI

获取授权页面的其他回调

SecVerify提供了以下方法用于获取授权页面的其他回调,此方法需放在调用verify方法之前

SecVerify.OtherOAuthPageCallBack(new OAuthPageEventCallback() {
@Override
public void initCallback(OAuthPageEventResultCallback cb){
cb.pageOpenCallback(new OAuthPageEventCallback.PageOpenedCallback() {
@Override
public void handle(){
// 授权页面打开回调
}
});
cb.loginBtnClickedCallback(new OAuthPageEventCallback.LoginBtnClickedCallback() {
@Override
public void handle(){
// 点击登录按钮回调
}
});
cb.agreementPageClosedCallback(new OAuthPageEventCallback.AgreementPageClosedCallback() {
@Override
public void handle(){
// 隐私协议页面关闭回调
}
});
cb.agreementPageOpenedCallback(new OAuthPageEventCallback.AgreementClickedCallback() {
@Override
public void handle(){
// 点击运营商隐私协议回调
}
});
cb.cusAgreement1ClickedCallback(new OAuthPageEventCallback.CusAgreement1ClickedCallback() {
@Override
public void handle(){
// 点击自定义隐私协议1回调
}
});
cb.cusAgreement2ClickedCallback(new OAuthPageEventCallback.CusAgreement2ClickedCallback() {
@Override
public void handle(){
// 点击自定义隐私协议2回调
}
});
cb.pageCloseCallback(new OAuthPageEventCallback.PageClosedCallback() {
@Override
public void handle(){
// 授权页面关闭回调
}
});
cb.checkboxStatusChangedCallback(new CheckboxStatusChangedCallback() {
@Override
public void handle(boolean b){
// 复选框状态修改回调
}
});
}
});

UISettings方式自定义竖屏UI(setUiSettings)

/**
* com.mob.secverify.SecVerify.class
* 自定义竖屏UI
* @param uiSettings 自定义竖屏ui设置
*/
public static void setUiSettings(UiSettings uiSettings)

示例代码:

SecVerify.setUiSettings(uiSettings);

UISettings方式自定义横屏UI(setLandUiSettings)

/**
* com.mob.secverify.SecVerify.class
* 自定义横屏UI
* @param landUiSettings 自定义横屏ui设置
*/
public static void setLandUiSettings(LandUiSettings landUiSettings)

示例代码:

SecVerify.setLandUiSettings(landUiSettings);

UISettings自定义UI详细文档请查看:​​UISettings自定义UI​

自定义Adapter方式自定义UI(setAdapterFullName)

/**
* com.mob.secverify.SecVerify.class
* 自定义Adapter修改UI
* @param fullName 继承SDK中LoginAdapter类的完整路径
*/
public static void setAdapterFullName(String

示例代码:

SecVerify.setAdapterFullName(xxx.xxx.MyLoginAdapter);

自定义Adapter方式自定义UI(setAdapterClass)

/**
* com.mob.secverify.SecVerify.class
* 自定义Adapter修改UI
* @param
public static void setAdapterClass(Class<? extends LoginAdapter> adapterClass)

示例代码:

SecVerify.setAdapterClass(MyLoginAdapter.class);

自定义Adapter修改UI详细文档请查看:​​自定义Adapter修改UI​

标签:自定义,MobTech,void,API,SecVerify,秒验,授权,public,页面
From: https://blog.51cto.com/u_14192352/5779792

相关文章

  • 关于.Net 7.0 RC gRPC JSON 转码为 Swagger/OpenAPI文档的注意事项
    大家好,我是失业在家,正在找工作的博主Jerry,找工作之余,看到.Net7.0RC2发布了,就想测试下.Net7.0RC2gRPCJSON转码为Swagger/OpenAPI文档的特性,这个特性大大提高了测试g......
  • open淘宝 淘宝API 开发常见错误
    1淘宝API商品添加API 淘宝商品一键上传taobao.item.addArray([code]=>530[msg]=>Remoteserviceerror[sub_code]=>isv.item-add-service-error:ITEM_PROPER......
  • Hibernate的关键API详解
    在Java中使用Hibernate的步骤​开始Hibernate开发​​......
  • 【Azure API 管理】APIM中证书更新问题
    问题描述每一年到期更新域名证书,APIM会中断服务,请问如何不中断服务? 问题解答AzureAPI管理允许在受信任的根证书和中间证书存储中的计算机上安装CA证书,分配证书的......
  • Vue3学习笔记(二)——组合式API(Composition API)
    一、常用CompositionAPI官方文档:https://v3.cn.vuejs.org/guide/composition-api-introduction.html组合式API(CompositionAPI)是一系列API的集合,使我们可以使......
  • 使用Kong网关API接口配置
    一、Upstream1、创建Upstream:curl-i-XPOSTIPAddress:8001/upstreams-d'name=upstream-test'-d'slots=1000'2、创建Targets目标地址并且关联Upstream:curl-i-XPO......
  • API安全测试checklist
    开发安全的API所需要核对的清单以下是当你在设计,测试以及发布你的API的时候所需要核对的重要安全措施。身份认证不要使用BasicAuth,请使用标准的认证协议(如JW......
  • vue3+vite+ts自动引入api和组件
    安装cnpminstallunplugin-auto-importunplugin-vue-components-d配置//自动导入compositionapi和生成全局typescript说明importAutoImportfrom'unplugin-au......
  • 基于apiview接口实现 -------查、更新
    https://www.bilibili.com/video/BV1z5411D7BQ?p=11&vd_source=caabcbd2a759a67e2a3de8acbaaf08eaviews.pyclassBookView(APIView):defget(self,request):......
  • JDBC API 详解
    JDBCAPI详解DriverManager驱动管理类作用:1.注册驱动获取数据库连接 Connection数据库连接对象作用:获取执行SQL对象普通执行SQL对象Statement creatStat......