最近更新:2023-11-03
展开全部

SDK 接口说明

  • JVerificationInterface,包含 SDK 所有接口

设置 Debug 模式

支持的版本

开始支持的版本 1.0.0

接口定义

  • JVerificationInterface.setDebugMode(boolean enable)
    • 接口说明:
      • 设置是否开启 debug 模式。true 则会打印更多的日志信息。建议在 init 接口之前调用。
    • 参数说明:
      • enable:debug 开关
    • 调用示例:
JVerificationInterface.setDebugMode(true);
              JVerificationInterface.setDebugMode(true);

        
此代码块在浮窗中显示

动态配置 appkey

支持的版本

开始支持的版本 2.9.7

接口定义

  • jVerificationConfig.setjAppKey("申请的APPKEY")
    • 接口说明:
      • 如使用该接口配置 AppKey 进行初始化,则 build.gradle 文件中 JPUSH_APPKEY 则不需再配置,即 JPUSH_APPKEY : "",否则依然以 gradle 为主。
    • 参数说明:
      • 应用管理的 appkey
    • 调用示例:
jVerificationConfig.setjAppKey("申请的APPKEY");
              jVerificationConfig.setjAppKey("申请的APPKEY");

        
此代码块在浮窗中显示

SDK 初始化

支持超时时间配置、回调参数

支持的版本

开始支持的版本 2.5.0

接口定义

  • JVerificationInterface.init(Context context,int timeOut,RequestCallback callback)
    • 接口说明:
      • 初始化接口。建议在 Application 的 onCreate 中调用
    • 参数说明:
      • context:android 的上下文
      • timeOut: 超时时间(毫秒), 有效取值范围(0,30000], 若小于等于 0 或大于 30000 则取默认值 10000. 推荐设置为 5000-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); } });
              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); } });
              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();
              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; }
              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; }
              boolean verifyEnable = JVerificationInterface.checkSmsEnable(this);
        if(!verifyEnable){Log.d(TAG,"当前网络环境不支持短信");
            return;
        }

        
此代码块在浮窗中显示

是否获取地理位置信息

支持的版本

开始支持的版本 2.9.6

接口定义

  • JVerificationInterface.setLocationEanable(Context context, boolean eanable)

    • 接口说明:
      • 地理位置获取开关,默认开启, true 为开启。
    • 调用示例:
JVerificationInterface.setLocationEanable(this,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: 超时时间(毫秒), 有效取值范围(0,10000], 若小于等于 0 则取默认值 5000. 大于 10000 则取 10000, 为保证预取号的成功率,建议设置为 3000-5000ms.
      • 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 );} });
                  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: 超时时间(毫秒), 有效取值范围(0,10000], 若小于等于 0 则取默认值 5000. 大于 10000 则取 10000, 为保证预取号的成功率,建议设置为 3000-5000ms.
      • 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 );} });
                  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();
                  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);// 设置超时时间,单位毫秒。 合法范围(0,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); } } });
              LoginSettings settings = new LoginSettings();
    settings.setAutoFinish(true);// 设置登录完成后是否自动关闭授权页
    settings.setTimeout(15 * 1000);// 设置超时时间,单位毫秒。 合法范围(0,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);// 设置超时时间,单位毫秒。 合法范围(0,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); } } });
              LoginSettings settings = new LoginSettings();
    settings.setAutoFinish(true);// 设置登录完成后是否自动关闭授权页
    settings.setTimeout(15 * 1000);// 设置超时时间,单位毫秒。 合法范围(0,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:内容描述。
    • 调用示例:
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);} });
              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: 超时时间(毫秒), 有效取值范围(0,10000], 若小于等于 0 则取默认值 5000. 大于 10000 则取 10000, 为保证预取号的成功率,建议设置为 3000-5000ms,不包括获取验证码请求,获取验证码请求请使用setSmsIntervalTime。
      • 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(); } }); } });
                  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);} });
              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();
              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);
              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();} });
                  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:自定义的控件的对象
    • 调用示例:
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();} });
                  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)
              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>
          <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>
          <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>
          <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);
          
    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 自定义隐私条款一:
  • 参数 1(设置开发者隐私条款名称)
  • 参数 2(开发者隐私条款 URL)
    仅since 2.3.8-2.7.2有效;2.7.3 及之后版本设置无效
  • setAppPrivacyTwo String,String 自定义隐私条款二:
  • 参数 1(设置开发者隐私条款名称)
  • 参数 2(开发者隐私条款 URL)
    仅since 2.3.8-2.7.2有效;2.7.3 及之后版本设置无效
  • setAppPrivacyColor int,int 设置隐私条款名称颜色:
  • 参数 1((基础文字颜色)
  • 参数 2(协议文字颜色)
  • 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 设置隐私条款名称外的文字。如:登录即同意...并使用本机号码登录;
  • 参数 1 ("登录即同意")
  • 参数 2 ("并使用本机号码登录")
    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传参:
  • 参数 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 见以上方法定义 协议二次弹窗登录按钮的高
    • 短信登录页面
    方法 参数类型 说明
    setPrivacyCheckDialogTitleTextSize 见以上方法定义 协议二次弹窗字体大小
    setPrivacyCheckDialogTitleTextColor 见以上方法定义 协议二次弹窗字体颜色
    setPrivacyCheckDialogContentTextGravity 见以上方法定义 协议二次弹窗协议内容对⻬方式
    setPrivacyCheckDialogContentTextSize 见以上方法定义 协议二次弹窗协议内容字体大小
    setPrivacyCheckDialogLogBtnImgPath 见以上方法定义 协议二次弹窗登录按钮的背景图片
    setPrivacyCheckDialoglogBtnTextColor 见以上方法定义 协议二次弹窗登录按钮的字体颜色
    setPrivacyCheckDialogWidth 见以上方法定义 协议二次弹窗本身的宽
    setPrivacyCheckDialogHeight 见以上方法定义 协议二次弹窗本身的高
    setprivacyCheckDialogGravity 见以上方法定义 协议二次弹窗字体颜色
    setPrivacyCheckDialogOffsetX 见以上方法定义 协议二次弹窗本身对于父类的对⻬偏移
    setPrivacyCheckDialogOffsetY 见以上方法定义 协议二次弹窗本身对于父类的对⻬偏移
    setPrivacyCheckDialogLogBtnWidth 见以上方法定义 协议二次弹窗登录按钮的宽
    setPrivacyCheckDialogLogBtnHeight 见以上方法定义 协议二次弹窗登录按钮的高

    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); } } });
                  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); } } });
                  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: 超时时间(毫秒), 有效取值范围(0,10000], 若小于等于 0 则取默认值 5000. 大于 10000 则取 10000. 为保证获取 token 的成功率,建议设置为 3000-5000ms.
        • listener:接口回调
      • 回调说明:
        onResult(int code, String  content, String operator)
        • code: 返回码,2000 代表获取成功,其他为失败,详见错误码描述
        • content:成功时为 token,可用于调用验证手机号接口。token 有效期为 1 分钟,超过时效需要重新获取才能使用。失败时为失败信息
        • operator:成功时为对应运营商,CM 代表中国移动,CU 代表中国联通,CT 代表中国电信。失败时可能为 null
      • 调用示例:
    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); } });
                  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); } });
                  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); } });
                  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)
      • 接口说明:
        • 获取短信验证码,使用此功能需要在 Portal 控制台中极光短信模块添加申请短信签名和验证码短信模版。详见:操作指南
        • 通过此接口获得到短信验证码后,需要调用极光验证码验证 API 来进行验证,详见:验证码验证 API
      • 参数说明:
        • context:android 的上下文
        • phonenum:电话号码
        • signid:短信签名 id,如果为 null,则为默认短信签名 id
        • tempid:短信模板 id
        • listener:回调接口
      • 回调说明:
        • onResult(int code, String msg)
          • code: 返回码,3000 代表获取验证码成功,msg 为此次获取的唯一标识码(uuid),其他为失败,详见错误码描述
          • 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); } });} } });
                      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)
      • 接口说明:
        • 设置前后两次获取验证码的时间间隔,默认 30000ms,有效范围(0,300000)
      • 参数说明:
        • intervalTime:时间间隔,单位是毫秒(ms)。
      • 调用示例:
    JVerificationInterface.setSmsIntervalTime(60000);// 设置间隔时间为 60 秒
                      JVerificationInterface.setSmsIntervalTime(60000);// 设置间隔时间为 60 秒
    
            
    此代码块在浮窗中显示

    数据采集项配置

    支持的版本

    开始支持的版本 3.1.7

    接口定义

    • JVerificationInterface.setCollectControl(Context context,JVerifyCollectControl control)

      • 接口说明

        • 数据采集配置,为了确保您使用极光安全认证的良好效果,我们强烈建议您都采集。
      • 参数说明

        • context:android 的上下文
        • control:数据采集项配置类,对应参数设置为false则不采集。默认为true,采集对应数据项。
      • 调用示例

    JVerificationInterface.setAuth(this,false); JVerifyCollectControl.Builder ss=new JVerifyCollectControl.Builder(); ss.appActive(true); ss.gps(true); .... JVerifyCollectControl build = ss.build(); JVerificationInterface.setCollectControl(this, build);
                      JVerificationInterface.setAuth(this,false);
            JVerifyCollectControl.Builder ss=new JVerifyCollectControl.Builder();
            ss.appActive(true);
            ss.gps(true);
            ....
            JVerifyCollectControl build = ss.build();
            JVerificationInterface.setCollectControl(this, build);
    
            
    此代码块在浮窗中显示
    文档内容是否对您有帮助?

    Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

    在文档中心打开