尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

Uniapp——安卓Android友盟一键登录插件教程
📅 发布时间:2026/7/22 10:27:11

文章目录

    • 概要
    • 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插件教程

小结

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

相关新闻

  • Linly-Talker适合做短视频IP孵化吗?深度分析
  • Linly-Talker与Azure语音服务对接实践
  • 2025年度江苏徐州拉丁舞舞蹈培训机构Top 5榜单与深度解析 - 2025年品牌推荐榜

最新新闻

  • OBD_Test_ToolKit — 车载 UDS / OBD-II 渗透测试工具箱:12 阶段覆盖 + 自动判定 HTML 报告(Web UI + TSMaster)
  • 重磅|2026浪琴**售后网点新址公布最新专线同步开通 - 浪琴中国服务中心
  • Python + Jinja2 + WeasyPrint 实现品牌AI可见度报告自动生成:模板设计、数据聚合与PDF输出
  • 2026年国内高分子材料检测单位哪家好 ,塑料检测、橡胶检测、涂料检测、胶黏剂检测认准五大核心标准避坑省心 - 变量人生001
  • python(序列之字符串)
  • 代码大语言模型时代:程序员如何从代码生产者进化到AI协作者

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号