news 2026/5/25 16:41:34

Uniapp——安卓Android友盟一键登录插件教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Uniapp——安卓Android友盟一键登录插件教程

文章目录

    • 概要
    • 1.Android原生添加友盟SDK
    • 2.实现插件module;
    • 3.JS端使用教程
    • 技术细节
    • 小结

概要

提示:请先学习博主之前插件教程,再来学习此篇文章

地址如下:Uniapp——开发Android插件教程

1.Android原生添加友盟SDK



2.实现插件module;

提示:需要创建对应的module类

/** * 为满足工信部合规要求,请确保按照合规指南进行预初始化 * 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=newUMTokenResultListener(){}/* * 2.初始化SDK实例 */umVerifyHelper=UMVerifyHelper.getInstance(context,mTokenListener);/* * 3.设置SDK密钥 */umVerifyHelper.setAuthSDKInfo();/* * 4.检测终端网络环境是否支持一键登录或者号码认证 */umVerifyHelper.checkEnvAvailable();/* * 5.若步骤4支持,则根据业务情况,调用预取号或者一键登录接口 * 详见demo接入工程 */umVerifyHelper.getLoginToken(context,5000);

具体如何使用:
提示:

invoke调用javascript回调方法,此方法将在调用后被销毁。
invokeAndKeepAlive 调用javascript回调方法并保持回调活动以备以后使用。

publicclassOneLoginEventextendsUniModule{publicUniJSCallbackcallback;publicVerifyHelperumVerifyHelper;/// 所有的监听回调事件,都会执行publicUMTokenResultListenermTokenListener=newUMTokenResultListener(){@OverridepublicvoidonTokenSuccess(Strings){Log.e(TAG,"onTokenSuccess--"+s);if(s.code=="600024"){/** *预取号码信息,建议在 APP 登录页初始化时调用,提高后续授权页的打开速度。 *不要在 App 启动初始化时调用,避免接口调用资源浪费 *@param overdueTime 预取信息有效期 单位ms *@param listener 预取结果回调函数 */umVerifyHelper.accelerateLoginPage(5000,newUMPreLoginResultListener(){@OverridepublicvoidonPreLoginSuccess(longtime){Log.e(TAG,"onPreLoginSuccess--"+time);}@OverridepublicvoidonPreLoginFail(StringfailReason){Log.e(TAG,"onPreLoginFail--"+failReason);}});}elseif(s.code=="600000"){///说明一键登录成功Stringtoken=s.token;///将token给到JS端,根据token获取到手机号和用户信息,完成登录流程;callback.invoke(token);///关闭登录页面quitLoginPage();}}@OverridepublicvoidonTokenFail(StringfailReason){Log.e(TAG,"onTokenFail--"+failReason);}};//1.初始化SDK@UniJSMethod(uiThread=true)publicvoidinitSDK(JSONObjectoptions,UniJSCallbackcallback){Log.e(TAG,"testAsyncFunc--"+options);if(callback!=null){JSONObjectdata=newJSONObject();data.put("code","success");callback.invoke(data);}UMConfigure.preInit(this,"替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey","渠道信息");/* * 0.在Application的onCreate方法中初始化Appkey等信息 */UMConfigure.init(this,"替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey","渠道信息",UMConfigure.DEVICE_TYPE_PHONE,"");}//2.注册监听事件@UniJSMethod(uiThread=true)publicvoidregister(JSONObjectoptions,UniJSCallbackcallback){Log.e(TAG,"checkEnvAvailable--"+options);umVerifyHelper=UMVerifyHelper.getInstance(mUniSDKInstance.getContext(),mTokenListener);/** * 设置SDK密钥信息 * @param secret 密钥信息 需要从服务端获取 */umVerifyHelper.setAuthSDKInfo("替换为SDK密钥信息,服务后台位置:应用管理 -> 应用信息 -> SDK密钥");}//3.检查环境是否支持号码认证/** * SDK环境检查函数,检查终端是否支持号码认证,通过UMTokenResultListener返回code * * @param type 1:本机号码校验 2:一键登录 * 600024 终端支持认证 * 600013 系统维护,功能不可用 */@UniJSMethod(uiThread=true)publicvoidcheckEnvAvailable(JSONObjectoptions,UniJSCallbackcallback){Log.e(TAG,"checkEnvAvailable--"+options);umVerifyHelper.checkEnvAvailable(2);}//4.唤起一键登录授权页面,在用户授权后获取一键登录的 Token@UniJSMethod(uiThread=true)publicvoidgetLoginToken(JSONObjectoptions,UniJSCallbackcallback){umVerifyHelper.getLoginToken(5000);}//4.登录成功,或者登录页面关闭后,调用该接口关闭授权页面@UniJSMethod(uiThread=true)publicvoidquitLoginPage(JSONObjectoptions,UniJSCallbackcallback){umVerifyHelper.quitLoginPage();}}

3.JS端使用教程

// require插件名称constoneLoginEvent=uni.requireNativePlugin('OneLoginEvent');// 使用插件oneLoginEvent.initSDK({position:'bottom',},result=>{///响应回调});// 使用插件oneLoginEvent.register({},result=>{///响应回调,这里可以获取到来自原生SDK的code、和token;具体自行测试,if(result.code=='600000'){//是用户一键登录成功,并获取到了token//这里拿到token,调用后台接口获取用户数据; 下面需要自行实现登录逻辑}});///执行检测方法之后;会执行 register 方法里面的回调oneLoginEvent.checkEnvAvailable({},result=>{});///执行检测方法之后;会执行 唤起一键登录界面oneLoginEvent.getLoginToken({},result=>{});

技术细节

提示:请先学习博主之前插件教程,再来学习此篇文章

地址如下:Uniapp——开发Android插件教程

小结

提供先进的推理,复杂的指令,更多的创造力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 14:40:29

day39(12.20)——leetcode面试经典150

25. K 个一组翻转链表 25. K个一组翻转链表 这题有点难啊啊啊啊&#xff0c;怎么会有人能这样想到&#xff0c;这也太聪明了吧啊啊啊 题目&#xff1a; 题解&#xff1a; class Solution {public ListNode reverseKGroup(ListNode head, int k) {if (head null || k < …

作者头像 李华
网站建设 2026/5/24 6:43:31

Linly-Talker适配主流GPU型号:NVIDIA全系列支持

Linly-Talker适配主流GPU型号&#xff1a;NVIDIA全系列支持 在虚拟主播、智能客服和数字员工日益普及的今天&#xff0c;一个真正“能听、会说、有表情”的实时数字人系统&#xff0c;早已不再是科幻电影中的幻想。然而&#xff0c;构建这样一套系统并不简单——它不仅要求多个…

作者头像 李华
网站建设 2026/5/26 5:53:43

4、PowerShell深入解析:从基础到高级应用

PowerShell深入解析:从基础到高级应用 1. 别名使用与注意事项 在PowerShell中定义别名时,并非所有人都与你有相同的逻辑。若想让他人理解你的脚本,使用别名时需谨慎,避免过多使用,可考虑创建可复用的函数。创建脚本别名时,应使用易理解的名称,比如仅用两个字母的别名,…

作者头像 李华
网站建设 2026/5/26 2:24:29

4、Windows 10 使用与个性化设置全攻略

Windows 10 使用与个性化设置全攻略 1. 天气应用设置与桌面应用搜索 在 Windows 10 中,天气应用能为我们提供各地的天气情况。若要获取居住地的天气预报,可在应用中选择默认位置并输入居住地名称。若你对微软在使用天气及其他微软应用时收集个人数据的方式感兴趣,可在设置…

作者头像 李华
网站建设 2026/5/25 20:12:18

Linly-Talker可作为AI面试官原型系统使用

Linly-Talker&#xff1a;构建下一代AI面试官的完整技术路径 在招聘季的高峰期&#xff0c;HR团队常常面临一个尴尬的局面&#xff1a;成百上千份简历堆积如山&#xff0c;初筛电话打到嗓子冒烟&#xff0c;却仍难以避免因疲劳或主观偏好带来的判断偏差。与此同时&#xff0c;候…

作者头像 李华
网站建设 2026/5/26 2:22:39

14、电脑维护与文件管理全攻略

电脑维护与文件管理全攻略 在当今数字化的时代,电脑已经成为我们生活和工作中不可或缺的工具。为了确保电脑的安全、高效运行,以及方便地管理我们的文件,掌握一些关键技能是非常必要的。下面将为大家详细介绍电脑维护和文件管理的相关知识和操作方法。 一、使用Windows De…

作者头像 李华