一键登录集成文档
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目录下。强依赖包:
umeng-uverify-2...aar
umeng-common-9...jar
umeng-asms-armeabi-v1...aar
umeng-logger-2.x.x.aar
umeng-main-2.x.x.aar
以及动态引入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方法说明

6.1授权页面示例图
一键登录页面

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

页面说明如下:
序号 | 描述 |
① | 状态栏 |
② | 标题栏 |
③ | Logo区 |
④ | Slogan |
⑤ | 掩码区 |
⑥ | 登录按钮 |
⑦ | 切换到其他方式 |
⑧ | 自定义控件区 |
⑨ | 协议区 |
二次授权弹窗页面

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图片缩放模式。模式类型:
|
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 | 设置授权页弹窗模式,点击非弹窗区域关闭授权页。
|
setDialogBottom | boolean | 设置授权页是否居于底部 |
setPageBackgroundDrawable | Drawable | 设置授权页背景图 |
setProtocolAction | String | 自定义协议页跳转Action |
setPackageName | String | 配置自定义协议页跳转Action必须配置这个属性,值为App的包名 |
6.2.9 配置二次授权弹窗页面
方法 | 参数类型 | 说明 |
privacyAlertIsNeedShow | boolean | 设置二次隐私协议弹窗是否需要显示。取值:
说明针对弹窗形式的授权页暂时不支持二次授权弹窗页面。 |
privacyAlertIsNeedAutoLogin | boolean | 设置二次隐私协议弹窗点击按钮是否需要执行登录。取值:
|
privacyAlertMaskIsNeedShow | boolean | 设置二次隐私协议弹窗背景蒙层是否显示。
|
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 | 设置右上角的关闭按钮。
|
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 | 设置二次隐私协议弹窗点击背景蒙层是否关闭弹窗。
|
usePrivacyAlertTitleFontAndPath | boolean,String | 设置二次弹窗title文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。
|
setPrivacyAlertTitleTypeface | Typeface | 设置二次弹窗title文本使用系统字体。 参数包含:Typeface.SANS_SERIF、Typeface.SERIF、Typeface.MONOSPACE。 |
usePrivacyAlertContentFontAndPath | boolean,String | 设置二次弹窗协议文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。
|
setPrivacyAlertContentTypeface | Typeface | 设置二次弹窗协议文本使用系统字体。 参数包含:Typeface.SANS_SERIF、Typeface.SERIF、Typeface.MONOSPACE。 |
usePrivacyAlertBtnFontAndPath | boolean,String | 设置二次弹窗确认按钮文本是否使用自定义字体。自定义字体名称,包含字体格式,如xxx.ttf,文件需放置在assets下。
|
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);