本机号码一键登录!推荐 Flutter 极光认证插件 |
您所在的位置:网站首页 › ios获取本机手机号码怎么设置密码 › 本机号码一键登录!推荐 Flutter 极光认证插件 |
本机号码一键登录基本成为各个 APP 的标配了。 传统的手机验证码登录方式: 输入手机号; 前端判断手机号是否有效; 后台判断手机号是否有效; 借助第三方下发手机验证码; 前端有一个倒计时,防止验证码过期输入; 手机收到验证码; 复制粘贴输入验证码校验; 将信息发给后台接口,验证手机号和验证码是否正确,然后才是注册和登录流程,下发认证 Auth 信息。这一套流程下来足够费劲了。而上述的「本机号码一键登录」完全无感,只要一点按钮,所有操作一步到位。 今天我们来说一说如何利用「极光」做到「本机号码一键登录」的。 开通「极光认证」开通「极光认证」,需要先完成实名认证,实名认证后可以领取 1,000 次极光认证礼包。 认证成功后,填入 android 和 iOS 包名、签名等信息。 开通后,即可领取免费使用次数。 注:签名生成工具 apk 包下载链接:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk 安装极光认证插件看过之前文章的朋友应该知道我们公司的 APP 是基于 Flutter 开发的,而且用到极光的推送插件:《推荐一款 Flutter Push 推送功能插件》https://mp.weixin.qq.com/s/l0_lghnp7ECRRO9YswWWSw。 这里我们还是使用极光认证提供的 Flutter 插件,根据官方提供的安装方法有 github 源代码集成和 pub 集成,这里我推荐 pub 集成方法: dependencies: jverify: 0.6.1 插件功能有了插件,接下来就可以写功能了。先来看看插件都提供哪些功能,这里我们主要看 Flutter 插件源码, 具体包括: setup setDebugMode isInitSuccess checkVerifyEnable getToken verifyNumber loginAuth loginAuthSyncApi preLogin dismissLoginAuthView setCustomUI (注释掉了该功能) setCustomAuthViewAllWidgets clearPreLoginCache setCustomAuthorizationView极光认证提供了两个方向性的功能:验证手机号和一键登录功能,今天我们主要是用到一键登录功能,整个插件使用流程大致是这样的: 主要用到的核心功能有: setup setDebugMode isInitSuccess checkVerifyEnable preLogin setCustomAuthViewAllWidgets loginAuth每个功能都挺好理解的,可以过一遍代码。 /// 统一 key final String f_result_key = "result"; /// 错误码 final String f_code_key = "code"; /// 回调的提示信息,统一返回 flutter 为 message final String f_msg_key = "message"; /// 运营商信息 final String f_opr_key = "operator"; final Jverify jverify = new Jverify(); setup由于我的 APP 是 Flutter 一套开发的,所以在用 setup() 时带上 appKey 和 channel 属性,Android 则在配置文件中配置。 在 /android/app/build.gradle 中添加极光上创建应用的配置信息,我之前用到极光推送了,用的同一个应用。 // 注册极光认证 jverify.setup( appKey: "6592925ae1*****658473",//"你自己应用的 AppKey", channel: "devloper-default"); setDebugMode这个简单,就是是否需要 debug 模式,在开发中建议打开,你也可以创建一个全局变量,在开发中默认打开,在打包 release 模式下是关闭的,避免在 APP 开发过程和打包过程中反复去修改这个状态 jverify.setDebugMode(isDebug); // 是否打开调试模式 isInitSuccess判断 sdk 初始换是否成功: jverify.isInitSuccess().then((map) { bool result = map[f_result_key]; setState(() { if (result) { _result = "sdk 初始换成功"; }else { _result = "sdk 初始换失败"; } }); checkVerifyEna |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |