极光手机号码一键登录(必读文档)
极光认证对接前必读文档
1、调用极光SDK初始化API:init(建议用带初始化完成回调的init方法)
2、调用SDK获取初始化状态API,判断初始化是否完成
3、初始化完成的前提下,判断网络环境是否支持 checkVerifyEnable API(android) / checkVerifyEnable API(iOS)
4、在手机网络环境支持的前提下,调用一键登录预取号接口 preLogin(android)/ preLogin(iOS) 「强登录情况可不调用预取号接口,跳过此步骤」
5、在预取号成功的前提下,请求授权一键登录 loginAuth(android)/getAuthorizationWithController(iOS)
「一键登录默认超时时间10s,可以自行设置超时时间」
6、请求授权后获取到logintoken上传到服务端
7、服务端使用一键登录loginTokenVerify API接口获取加密后的手机号码
8、使用配置在极光的公钥对应的私钥自行进行解密得到明文手机号码
1.调用极光SDK初始化API:init(建议用带初始化完成回调的init方法)
2.判断初始化是否成功,在极光SDK初始化完成的前提下,判断网络环境是否支持 checkVerifyEnable API(android) / checkVerifyEnable API(iOS)
3.在网络环境成功的前提下,调用getToken接口获取号码认证token,上传到服务端
4.服务端调用Verify API验证已知的手机号码是否跟客户手机sim卡号码是否一致
「 2.5.2版本以后在OPPO设备上申请数据网络权限逻辑改为默认关闭,需用代码手动打开。(因oppo厂商是不允许第三方SDK默认获取该权限,需要开发者自行打开获取该权限),考虑到OPPO机型的一键登录调用量,强烈建议开发者增加该权限获取。 」
2.6.2及以上版本处理方法
//需要在init之前调用 try { Class loadClass= JVerificationInterface.class; Method method= loadClass.getDeclaredMethod("setControlWifiSwitch",boolean.class); method.setAccessible(true); method.invoke(loadClass,false); } catch(Throwable e) { e.printStackTrace(); } }
2.5.2到2.6.2版本处理方法
//需要在init之前调用 try { VerifySDK instance = VerifySDK.getInstance(); Class vsdk = Class.forName("cn.jiguang.verifysdk.api.VerifySDK"); Field ctrlSwitch = vsdk.getDeclaredField("controlWifiSwitch"); ctrlSwitch.setAccessible(true); ctrlSwitch.set(instance, false); } catch (Throwable throwable) { throwable.printStackTrace(); }
标签:
极光
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了