跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

一键登录集成文档

1. 概述

官网下载SDK后进行解压,解压后包含相关依赖包,分别在两个文件夹中:

a) common

b) verify 

SDK同时包含了本机号码认证和一键登录两个功能。号码认证服务包含本机号码认证和一键登录时两个不同的功能,使用场景不一样,无需一起使用。

本机号码认证使用场景:用户输入手机号码,通过SDK获取token(通过getVerifyToken获取),服务端携带输入的手机号码和token去运营商网关进行校验(服务端调用VerifyMobile接口),返回的结果时用户当前上网使用的号码与输入的号码是否一致。

一键登录使用场景:用户无需输入手机号码,SDK会拉起授权页,用户确认授权后,SDK会获取token(通过getLoginToken获取),服务端携带token到运营商网关获取用户当前上网使用的号码(服务端调用GetMobile接口),并返回给APP服务端。

2. 准备工作

a) 请确保您的终端设备已经开启了4G网络(联通、移动支持3G网络,但接口耗时会增加)

b) 请确保已经在友盟+控制台开通了号码认证服务并创建了对应的方案,点击进入控制台。

c) 您也可以点击查看完整使用流程。

d)欢迎观看友盟学院出品《U-Verify安卓端集成操作》,帮助开发者快速集成。

3. 运行demo工程

您可以直接运行解压后的demo工程。Demo工程

4. 开发环境搭建

1) maven自动集成

在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】SDK新maven仓库地址。

maven { url 'https://repo1.maven.org/maven2/' }
buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://repo1.maven.org/maven2/' }
}
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://repo1.maven.org/maven2/' }
}
}

在工程App 对应build.gradle配置脚本dependencies段中添加common SDK库和认证库依赖:

dependencies {

implementation  'com.umeng.umsdk:common:+'// 必选
implementation  'com.umeng.umsdk:asms:+'// 必选
implementation  'com.umeng.umsdk:uverify:+'// 必选
implementation  'com.umeng.umsdk:uverify-main:+'// 必选
implementation  'com.umeng.umsdk:uverify-logger:+'// 必选
implementation  'androidx.appcompat:appcompat:1.3.1'(最低版本)
}

2) 手动集成

下载SDK并解压后,将aar拷贝至工程的libs目录下。强依赖包:

  1. umeng-uverify-2...aar

  2. umeng-common-9...jar

  3. umeng-asms-armeabi-v1...aar  

  4. umeng-logger-2.x.x.aar

  5. umeng-main-2.x.x.aar

  6. 以及动态引入v7包:com.android.support:appcompat-v7:27.1.1(最低版本)

3) 配置Android9.0对http协议的支持方式

在res/xml目录新建网络安全配置文件:network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">enrichgw.10010.com</domain>
    </domain-config>
</network-security-config>

在app项目AndroidManifest.xml中application节点增加启用明文传输数据的配置

<application android:networkSecurityConfig="@xml/network_security_config" >

4) 相关调用函数

/**
 *  为满足工信部合规要求,请确保按照合规指南进行预初始化
 *  https://developer.umeng.com/docs/119267/detail/182050
 */
UMConfigure.preInit(this, "替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey", "渠道信息");

/*
* 0.在Application的onCreate方法中初始化Appkey等信息
*/
UMConfigure.init(this,"替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey","渠道信息",UMConfigure.DEVICE_TYPE_PHONE,"");
/*
* 1.初始化获取token实例
*/
mTokenListener =new UMTokenResultListener(){}
/*
*   2.初始化SDK实例
*/
umVerifyHelper = UMVerifyHelper.getInstance(context, mTokenListener);
/*
*   3.设置SDK密钥
*/
umVerifyHelper.setAuthSDKInfo();
/*
*   4.检测终端网络环境是否支持一键登录或者号码认证
*/
umVerifyHelper.checkEnvAvailable();
/*
*   5.若步骤4支持,则根据业务情况,调用预取号或者一键登录接口
*     详见demo接入工程
*/
umVerifyHelper.getLoginToken(context,5000);

5) 混淆keep规则

-keep class com.umeng.**{*;}

-keepclassmembers class*{
public <init> (org.json.JSONObject);
}

-keepclassmembers enum*{
public static **[] values();
public static ** valueOf(java.lang.String);
}

6)资源混淆配置

若您需要开启资源混淆,则需要在相应工程的res/raw/keep.xml文件中加入以下代码

tools:keep="@drawable/authsdk*, 
@drawable/umcsdk*,
@layout/widget_pns_*,
@layout/umcsdk*,
@anim/authsdk*, 
@anim/umcsdk*, 
@theme/authsdk_*,
@id/pns_*,
@id/authsdk*,
@id/umcsdk*,
@color/pns_*, 
@dimen/pns_*,
@string/umcsdk*,
@style/umcsdk*"

7)权限列表

<uses-permission android:name="android.permission.INTERNET"/> <!--网络访问-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!--检查wifi网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!--检查网络状态-->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <!--切换网络通道-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <!--开关wifi状态,解决国内机型移动网络权限问题需要-->

5. 智能认证SDK方法说明

5.1 获取认证实例(getInstance)

/**
     * 函数名:getInstance
     * @param context
     * @param tokenResultListener
     * @return UMVerifyHelper 实例
     */
public static UMVerifyHelper getInstance(Context context, UMTokenResultListener tokenResultListener)

5.2设置SDK密钥(setAuthSDKInfo)

/**
  * 设置SDK密钥信息
  * @param secret 密钥信息 需要从服务端获取
  */
public void setAuthSDKInfo(String secret)

5.3检查终端是否支持号码认证(checkEnvAvailable)

/**
     * SDK环境检查函数,检查终端是否支持号码认证,通过UMTokenResultListener返回code
     * @param type 1:本机号码校验 2:一键登录
     * 600024 终端支持认证
     * 600013 系统维护,功能不可用
     */
public void checkEnvAvailable(@IntRange(from =1, to =2)int type)

5.4关键日志开关(setLoggerEnable)

/**
     * 设置SDK 是否开启日志
     * @param isDebug 为true则输出关键步骤运行日志
     */
public void setLoggerEnable(boolean isDebug)

5.5本机号码认证获取token(getVerifyToken)

/**
     * 获取本机号码校验token
     * @param timeout 超时时间,单位ms
     */
public void getVerifyToken(int timeout)

5.6一键登录预取号(accelerateLoginPage)

/**
     *预取号码信息,建议在 APP 登录页初始化时调用,提高后续授权页的打开速度。
     *不要在 App 启动初始化时调用,避免接口调用资源浪费
     *@param overdueTime 预取信息有效期 单位ms
     *@param listener 预取结果回调函数
     */
public void accelerateLoginPage(final int overdueTime, final UMPreLoginResultListener listener)

5.7一键登录唤起授权页(getLoginToken)

/**
     *唤起一键登录授权页面,在用户授权后获取一键登录的 Token
     *@param timeout 超时时间 单位 ms
     */
public void getLoginToken (int timeout)

5.8退出授权页(quitLoginPage)

/**
     * 退出登录授权页,授权页的退出完全由APP 控制
     * SDK 完成回调后,不会立即关闭授权页面,需要开发者主动调用离开授权页面方法去完成页面的关闭
     */
public void quitLoginPage()

5.9退出授权时关闭加载状态(hideLoginLoading)

/**
     * 退出登录授权页时,授权页的loading消失由APP控制
     * SDK 完成回调后,不会立即关闭授权页面,需要开发者主动调用离开授权页面方法去完成页面的关闭
     * SDK回调完成后,不会立即关闭loading dialog,需要开发者主动调用loading效果方法去关闭loading dialog
     */
public void hideLoginLoading()

5.10授权页物理返回键禁用

/**
* 授权页物理返回键禁用
* true禁用,false不禁用,默认false
*
* @param close
*/
public void closeAuthPageReturnBack(boolean close)

5.11横屏水滴屏全屏适配

/**
* 横屏水滴屏全屏适配
* true适配,false不适配,默认false
*
* @param fullScreen
*/
public void keepAuthPageLandscapeFullScreen(boolean fullScreen) 

5.12授权页扩大协议按钮选择范围至我已阅读并同意

/**
* 授权页扩大协议按钮选择范围至我已阅读并同意
* true开启,false不开启,默认false
*
* @param expandScope
*/
public void expandAuthPageCheckedScope(boolean expandScope)

5.13一键登录页面添加由XML的自定义控件(addAuthRegisterXmlConfig)

/**
     * 动态添加控件
     *
     * @param authRegisterXmlConfig 自定义布局,可以设置控件的位置和相关处理逻辑
     */
public void addAuthRegisterXmlConfig(UMAuthRegisterXmlConfig authRegisterXmlConfig)

初始化 addAuthRegisterXmlConfig 类时需要先调静态内部类Builder()里面的 2 个方法

  • setLayout: 开发者传入自定义的控件的xml资源ID

  • UMAbstractPnsViewDelegate:授权页使用xml添加自定义布局时,可以配合该Delegate类实现xml中相关view的操作,比如事件监听以及动态UI改动等等,当xml对应的view加载后SDK将调用onViewCreated(View)方法通知view已经创建OK,此时可以获取xml中的view并进行相关事件绑定等操作

5.14一键登录添加自定义控件(addAuthRegistViewConfig)

/**
     * 动态添加控件
     * @param viewID 开发者自定义控件名称
     * @param viewConfig  配置开发者自定义控件的控件来源、位置和处理逻辑
     */
public void addAuthRegistViewConfig(String viewID, UMAuthRegisterViewConfig viewConfig)

注意:每次调用 getVerifyToken 授权请求之前,都需初始化一次UMAuthRegisterViewConfig,因为在授权页关闭时都会清空注入进去的UMAuthRegisterViewConfig,具体实现请见 demo 工程。初始化 AuthRegisterViewConfig 类时需要先调静态内部类Builder()里面的 3 个方法

  • setView: 开发者传入自定义的控件,开发者需要提前设置好控件的布局属性,SDK 只支持 RelativeLayout 布局

  • setRootViewId:设置控件的位置,目前SDK 授权页允许在3个位置插入开发者控件RootViewId.ROOT_VIEW_ID_TITLE_BAR,标题;RootViewId.ROOT_VIEW_ID_BODY,授权页空白处,RootViewId.ROOT_VIEW_ID_NUMBER,手机掩码处

  • setCustomInterface:设置控件事件

获取 token 成功之后,需把通过setView()注入进去的view 置为 null。

5.15 一键登录修改授权页主题(setAuthUIConfig)

/**
     * 可以自行设置一键登录页面元素
     * @param authUIConfig
     */
public void setAuthUIConfig(UMAuthUIConfig authUIConfig)

5.16 SDK回调接口

获取token回调

public interface UMTokenResultListener {

    /**
     * 授权页唤起成功或获取token成功
     * @param ret 返回码
     */
    void onTokenSuccess(String ret);

    /**
     * 获取token失败
     * @param ret 返回信息
     */
    void onTokenFailed(String ret);

}

获取预取号码回调

public interface UMPreLoginResultListener {
    /**
     *
     * @param vendor 返回预取成功运营商
     */
    void onTokenSuccess(String vendor);

    /**
     *
     * @param vendor 返回预取失败运营商
     * @param ret 返回失败原因
     */
    void onTokenFailed(String vendor, String ret);
}

SDK返回码

编号

返回描述

建议

600000

获取token成功

无

600001

唤起授权页成功

无

600002

唤起授权页失败

建议切换到其他登录方式

600004

获取运营商配置信息失败

建议切换到其它登录方式;创建工单

600005

手机终端不安全

建议切换到其他登录方式

600007

未检测到sim卡

提示用户检查sim卡后重试;或建议切换到其他登录方式

600008

蜂窝网络未开启

提示用户开启移动网络后重试;或建议切换到其他登录方式;

600009

无法判断运营商

建议切换到其它登录方式;创建工单

600010

未知异常

建议切换到其它登录方式;创建工单

600011

获取token失败

切换到其他登录方式

600012

获取预取号失败

建议切换到其它登录方式;

600013

运营商维护升级 该功能不可用

建议切换到其它登录方式;创建工单

600014

运营商维护升级,该功能已达最大调用次数

建议切换到其它登录方式;创建工单

600015

接口超时

建议切换到其他登录方式

600017

AppID、Appkey解析失败

建议切换到其它登录方式;创建工单

600021

点击登录时检测到运营商已切换

建议切换到其它登录方式

600023

加载⾃定义控件异常

检查⾃定义控件添加是否正确

600024

终端环境检查⽀持认证

无

600025

终端检测参数错误

建议切换到其它登录方式;检查传⼊参数类型与范围是否正确

600026

授权页已加载时不允许调用加速或预取号接口

检查是否有授权页拉起后,去调用加速或预取号接口,该行为不允许

5.17获取运营商信息(getCurrentCarrierName)

/**
     * 返回默认上网卡运营商
     * @return CMCC-中国移动 CTCC-中国电信 CUCC-中国联通
     */
public String getCurrentCarrierName()

5.18授权页点击事件回调说明

public interface UMAuthUIControlClickListener{
/**
     * @param code 一键登录页面控件点击事件code
     * @param context Android上下文
     * @param jsonObjectStr 点击事件返回的具体内容json串,不同控件返回的事件内容有所不同
     */
void onClick(String code, Context context, String jsonObjectStr);
}

授权页点击事件响应码

响应码

响应码描述

700000

点击返回,⽤户取消免密登录

700001

点击切换按钮,⽤户取消免密登录

700002

点击登录按钮事件

700003

点击check box事件

700004

点击协议富文本文字事件

700006

点击一键登录拉起授权页二次弹窗

700007

隐私协议二次弹窗关闭

700008

点击隐私协议二次弹窗上同意并继续

700009

点击隐私协议二次弹窗上的协议富文本文字

5.19 二次弹窗相关

选调方法:添加二次弹窗自定义布局

在调用addPrivacyRegisterXmlConfig前,调用removePrivacyRegisterXmlConfig先移除所有添加的自定义View。

/**
 * 添加二次弹窗自定义布局
 *
 * @param xmlConfig
 */
@AuthNumber
public void addPrivacyRegisterXmlConfig(AuthRegisterXmlConfig xmlConfig)

选调方法:二次弹窗取消事件

/**
 * 二次弹窗取消事件
 *
 * @param
 */
@AuthNumber
public void quitPrivacyPage() 

选调方法:移除二次弹窗所有自定义布局

/**
 * 移除二次弹窗所有的自定义布局
 */
@AuthNumber
public void removePrivacyRegisterXmlConfig()

使用示例

mAuthHelper.removePrivacyRegisterXmlConfig();
mAuthHelper.addPrivacyRegisterXmlConfig(new AuthRegisterXmlConfig.Builder()
            //此处需改为用户自定义的布局ID
            .setLayout(null, new AbstractPnsViewDelegate() {
            @Override
            public void onViewCreated(View view) {
                //此处可进行用户自定义布局业务逻辑处理
            }
        })
        .build());

选调方法:二次弹窗动态添加控件

/**
 * 动态添加控件
 *
 * @param viewID view的ID
 * @param viewConfig view的动态配置
 */
public void addPrivacyAuthRegistViewConfig(String viewID, AuthRegisterViewConfig viewConfig) 

使用示例

 mAuthHelper.addPrivacyAuthRegistViewConfig(""/**view ID */, new AuthRegisterViewConfig.Builder()
                  //此处需改为用户自定义添加的view
                 .setView(null)
                 //AuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_BODY 协议文本区域      
                 //AuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_TITLE_BAR 导航栏部分   
                 //AuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_NUMBER 确认按钮区域   
                .setRootViewId(AuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_BODY)
                .setCustomInterface(new CustomInterface() {
                    @Override
                    public void onClick(Context context) {
                        //此处可进行用户自定义view点击事件业务逻辑处理
                    }
                }).build());

选调方法:移除所有动态添加的控件

在调用addPrivacyAuthRegistViewConfig之前调用removePrivacyAuthRegisterViewConfig先移除所有动态添加的控件。

/**
 * 移除所有动态添加的控件
 */
public void removePrivacyAuthRegisterViewConfig()

使用示例

 mAuthHelper.removePrivacyAuthRegisterViewConfig();

5.20 选调方法:获取授权页协议勾选框选中状态

/**
 * 获取授权页协议勾选框选中状态
 */
public boolean queryCheckBoxIsChecked()

使用示例

boolean checked = mPhoneNumberAuthHelper.queryCheckBoxIsChecked();

5.21 选调方法:用户控制返回键及左上角返回按钮效果

调用此方法后用户在setUIClickListener方法中收到ResultCode.CODE_ERROR_USER_CANCEL回调后控制授权页关闭逻辑。

    /**
     * 授权页返回由用户控制
     */
    public void userControlAuthPageCancel()

使用示例

 mPhoneNumberAuthHelper.userControlAuthPageCancel();

5.22 选调方法:用户禁止使用utdid

调用该方法后移除相关utdid的使用。

   /**
     * 禁止使用utdid
     */
    public void prohibitUseUtdid()

使用示例

mPhoneNumberAuthHelper.prohibitUseUtdid();

5.23 选调方法:授权页是否跟随系统深色模式

   /**
     * 授权页界面是否跟随系统深色模式,默认true跟随
     */
    public void setAuthPageUseDayLight(boolean authPageUseDayLight)

使用示例

mPhoneNumberAuthHelper.setAuthPageUseDayLight(true);

5.24 选调方法:删除预取号码信息

   /**
     * 删除预取号码信息
     */
    @AuthNumber
    public void clearPreInfo()

使用示例

mPhoneNumberAuthHelper.clearPreInfo();

6. SDK方法说明

9C04C9DD-F9B1-46CD-804B-AEAE49D1B017

6.1授权页面示例图

一键登录页面

image

重要涉及图片路径的参数,仅为图片名称(不带路径或后缀名),并且图片需要放置在drawable、drawable-xxhdpi等目录下。

弹窗页面

image

页面说明如下:

序号

描述

①

状态栏

②

标题栏

③

Logo区

④

Slogan

⑤

掩码区

⑥

登录按钮

⑦

切换到其他方式

⑧

自定义控件区

⑨

协议区

二次授权弹窗页面

image

6.2 授权页配置说明

6.2.1 授权页导航栏

方法

参数类型

说明

setStatusBarColor

int

设置状态栏颜色(系统版本 5.0 以上可设置)

setLightColor

int

设置状态栏字体颜色(系统版本 6.0 以上可设置黑色、白色)。true 为黑色

setNavColor

int

设置导航栏颜色

setNavText

String

设置导航栏标题文字

setNavTextColor

int

设置导航栏标题文字颜色

setNavTextSize

int

设置导航栏标题文字大小

setNavReturnImgPath

String

设置导航栏返回键图片

setNavReturnHidden

boolean

设置导航栏返回按钮隐藏

setNavHidden

boolean

设置默认导航栏是否隐藏

setStatusBarHidden

boolean

设置状态栏是否隐藏

setStatusBarUIFlag

int

设置状态栏UI属性 View.SYSTEM_UI_FLAG_LOW_PROFILE View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

setWebViewStatusBarColor

int

设置协议页状态栏颜色(系统版本 5.0 以上可设置)

setWebNavColor

int

设置协议页顶部导航栏颜色 

setWebNavTextColor

int

设置协议页顶部导航栏标题颜色 

setWebNavTextSize

int

设置协议页顶部导航栏文字大小 

webNavReturnImgPath

String

设置协议页导航栏返回按钮图片路径

setBottomNavColor

int

设置底部虚拟按键背景色(系统版本5.0以上可设置)

setNavTextSizeDp

int

设置导航栏标题文字大小(单位:db,字体大小不随系统变化)

setNavReturnImgDrawable

Drawable

设置导航栏返回键图片

6.2.2 授权页Logo

方法

参数类型

说明

setLogoHidden

boolean

隐藏logo

setLogoImgPath

String

设置logo 图片

setLogoWidth

int

设置logo 控件宽度,单位dp

setLogoHeight

int

设置logo 控件高度,单位dp

setLogoOffsetY

int

设置logo 控件相对导航栏顶部的位移,单位dp

setLogoOffsetY_B

int

设置logo 控件相对底部的位移,单位dp

setLogoScaleType

ImageView.ScaleType

设置Logo图片缩放模式。模式类型:

  • center:保持原图大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

  • centerCrop:原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止,原图超过ImageView的部分作裁剪处理。

  • centerInside:图片居中显示,按比例缩小原图的size等于或小于ImageView。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。

  • matrix:不改变原图的大小,从ImageView左上角绘制原图,超过部分裁剪处理。

  • fitCenter:原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示。

  • fitEnd:原图按比例扩大或缩小到ImageView的高度,显示在ImageView的下部分位置。

  • fitStart:原图按比例扩大或缩小到ImageView的高度,显示在ImageView的上部分位置。

  • fitXY:原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView。

6.2.3 授权页Slogan

方法

参数类型

说明

setSloganText

String

设置slogan 文字内容

setSloganTextColor

int

设置slogan 文字颜色

setSloganTextSize

int

设置slogan 文字大小

setSloganOffsetY

int

设置slogan 相对导航栏顶部的位移,单位dp

setSloganOffsetY_B

int

设置slogan 相对底部的位移,单位dp

setSloganTextSizeDp

int

设置Slogan文字大小(单位:db,字体大小不随系统变化)

6.2.4 授权页号码栏

方法

参数类型

说明

setNumberColor

int

设置手机号码字体颜色

setNumberSize

int

设置手机号码字体大小

setNumFieldOffsetY

int

设置号码栏控件相对导航栏顶部的位移,单位 dp

setNumFieldOffsetY_B

int

设置号码栏控件相对底部的位移,单位 dp

setNumberFieldOffsetX

int

设置号码栏相对于默认位置的X 轴偏移量,单位dp

setNumberLayoutGravity

int

设置手机号掩码的布局对齐方式,只支持Gravity.CENTER_HORIZONTAL、Gravity.LEFT、Gravity.RIGHT三种对齐方式

setNumberSizeDp

int

设置手机号码字体大小(单位:db,字体大小不随系统变化)

6.2.5 授权页登录按钮

方法

参数类型

说明

setLogBtnText

String

设置登录按钮文字

setLogBtnTextColor

int

设置登录按钮文字颜色

setLogBtnTextSize

int

设置登录按钮文字大小

setLogBtnWidth

int

设置登录按钮宽度,单位 dp

setLogBtnHeight

int

设置登录按钮高度,单位dp

setLogBtnMarginLeftAndRight

int

设置登录按钮相对于屏幕左右边缘边距

setLogBtnBackgroundPath

String

设置登录按钮背景图片路径

setLogBtnOffsetY

int

设置登录按钮相对导航栏顶部的位移,单位 dp

setLogBtnOffsetY_B

int

设置登录按钮相对底部的位移,单位 dp

setLoadingImgPath

String

设置登录loading dialog 背景图片路径

setLogBtnOffsetX

int

设置登录按钮X轴偏移量,如果设置了setLogBtnMarginLeftAndRight,并且布局对齐方式为左对齐或者右对齐,则会在margin的基础上再增加offsetX的偏移量,如果是居中对齐,则仅仅会在居中的基础上再做offsetX的偏移。

setLogBtnLayoutGravity

int

设置登录按钮布局对齐方式,只支持Gravity.CENTER_HORIZONTAL、Gravity.LEFT、Gravity.RIGHT三种对齐方式

setLogBtnTextSizeDp

int

设置登录按钮文字大小(单位:db,字体大小不随系统变化)

setLogBtnBackgroundDrawable

Drawable

设置登录按钮背景图片的路径

setLoadingImgDrawable

Drawable

设置登录loading dialog背景图片的路径

6.2.6 授权页隐私栏

方法

参数类型

说明

setAppPrivacyOne

String,String

设置开发者隐私条款 1 名称和URL(名称,url)

setAppPrivacyTwo

String,String

设置开发者隐私条款 2 名称和URL(名称,url)

setAppPrivacyColor

int,int

设置隐私条款名称颜色(基础文字颜色,协议文字颜色)

setPrivacyOffsetY

int

设置隐私条款相对导航栏顶部的位移,单位dp

setPrivacyOffsetY_B

int

设置隐私条款相对底部的位移,单位dp

setPrivacyState

boolean

设置隐私条款是否默认勾选

setProtocolGravity

int

设置隐私条款文字对齐方式,单位Gravity.xxx

setPrivacyTextSize

int

设置隐私条款文字大小,单位sp

setPrivacyMargin

int

设置隐私条款距离手机左右边缘的边距,单位dp

setPrivacyBefore

String

设置开发者隐私条款前置自定义文案

setPrivacyEnd

String

设置开发者隐私条款尾部自定义文案

setCheckboxHidden

boolean

设置复选框是否隐藏

setUncheckedImgPath

String

设置复选框未选中时图片

setCheckedImgPath

String

设置复选框选中时图片

setVendorPrivacyPrefix

String

设置运营商协议前缀符号,只能设置一个字符,且只能设置<>()《》【】『』[]()中的一个

setVendorPrivacySuffix

String

设置运营商协议后缀符号,只能设置一个字符,且只能设置<>()《》【】『』[]()中的一个

setProtocolLayoutGravity

int

设置隐私栏的布局对齐方式,该接口控制了整个隐私栏(包含checkbox)在其父布局中的对齐方式,而setProtocolGravity控制的是隐私协议文字内容在文本框中的对齐方式

setPrivacyOffsetX

int

设置隐私栏X轴偏移量,单位dp

setLogBtnToastHidden

boolean

设置checkbox未勾选时,点击登录按钮toast是否显示

setPrivacyTextSizeDp

int

设置隐私条款文字大小(单位:dp,字体大小不随系统变化)

setUncheckedImgDrawable

Drawable

设置复选框未选中时的图片

setCheckedImgDrawable

Drawable

设置复选框选中时的图片

6.2.7 切换方式控件

方法

参数类型

说明

setSwitchAccHidden

boolean

设置切换按钮点是否可见

setSwitchAccText

String

设置切换按钮文字内容

setSwitchAccTextColor

int

设置切换按钮文字颜色

setSwitchAccTextSize

int

设置切换按钮文字大小

setSwitchOffsetY

int

设置换按钮相对导航栏顶部的位移,单位 dp

setSwitchOffsetY_B

int

设置换按钮相对底部的位移,单位 dp

setSwitchAccTextSizeDp

int

设置切换按钮文字大小(单位:dp,字体大小不随系统变化)

6.2.8 页面相关函数

方法

参数类型

说明

setAuthPageActIn

String

设置授权页进场动画

setAuthPageActOut

String

设置授权页退出动画

setScreenOrientation

int

设置屏幕方向,取值为ActivityInfo中的屏幕方向常量值,比如 ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

setPageBackgroundPath

String

设置授权页背景图 drawable资源的目录,不需要加后缀,比如图片在drawable中的存放目录是res/drawable-xxhdpi/loading.png,则传入参数为”loading”,setPageBackgroundPath(“loading”)

setDialogWidth

int

设置弹窗模式授权页宽度,单位dp,设置大于0即为弹窗模式

setDialogHeight

int

设置弹窗模式授权页高度,单位dp,设置大于0即为弹窗模式

setDialogOffsetX

int

设置弹窗模式授权页X轴偏移,单位dp

setDialogOffsetY

int

设置弹窗模式授权页Y轴偏移,单位dp

setTapAuthPageMaskClosePage

boolean

设置授权页弹窗模式,点击非弹窗区域关闭授权页。

  • true:关闭。

  • false:不关闭

setDialogBottom

boolean

设置授权页是否居于底部

setPageBackgroundDrawable

Drawable

设置授权页背景图

setProtocolAction

String

自定义协议页跳转Action

setPackageName

String

配置自定义协议页跳转Action必须配置这个属性,值为App的包名

6.2.9 配置二次授权弹窗页面

方法

参数类型

说明

privacyAlertIsNeedShow

boolean

设置二次隐私协议弹窗是否需要显示。取值:

  • true:表示显示。

  • false(默认值):表示不显示。

说明针对弹窗形式的授权页暂时不支持二次授权弹窗页面。

privacyAlertIsNeedAutoLogin

boolean

设置二次隐私协议弹窗点击按钮是否需要执行登录。取值:

  • true(默认值):表示需要执行。

  • false:表示不需要执行。

privacyAlertMaskIsNeedShow

boolean

设置二次隐私协议弹窗背景蒙层是否显示。

  • true(默认值):表示显示。

  • false:表示不显示。

privacyAlertMaskAlpha

float

设置二次隐私协议弹窗蒙层透明度。默认值0.3。

说明取值范围0.3~1.0。

privacyAlertAlpha

float

设置二次隐私协议弹窗透明度。默认值1.0。

说明取值范围0.3~1.0。

privacyAlertBackgroundColor

int

设置二次隐私协议弹窗背景色(同意并继续按钮区域)。

privacyAlertEntryAnimation

String

设置二次隐私协议弹窗显示自定义动画。

privacyAlertExitAnimation

String

设置二次隐私协议弹窗隐藏自定义动画。

privacyAlertCornerRadiusArray

int[]

设置二次隐私协议弹窗的四个圆角值。

说明顺序为左上、右上、右下、左下,需要填充4个值,不足4个值则无效,如果值小于等于0则为直角。

privacyAlertAlignment

int

设置屏幕居中、居上、居下、居左、居右,默认居中显示。

privacyAlertWidth

int

设置弹窗宽度。

privacyAlertHeight

int

设置弹窗高度。

privacyAlertOffsetX

int

设置弹窗水平偏移量。(单位:dp)

privacyAlertOffsetY

int

设置弹窗竖直偏移量。(单位:dp)

privacyAlertTitleBackgroundColor

int

设置二次隐私协议弹窗标题背景颜色。

privacyAlertTitleAlignment

int

设置二次隐私协议弹窗标题支持居中、居左,默认居中显示。

privacyAlertTitleOffsetX

int

设置标题文字水平偏移量。(单位:dp)

privacyAlertTitleOffsetY

int

设置标题文字竖直偏移量。(单位:dp)

privacyAlertTitleTextSize

int

设置标题文字大小,默认值18 sp。

privacyAlertTitleColor

int

设置标题文字颜色。

privacyAlertContentBackgroundColor

int

设置协议内容背景颜色。

privacyAlertContentTextSize

int

设置服务协议文字大小,默认值16 sp。

privacyAlertContentAlignment

int

设置二次隐私协议弹窗协议文案支持居中、居左,默认居左显示。

privacyAlertContentColor

int

设置服务协议文字颜色。

privacyAlertContentBaseColor

int

设置服务协议非协议文字颜色。

privacyAlertContentHorizontalMargin

int

设置服务协议左右两侧间距。

privacyAlertContentVerticalMargin

int

设置服务协议上下间距。

privacyAlertBtnBackgroundImgPath

String

设置按钮背景图片路径。

privacyAlertBtnBackgroundImgDrawable

Drawable

设置按钮背景图片对象。

privacyAlertBtnTextColor

int

设置按钮文字颜色。

privacyAlertBtnTextColorPath

String

设置按钮文字颜色路径。

privacyAlertBtnTextSize

int

设置按钮文字大小,默认值18 sp。

privacyAlertBtnWidth

int

设置按钮宽度。(单位:dp)

privacyAlertBtnHeigth

int

设置按钮高度。(单位:dp)

privacyAlertCloseBtnShow

boolean

设置右上角的关闭按钮。

  • true(默认值):显示关闭按钮。

  • false:不显示关闭按钮。

privacyAlertCloseImagPath

String

关闭按钮图片路径。

privacyAlertCloseScaleType

ImageView.ScaleType

关闭按钮缩放类型。

privacyAlertCloseImagDrawable

Drawable

关闭按钮图片。

privacyAlertCloseImgWidth

int

关闭按钮宽度。(单位:dp)

privacyAlertCloseImgHeight

int

关闭按钮高度。(单位:dp)

privacyAlertBtnGrivaty

int[]

设置确认按钮布局方式。

privacyAlertBtnContent

int

设置确认按钮文本。

privacyAlertBtnOffsetX

int

设置二次弹窗确定按钮横向坐标。

说明

privacyAlertBtnOffsetX属性优先级高于privacyAlertBtnGrivaty、privacyAlertBtnHorizontalMargin。

privacyAlertBtnOffsetY

int

设置二次弹窗确定按钮纵向坐标。

说明

privacyAlertBtnOffsetY属性优先级高于privacyAlertBtnGrivaty、privacyAlertBtnVerticalMargin。

privacyAlertBtnHorizontalMargin

int

设置确认按钮的横向边距。

privacyAlertBtnVerticalMargin

int

设置确认按钮的纵向边距。

tapPrivacyAlertMaskCloseAlert

boolean

设置二次隐私协议弹窗点击背景蒙层是否关闭弹窗。

  • true(默认值):表示关闭。

  • false:表示不关闭。

usePrivacyAlertTitleFontAndPath

boolean,String

设置二次弹窗title文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。

  • true:使用自定义字体。

  • false:不使用自定义字体。

setPrivacyAlertTitleTypeface

Typeface

设置二次弹窗title文本使用系统字体。

参数包含:Typeface.SANS_SERIF、Typeface.SERIF、Typeface.MONOSPACE。

usePrivacyAlertContentFontAndPath

boolean,String

设置二次弹窗协议文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。

  • true:使用自定义字体。

  • false:不使用自定义字体。

setPrivacyAlertContentTypeface

Typeface

设置二次弹窗协议文本使用系统字体。

参数包含:Typeface.SANS_SERIF、Typeface.SERIF、Typeface.MONOSPACE。

usePrivacyAlertBtnFontAndPath

boolean,String

设置二次弹窗确认按钮文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。

  • true:使用自定义字体。

  • false:不使用自定义字体。

setPrivacyAlertBtnTypeface

Typeface

设置二次弹窗确认按钮文本使用系统字体。

参数包含:Typeface.SANS_SERIF、Typeface.SERIF、Typeface.MONOSPACE。

setPrivacyAlertBefore

String

二次弹窗协议前缀。

setPrivacyAlertEnd

String

二次弹窗协议后缀。

setPrivacyAlertOneColor

int

设置授权页协议1文本颜色。

setPrivacyAlertTwoColor

int

设置授权页协议2文本颜色。

setPrivacyAlertThreeColor

int

设置授权页协议3文本颜色。

setPrivacyAlertOperatorColor

int

设置授权页运营商协议文本颜色。

6.3 关闭接口说明

如希望关闭设备ID采集,请参照以下方式

// IMSI采集开关接口
// 参数flag: true-允许采集IMSI;false-不允许采集IMSI
public static void enableImsiCollection(boolean flag);

// ICCID采集开关接口
// 参数flag: true-允许采集ICCID;false-不允许采集ICCID
public static void enableIccidCollection(boolean flag);

// IMEI采集开关接口
// 参数flag: true-允许采集IMEI;false-不允许采集IMEI
public static void enableImeiCollection(boolean flag);