了解更多开源请访问:开源基础软件社区https://ost.51cto.com11月4日在HDC大会(华为开发者大会2022)上,一个一套覆盖应用设计、开发、测试、上线、运营全生命周期的鸿蒙开发包“金字塔”上线。一站式鸿蒙应用和原子服务运营平台AGC(AppGalleryConnect,华为应用市场)上线。1.知道AGCAGC是华为内部各种优秀服务的整合,向开发者开放在全球化、质量、安全、工程管理等领域长期积累的能力。致力于创造、开发、分发、运营,并提供运营全环节的一站式服务,赋能全场景智能应用建设。应用集成AGC服务,可以大大降低应用开发成本,提高开发效率,提升版本质量。其开放的分发和运营服务帮助应用程序成功商业化。AGC提供一站式全球发布、用户精细化运营、高效应用开发、无忧品质保障。四类场景解决方案,通过应用发布前的云测试、云调试等服务,对应用性能等方面进行测试,减少应用上架数量。审查拒绝率。自2019年5月华为推出首个AGC版本以来,AGC一开始只支持安卓应用,现在支持安卓、IOS、Web、小程序/小游戏、快应用、HarmonyOS应用。它是在不断迭代中成长起来的。随着后端架构的不断演进,从最初的单体架构到微服务架构,再到现在新的Serverless架构,AGC以Serverless为基础,配合云开发实现云集成能力,让开发人员成为全栈工程师和终端开发人员,只需集成云库,编写少量代码即可实现业务模块,无需关注系统版本、环境搭建等底层业务逻辑。2021年9月28日发布支持鸿蒙应用的AGCSDK。在从1.1版本到1.3版本的不断演进中,对五大服务系统的支持也越来越完善。目前支持认证服务、云函数、云数据库、In-AppMessages、RemoteConfig、Crash、AppLinking。HarmonyOS系统是OpenHarmony的商用版本,因此为HarmonyOS提供动力的AGC也可以集成到OpenHarmony应用程序中。接下来进入今天的主题,OH应用集成AGC认证服务实现登录。2.激活AGC服务要使OH应用正常工作,首先需要在AGC控制台项目应用中激活认证服务模块。完整的激活流程为:创建项目、创建应用、激活认证服务(1)创建在AGC控制台点击“我的项目”,打开项目创建。在AGC中,项目相当于一个文件夹,里面存放着各个系统的应用,比如Android、IOS、HarmonyOS、小程序的应用。(2)创建应用创建AGC项目后,默认会打开项目通用设置选项卡,点击选项卡中的“添加应用”即可创建应用。(3)激活认证服务展开左侧列表“Serverless”,点击“认证服务”,打开认证服务激活界面,点击页面上的“立即激活”按钮,激活认证服务功能。开通鉴权服务后,您还需要根据业务需要开启相关的登录鉴权能力。目前有手机号、邮箱、第三方授权、匿名账号和自有账号登录方式。本次以手机号为例,只需要开启手机号即可登录。3.集成AGC服务AGC提供了两种认证服务SDK,一种是接口方法,另一种是弹出方法。打开DevEcoMarketplace鸿蒙生态开发资源包,切换到应用和服务组件选项卡,在搜索框中输入agconnect-auth,其中agconnect-auth为接口类型,agconnect-auth-component为自定义接口为ArkUIPopup库提供。(1)创建OH应用打开DevEcoStudio开发工具,创建一个OH应用,名称和包名与AGC添加应用时相同。这里选择OH模板,选择EmptyAbility空模板。(2)引入AGC认证服务SDK依赖包,通过npm引入依赖。//定位到项目入口目录cdentrynpminstall--save@ohos/agconnect-auth-component指定依赖包版本,直接在package.json配置文件中的dependencies中导入依赖包。{..."dependencies":{"@ohos/agconnect-auth-component":"^1.0.0"}}(3)导入SDK配置文件在AGC项目设置的常规选项卡中,在应用程序中下载agconnectbar-services.json配置文件,复制到项目AppScope/resources/rawfile/目录下。(4)实现登录服务,在页面引入登录组件。//Login:自定义登录弹窗组件//AuthMode:登录弹窗类型(PASSWORD方式,手机号+验证码方式,邮箱+验证码方式)import{Login,AuthMode}from'@ohos/agconnect-auth-component';点击按钮弹出登录框登录。Login({modes:[AuthMode.PHONE_VERIFY_CODE],apiKey:APIKEY,clientSecret:CLIENT_SECRET,onSuccess:()=>{//登录成功后的操作}}){Text('Login').height('100%').fontSize(26).fontWeight(FontWeight.Bold)}使用场景对于无需直接登录即可浏览的应用,可以使用弹窗登录需要用户登录。如果产品订单支付功能需要用户登录获取用户收货地址,这里可以确定用户登录状态是否需要在下单时弹出登录框。权限使用AGC认证服务需要网络支持,因此需要在module.json5配置文件中添加网络权限。{"module":{..."requestPermissions":[{"name":"ohos.permission.INTERNET"}]}}运行的设备可以在入口的build-profile.json5配置文件中修改name属性模块默认的runtimeOS(操作系统)为HarmonyOS,可以运行在HarmonyOS3.1系统的设备上。{..."targets":[{"name":"default","runtimeOS":"HarmonyOS"}]}(5)运行效果最终运行效果参考OpenHarmony应用集成AGC认证服务实现登录demo4.运行Demo①将app.json5中的bundleName修改为AGC应用的包名,项目名可以默认②复制agconnect-services.json配置文件到项目/AppScope/resources/rawfile/目录③在/entry/src/main/ets/common/Constant.ts中填写APIKEY和CLIENT_SECRET。这两个值取自AGC项目设置的general选项卡下的项目信息的ApiKey和ClientSecret。④真机需要对应用进行签名。文章相关附件可点击下方原文链接下载https://ost.51cto.com/resource/2441。https://ost.51cto.com/resource/2442。了解更多开源请访问:开源基础软件社区https://ost.51cto.com