接入说明#

Android 验证码 SDK目前支持兼容的最低android系统版本为 4.0.3

1. 导入 jar 包#

将captcha.jar拷贝到项目Module的libs目录下。

2. 添加权限#

在AndroidManifest.xml中添加如下权限

<uses-permission android:name="android.permission.INTERNET" />

3. 初始化#

初始化数美SDK SmCaptchaWebView 控件类,代码如下

// 构造数美验证码WEBVIEW对象,目前宽高比为3:2
SmCaptchaWebView mCaptchaView = new SmCaptchaWebView(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, width / 3f * 2);
mCaptchaView.setLayoutParams(layoutParams);
// 定义结果回调方法
SmCaptchaWebView.ResultListener listener = new SmCaptchaWebView.ResultListener() {
// 验证码图片加载成功回调函数
@Override
public void onReady() {
Log.i(TAG, "onReady");
}
// 处理过程出现异常回调函数
@Override
public void onError(int code) {
Log.i(TAG, "code:" + code);
}
// 用户操作结束回调函数,操作验证未通过pass为false,操作验证通过pass为true。
@Override
public void onSuccess(CharSequence rid, boolean pass) {
Log.d(TAG, "onSuccess rid:" + rid + " pass:" + pass);
}
};
// 初始化验证码WebView
SmCaptchaWebView.SmOption option = new SmCaptchaWebView.SmOption();
option.setOrganization("xxxxx"); // 必填,组织标识
option.setAppId("xxxx"); // 必填,应用标识
// 选填,支持滑动式(默认) 和点选式
// MODE_SLIDE 滑动验证
// MODE_SELECT 文字点选
// MODE_ICON_SELECT 图标点选
// MODE_SEQ_SELECT 语序点选
// MODE_SPATIAL_SELECT 空间逻辑推理
option.setMode(SmCaptchaWebView.MODE_SLIDE);
option.setTipMessage ("xxxx"); // 选填,自定义提示文字,仅滑动式支持
option.setChannel("xxxx"); // 选填,APP的推广渠道标识
option.setDeviceId("xxxxx"); // 选填,数美反欺诈SDK获取到的设备标识
// 连接新加坡机房特殊配置项,仅供验证码数据上报新加坡机房客户使用
//option.setCdnHost("castatic-xjp.fengkongcloud.com");
//option.setHost("captcha-xjp.fengkongcloud.com");
// 连接美国机房特殊配置项,仅供验证码数据上报美国机房客户使用
//option.setCdnHost("castatic-fjny.fengkongcloud.com");
//option.setHost("captcha-fjny.fengkongcloud.com");
// 私有化
// 设置验证码 url
//option.setCaptchaHtml("YOUR_CAPTCHA_URL");
// 设置验证码 api 接口域名:格式 host[:port]
//option.setHost("YOUR_HOST")
int code = mCaptchaView.initWithOption(option, listener);
if (SmCaptchaWebView.SMCAPTCHA_SUCCESS != code) {
Log.e(TAG, "init failed:" + code);
}

4. 添加到需要展示的容器内#

将验证码 SmCaptchaWebView 添加到需要展示的容器内

5. 获取用户操作结果#

用户操作结束后,会回调ResultListener中相应函数。如果用户操作验证结束,回调ResultListener中onSuccess函数,同时返回当前操作请求的唯一标识rid,以及操作是否通过。

6. 返回码说明#

返回码备注
0成功
1001传入参数为空
1002未传入organization
1003未传入appId
1004未设置回调
1005网络问题
1006返回结果出错

7.android接入demo#

可从数美风控后台下载,https://console.ishumei.com/new/document