11月4日在HDC大会(华为开发者大会2022)推出一套覆盖应用设计、开发、测试、上架、运营全生命周期的七大鸿蒙开发套件“金字塔”,本次分享内容围绕处于“塔尖”位置的一站式鸿蒙应用及原子化服务运营平台AGC(AppGallery Connect,华为应用市场)展开。
1、认识AGC
AGC是华为整合内部各项优秀服务,并将在全球化、质量、安全、工程管理等领域长期积累的能力开放给开发者,其致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,为构建全场景智慧化应用赋能。应用程序集成AGC服务,可大幅降低应用开发成本,提升开发效率,提高版本质量,其开放分发和运营服务,助力应用商业化成功。
AGC提供一站式全球发布、用户精细化运营、应用高效开发、质量无忧护航四类场景解决方案,通过应用发布前云测试、云调试等服务对应用性能等方面进行检测,从而降低应用上架审核驳回率。从2019年5月华为推出首个AGC版本至今,AGC从最初仅支持Android应用到目前支持Android、IOS、Web、小程序/小游戏、快应用,HarmonyOS应用,其在不断迭代中壮大。
随着后端架构不断演进,从初始的单体架构到微服务架构,再到当前新型的Serverless架构,AGC以Serverless为基座,搭配云端开发,实现云端一体化能力,让开发者成为全栈工程师,端开发者可以通过集成云端库并编写少量代码即可实现业务模块,不需要关注底层业务逻辑,如系统版本、环境搭建等。
2021年9月28日发布了支持HarmonyOS应用程序的AGC SDK,从1.1到1.3三个版本的不断演进过程中,对于五大服务体系支持的越来越完整,当前支持认证服务、云函数、云数据库、应用内消息、远程配置、崩溃及App Linking。
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有两种,一种是接口方式,一种是弹窗方式。打开鸿蒙生态开发资源包DevEco Marketplace,切换到应用及服务组件页签中,在搜索框中输入agconnect-auth,其中agconnect-auth是接口类型的,而agconnect-auth-component是为ArkUI提供的自定义弹窗库。
(1)创建OH应用程序
打开DevEco Studio开发工具,创建名称和包名均与AGC添加应用时名称和包名一致的OH应用,此处选择OH模板选择Empty Ability空模板。
(2)引入AGC认证服务SDK依赖包
- 通过npm方式引入依赖。
- 明确依赖包版本则直接在package.json配置文件中dependencies中引入依赖包。
(3)引入SDK配置文件
在AGC项目设置常规页签中,下载应用栏中的agconnect-services.json配置文件,并拷贝到项目AppScope/resources/rawfile/目录下。
(4)实现登录业务
- 在页面引入登录组件。
- 点击按钮弹窗登录框进行登录。
使用场景如不需要直接登录即可浏览的App,都可在需要用户登录状态处进行弹窗登录。如商品订单支付功能需要用户登录后获取用户收货地址,此处即可在下单时判断用户登录状态是否需要弹出登录框。
- 权限
使用AGC认证服务需要网络支撑,因此需要在module.json5配置文件中添加网络权限。
- 运行设备
可以在entry模块的build-profile.json5配置文件中更改其name属性为default的runtimeOS(运行系统)为HarmonyOS即可在HarmonyOS 3.1系统的设备上运行。
(5)运行效果
最终运行效果参见OpenHarmony应用集成AGC认证服务实现登录演示
4、运行Demo
文章相关附件可以点击下面的原文链接前往下载
https://ost.51cto.com/resource/2441。
https://ost.51cto.com/resource/2442。