app build.gradle添加如下
dependencies {
implementation('com.jrxj.avatar:avatarcloud:1.0.0.6')
}AvatarSelectClient.registerAvatarSelect(this, Constant.APP_ID, Constant.APP_KEY, new AvatarSelectClient.InitAvatarListener() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
}
});mAuthnHelper = AvatarGenAuthnHelper.getInstance(mContext);
AvatarGenTokenListener mListener =
new GenTokenListener() {
@Override
public void onGetTokenComplete(int SDKRequestCode, JSONObject jObj) {
if (jObj != null) {
mResultString = jObj.toString();
mHandler.sendEmptyMessage(RESULT);
if (jObj.has("token")) {
mtoken = jObj.optString("token");
}
}
};<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config><application
android:networkSecurityConfig="@xml/network_security_config"
...
/>
//创建 AuthnHelper 实例
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
......
mAuthnHelper = AvatarGenAuthnHelper.getInstance(mContext);
}
//实现取号回调
mListener = new AvatarGenTokenListener() {
@Override
public void onGetTokenComplete(int requestCode, JSONObject jObj) { ............ // 应用接收到回调后的处理逻辑
}
};
//调用取号方法
mAuthnHelper.getPhoneInfo(mListener, requestCode);| 字段 | 类型 | 含义 |
|---|---|---|
| resultCode | String | 接口返回码,“103000”为成功。 具体返回码见 SDK 返回码 |
| desc/resultString/resultDesc | String | 成功标识,true 为成功。 |
| traceId | String | 主要用于定位问题 |
mAuthnHelper.loginAuth(mListener, requestCode);
mAuthnHelper.setPageInListener(new LoginPageInListener() {
@Override
public void onLoginPageInComplete(String resultCode, JSONObject jsonObj) {
if (resultCode.equals("200087")) {
Log.d("initSDK", "page in---------------");
}
}
});| 字段 | 类型 | 含义 |
|---|---|---|
| resultCode | String | 接口返回码,“103000”为成功。 具体返回码见 SDK 返回码 |
| desc/resultString/resultDesc | String | 失败时返回:返回错误码说明 |
| authType | String | 认证类型: 0:其他;1:WiFi 下网关鉴权; 2:网关鉴权; |
| authTypeDes | String | 认证类型描述,对应 authType |
| token | String | 成功时返回:临时凭证,token 有效期 2min,一次有效;同一 用户(手机号)10 分钟内获取 token 且未使用的数量不超过 30个 |
| traceId | String | 主要用于定位问题 |
| 参数 | 类型 | 说明 |
|---|---|---|
| AuthThemeConfig | AvatarGenAuthThemeConfig | 主题配置对象,由 AvatarGenAuthThemeConfig.Builder().build()创建,开发者通过对 builder 中 调用对应的方法配置授权页中对应的元素 |
| 方法 | 说明 |
|---|---|
| setStatusBar | 设置状态栏颜色(系统版本 5.0 以上可设置)、字体颜色(系 统版本 6.0 以上可设置黑色、白色)。 |
| setNavTextColor | 设置服务条款标题字体颜色 |
| setNavColor | 设置服务条款标题颜色 |
| setNavTextSize | 设置服务条款标题字体大小 |
| setClauseLayoutResID | 设置服务条款标题布局资源文件 ID(包括返回按钮) |
| setAuthContentView | 设置授权页布局显示 View |
| setFitsSystemWindows | 开启安卓底部导航栏自适应,开启后,导航栏唤起时, 授权页面元素也会相对变化;不开启自适应,自定义 内容可以铺满全屏,设置状态栏透明后,可以达到沉 浸式显示效果。0-开启自适应,1-关闭自适应,默认 开启。 |
| setNumberColor | 设置手机号码字体颜色 |
| setNumberSize | 设置号码栏字体大小、字体粗细 |
| setNumFieldOffsetY | 设置号码栏相对于状态栏下边缘 y 偏移 |
| setNumFieldOffsetY_B | 设置号码栏相对于底部 y 偏移 |
| setNumberOffsetX | 设置号码栏相对于默认位置的 X 轴偏移量 |
| setLogBtnText | 设置登录按钮文本内容、字体颜色、字体大小、字 体粗细 |
| setLogBtnImgPath | 设置授权登录按钮图片 |
| setLogBtn | 设置登录按钮的宽高 |
| setLogBtnMargin | 设置登录按钮相对于屏幕左右边缘边距 |
| setLogBtnOffsetY | 设置登录按钮相对于状态栏下边缘 y 偏移 |
| setLogBtnOffsetY_B | 设置登录按钮相对于底部 y 偏移 |
| setLogBtnClickListener | 设置登录按钮点击监听事件 |
| setPrivacyAlignment | 设置隐私条款的协议文本,自定义条款,自定义条款链接(支持四份条款) |
| setPrivacyText | 设置隐私条款的字体大小,文本颜色,是否 居中。协议标题和其他文案可以分开设置文 本颜色 |
| setCheckBoxImgPath | 设置复选框图片 |
| setCheckTipText | 设置未勾选提示的自定义提示文案。不设置 则无提示 |
| setPrivacyOffsetY | 设置隐私条款相对于状态栏下边缘 y 偏移 |
| setPrivacyOffsetY_B | 设置隐私条款相对于底部 y 偏移 |
| setPrivacyMargin | 设置隐私条款距离手机左右边缘的边距 |
| setPrivacyState | 设置是否默认勾选复选框 |
| setPrivacyBookSymbol | 设置书名号,0=设置,1=不设置,默认设置 |
| setCheckBoxLocation | 设置复选框相对右侧协议文案居上或者居 中,默认居上。0-居上,1-居中 |
| setPrivacyAnimation | 设置协议勾选框+协议文本的抖动动画效果, 默认无抖动。 |
| setAvatarGenCheckBoxListener | 设置授权页勾选框和登录按钮的监听事件 |
| setGenCheckedChangeListener | 设置授权页勾选框是否勾选的监听事件 |
| SetWebDomStorage | 0:关闭;1:开启。默认关闭,可以通过方 法的设置来支持 dom storage。 |
| setAuthPageActIn | 设置授权页进场动画 |
| setAuthPageActOut | 设置授权页出场动画 |
| setAuthPageWindowMode | 设置授权页窗口宽高比例 弹窗模式 |
| setAuthPageWindowOffset | 设置授权页窗口 X 轴 Y 轴偏移 |
| setWindowBottom | 设置授权页是否居于底部,0=居中;1=底部,设 置为 1Y 轴的偏移失效 |
| setThemeId | 设置授权页弹窗主题,也可在 Manifest 设置 |
| setBackButton | 弹窗授权页模式下,设置物理返回键是否有效, 默认有效。true=有效,false=无效。 |
| setAvatarGenBackPressedListener | 设置授权页返回键监听事件 |
| setAvatarGenCustomInterfaceListener | 设置切换登录方式的回调 |
| setSalognText | 设置salogn 文案 |
| setLogoDrawableId | 设置 显示图标的资源id |
mAuthnHelper.quitAuthActivity()//调用本机号码校验方法
mAuthnHelper.mobileAuth(mListener, requestCode);| 字段 | 类型 | 含义 |
|---|---|---|
| resultCode | String | 接口返回码,“103000”为成功。具体响应码见 5.1 SDK 返回码 |
| authType | String | 登录类型。 |
| authTypeDes | String | 登录类型中文描述。 |
| token | String | 成功返回:临时凭证,token 有效期 2min,一次有效, 同一用户(手机号)10 分钟内获取 token 且未使用 的数量不超过 30 个 |
| traceId | String | 主要用于定位问题 |
mAuthnHelper.getNetworkType(Context context)
| 字段 | 类型 | 含义 |
|---|---|---|
| operatorType | String | 运营商类型: 1.移动流量; 2.联通流量; 3.电信流量 |
| networkType | String | 网络类型: 0.未知; 1.流量; 2.wifi;3.数据流量+wifi |
mAuthnHelper.setOverTime(8000);| 返回码 | 返回码描述 |
|---|---|
| 103000 | 成功 |
| 102101 | 无网络 |
| 102102 | 网络异常 |
| 102103 | 未开启数据网络 |
| 102203 | 输入参数错误 |
| 102223 | 数据解析异常,一般是卡欠费 |
| 102507 | 登录超时(授权页点登录按钮时) |
| 103101 | 请求签名错误(若发生在客户端,可能是 appkey 传错,可检查是否跟 appsecret 弄混,或者有空格。若发生在服务端接口,需要检查验签方 式是 MD5 还是 RSA,如果是 MD5,则排查 signType 字段,若为 appsecret,需确认是否误用了 appkey 生签。如果是 RSA,需要检查使 用的私钥跟报备的公钥是否对应和报文拼接是否符合文档要求。) |
| 103102 | 包签名错误(社区填写的 appid 和对应的包名包签名必须一致) |
| 103111 | 网关 IP 错误(检查是否开了 vpn 或者境外 ip) |
| 103119 | appid 不存在(检查传的 appid 是否正确或是否有空格) |
| 103211 | 其他错误,(常见于报文格式不对,先请检查是否符合这三个要求: a、json 形式的报文交互必须是标准的 json 格式;b、发送时请设置 content type 为 application/json;c、参数类型都是 String。如有需要请 联系 云头像平台 客服 |
| 103412 | 无效的请求(1.加密方式错误;2.非 json 格式;3.空请求等) |
| 103414 | 参数校验异常 |
| 103511 | 服务器 ip 白名单校验失败 |
| 103811 | token 为空 |
| 103902 | scrip 失效(客户端高频调用请求 token 接口) |
| 103911 | token 请求过于频繁,10 分钟内获取 token 且未使用的数量不超过 30 个 |
| 104201 | token 已失效或不存在(重复校验或失效) |
| 105001 | 联通取号失败 |
| 105002 | 移动取号失败 |
| 105003 | 电信取号失败 |
| 105012 | 不支持电信取号 |
| 105013 | 不支持联通取号 |
| 105018 | token 权限不足(使用了本机号码校验的 token 获取号码) |
| 105019 | 应用未授权(未在开发者社区勾选能力) |
| 105021 | 当天已达取号限额 |
| 105302 | appid 不在白名单 |
| 105312 | 余量不足(体验版到期或套餐用完) |
| 105313 | 非法请求 |
| 200002 | 用户未安装 sim 卡 |
| 200010 | 无法识别 sim 卡或没有 sim 卡 |
| 200023 | 请求超时 |
| 200005 | 用户未授权(READ_PHONE_STATE) |
| 200020 | 授权页关闭 |
| 200021 | 数据解析异常(一般是卡欠费) |
| 200022 | 无网络 |
| 200023 | 请求超时 |
| 200024 | 数据网络切换失败 |
| 200025 | 其他错误(socket、系统未授权数据蜂窝权限等,如需要协助,请加 入 qq 群发问) |
| 200026 | 输入参数错误 |
| 200027 | 未开启数据网络或网络不稳定 |
| 200028 | 网络异常 |
| 200038 | 异网取号网络请求失败 |
| 200039 | 异网取号网关取号失败 |
| 200040 | UI 资源加载异常 |
| 200050 | EOF 异常 |
| 200072 | CA 根证书校验失败 |
| 200080 | 本机号码校验失败(仅支持移动手机号) |
| 200082 | 服务器繁忙 |
| 200087 | 授权页成功调起 |