移动端Android常见问题解答
Q:通过Api方法指定语言但是不生效?
A:不同版本可配置语言数不同,请先确认当前版本是否支持所指定的语言,如确认无误,请确认接入的SDK是否为从极验后台所获取的最新版本并正确使用本地依赖方式,不支持远程依赖。
Q:是否可以移除或者自定义loading?
A:支持,但是当移除loading后遇到网络较差时候,无任何指示器,可能会影响体验。自定义loading方法如下:
setParams 中指定 loading 资源的路径。
Map<String, Object> params = new HashMap<>();
params.put("loading", "./loading.gif");
GTCaptcha4Config builder = new GTCaptcha4Config.Builder()
.setParams(params);关闭sdk loading,以及自行实现。
public void onViewCreated(View view, Bundle savedInstanceState){
super.onViewCreated(view, savedInstanceState);
Map<String, Object> params = new HashMap<>();
params.put("loading", ""); // laoding 字段传空关闭loading
params.put("bgColor", "#00000080"); // 设置前端加载的蒙层,CSS颜色值
GTCaptcha4Config config = new GTCaptcha4Config.Builder()
.setParams(params)
.setDialogStyle("demo_dialog_style") // 自定义验证码对话框的主题,去除原生蒙层,防止遮挡loading
.build();
gtCaptcha4Client = GTCaptcha4Client.getClient(activity)
.init("your captcha_id", config);
}
public void click() {
showLoading(); // 自行实现loading
gtCaptcha4Client.addOnSuccessListener(new GTCaptcha4Client.OnSuccessListener {
public void onSuccess(boolean status, String response) {
if (status) {
// TODO 开启二次验证
} else {
// TODO 用户答案验证错误
}
}
})
.addOnFailureListener(new GTCaptcha4Client.OnFailureListener {
public void onFailure(String error) {
}
})
.addOnWebViewShowListener(new GTCaptcha4Client.OnWebViewShowListener{
public void onWebViewShow() {
dismissLoading(); // 关闭自行实现的 loading
}
})
.verifyWithCaptcha();
}
<style name="demo_dialog_style" parent="android:Theme.Dialog"> |