本文为您介绍了不同功能下使用SDK的常见问题及解决方法。
一键登录和本机号码校验
- Android客户端接入FAQ:
1. 首次取号时,App网络通信正常,但号码认证一直失败的原因?
- 检测SIM卡是否欠费,能否通过移动数据上网。
- Android国内某些厂商的系统,Wi-Fi网络权限与移动数据网络权限是分开管理的,检查App是否仅仅只有WLAN网络权限,而缺失移动数据网络权限。
2. checkEnvAvailable函数返回false?- 检查是否插入SIM卡。
- 检查是否开启移动数据。
3. Android双卡手机一键登录过程中,使用哪张移动数据卡进行认证?
使用默认移动数据卡进行一键登录认证。
4、若终端使用的是中国联通SIM卡的5G移动数据,导致一键登录获取本机号码失败,其解决方法是什么?
您可在networkSecurityConfig清单文件中配置联通域名
enrichgw.10010.com
解决此问题。 - iOS客户端接入FAQ:
1. 初始化接口checkEnvAvailableWithComplete一直返回NO?
您可根据该顺序进行排查:- 手机SIM卡是否处于已激活、不欠费的状态。
- 手机SIM卡的移动数据是否开启。
- App的网络权限是否开启。
- 设备是否有代理。当您开启VPN,再进行一键登录操作时,中国联通号码会出现源IP错误、中国电信号码会出现800008错误、中国移动号码会出现103111错误,请关闭VPN之后或者打开飞行模式再关闭之后进行重试。
- 云控制台上是否创建了方案号。
- 创建方案号中的BundleID是否与项目中使用的保持一致。
- 设备时间设置是否标准,不能修改手机时间戳提前或延期。
- 是否调用了setAuthSDKInfo接口。
2. 移动卡出现crash【[UAReachability reachableType]: unrecognized selector sent to instance】,该怎样解决?
在主工程中单击Project,选择 ,添加-all_load和-ObjC。3. 登录Token存在失败吗?
存在。- 偶然出现:由于网络波动导致网关断开、网络不可用、供应商服务端异常、业务方服务端异常等因素。
- 持续出现:需要运营商协助排查来解决问题。
4. 一键登录服务一般是4G或者4G+Wi-Fi情况下,如果使用3G或2G的网络会怎么样?
2G和3G网络下接口请求失败或超时概率较高。三大运营商支持的网络环境,详情请参见支持哪些网络环境?。
5. 经常超时怎么办?
首先确保您的SIM卡没欠费,其次通过Safari打开某个网址来确认移动网络是否正常,最后确认超时时间(单位:s)是否设置正确。检查无误后超时的原因可能为:- 2G和3G网络下接口请求失败或超时概率较高。
- 切换网络过程中网络不稳定,出现超时的概率较大。
- H5本机号码校验FAQ
为什么使用中国联通4G网络,依然获取不到本机号码校验Token?
原因有以下几种:- 使用了物联网卡。物联网卡通过装置在各类物体上的SIM卡、传感器、二维码等,经过接口与无线网络连接,可以实现人与物体、物体与物体间的沟通和对话。
- 中国联通不支持接入点为wap的网络取号。
- UC和QQ浏览器开启免流模式可能会导致取号不成功。
活体认证
- Android客户端接入FAQ
1. checkEnvAvailable函数返回false的原因?
- 检查是否有插入SIM卡。
- 检测是否已开启移动网络。
2. 开通了活体认证,密钥发生更换,对历史版本的App是否会有影响?- Android:若密钥保存在App客户端,则不会有影响;若旧版本的App密钥是保存在服务端的,则更新密钥时需要区分新旧版本,否则会有影响。要保证旧SDK拿到的是旧密钥,新SDK拿到的是新密钥。新旧密钥及版本的划分,详情请参见SDK与密钥说明。
- iOS:无影响。
- iOS客户端接入FAQ
集成SDK后真机运行为什么会出现Unable to install "xxxx"?
在菜单栏上单击TARGET,选择 ,勾选Copy only when installing可解决该问题。
SDK公共问题
1. 若出现权限相关问题,该怎样做?
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.CHANGE_NETWORK_STATE" />
- 手机设置检测网络,三大运营商网络在4G网络成功率较高。
- 接口超时时间是否过短,建议3000 ms~5000 ms。
- 检测SIM卡是否欠费。
- 检查网络设置,是否可以移动数据网络上网。
- 在切换SIM卡过程中,需要等网络稳定后,再使用认证登录功能。
- ⼿机⽹络是否连接了代理。
- ⼿机是否处于hook状态,或者安装了相关的hook框架。
- App是否处于attached状态。
- ⼿机是否被root。
- 是否在模拟器环境中运⾏。
- App是否处于调试状态,使⽤getReporter.setLoggerEnable(true)可以关闭此项检测。
- Toast内存泄漏
- 协议没勾选点击⼀键登录按钮显示Toast,退出授权⻚⻚出现内存泄漏。解决办法是
AuthUIConfig.setLogBtnToastHidden(true)
隐藏默认Toast,根据点击事件的code⾃⼰显示Toast即可。 - ⻚⾯⾮法修改,当授权⻚号码栏、⼀键登录Button、协议栏出现重叠或者遮挡时点击⼀键登录按钮,显示Toast⻚⾯⾮法修改,可通过查看图层解决重叠问题。
- 协议没勾选点击⼀键登录按钮显示Toast,退出授权⻚⻚出现内存泄漏。解决办法是
- TokenResultListener内存泄漏
SDK内部会持有外部设置进来的TokenResultListener,在⼀键登录功能使⽤完毕之后通过
PhoneNumberAuthHelper.setAuthListener(null)
将回调置空即可。
5. setSDKAuthSDKInfo的密钥如何获取?
6. 什么情况下会返回600005页面非法修改?
添加悬浮窗控件遮挡隐私协议、一键登录按钮以及掩码,或将字体颜色设置为透明,SDK会回调600005页面非法修改。
报错日志 | 解决方法 |
---|---|
ontokenfaild{"code":"600011","msg":"vendorCode:200025, msg:获得的手机授权码失败:{\"resultCode\":\"200025\",\"authType\":\"1\",\"authTypeDes\":\"WIFI下网关鉴权\",\"resultDesc\":\"发生未知错误\"}","requestCode":0,"vendorName":"CMCC"} | 请检查依赖v4包com.android.support:support-v4版本是否高于25.4.0或者v7包com.android.support:appcompat-v7版本是否高于25.4.0。 |
ontokenfaild{"code":"600011","msg":"vendorCode:200028, msg:获得的手机授权码失败:{\"resultCode\":\"200028\",\"authType\":\"1\",\"authTypeDes\":\"网络鉴权\",\"resultDesc\":\"网络异常\"}","requestCode":0,"vendorName":"CMCC"} | 请检查清单文件application标签下是否配置了android:usesCleartextTraffic="true"、android:networkSecurityConfig文件。如果设置了networkSecurityConfig文件,请在networkSecurityConfig文件里面配置。
|