碰一碰,鸿蒙原子化服务实战 原创 精华

NL_AIDC_XJS
发布于 2022-1-14 18:03
浏览
5收藏

碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

目标

通过鸿蒙手机与NFC标签碰一碰唤起原子化服务,即一个相关的FA。

运行效果

我们先看下最终的运行效果
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

前置条件

1、申请华为开发者账号,并实名认证,如果你还没有华为账号,可以到[华为开发者门户注册];(https://developer.huawei.com/consumer/cn/)
2、账号具备发布应用/服务到AGC(AppGallery Connect)平台的权限;
3、账号具备HarmonyOS服务开放平台创建服务权限;
4、如果你想商用,则需要先在HarmonyOS Connect平台(原HiLink开发者平台)注册自己的设备并申请标签。

什么是碰一碰?

官方介绍
碰一碰特性,是HarmonyOS具备的多终端业务协同技术。其依托NFC短距通信协议,通过碰一碰的交互方式,将手机和全场景设备连接起来。然后通过手机端的原子化服务能力,快速完成配网、远程控制的能力,解决了应用与设备之间接续慢、配网复杂、传输难的问题,为用户带来无缝切换的流畅体验。
关键字:NFC、原子化服务(免安装)
NFC:NFC(Near Field Communication,近距离无线通信技术) 是一种非接触式识别和互联技术,让移动设备、消费类电子产品、PC和智能设备之间可以进行近距离无线通信,通常的通信距离是 4 厘米或更短。有兴趣可以看NFC相关介绍与开发
原子化服务:原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。有兴趣可以看关于原子化服务的介绍。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

碰一碰实战

一、构建原子化服务

1.1、在DevEco Studio中创建项目,选择原子化服务,启动“show in service center”。

碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

1.1.1、show in service center

show in service center被勾选后IDE会自动创建服务卡,关于服务卡的内容,并不是本次介绍的重点,如果你有兴趣可以参看:服务卡片有详细的说明。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

1.1.2、服务卡接口

服务卡片提供方控制卡片实际显示的内容、控件布局以及控件点击事件。如果创建项目时,勾选了show in service center,则可以在entry module中的MainAbility类中看到重写的相关接口。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

到目前为止你已经构建好了一个原子化服务项目,是不是很容易,你没有写任何一行代码。

二、运行原子化服务

说明:如果你想在发布前看看你的项目是否能正常运行,那么你可以进行本地运行,运行调试有两种方式:
远程模拟器调试,参看:使用模拟器进行调试
真机调试,参看:使用真机进行调试

在未发布之前,我们只需要先测试项目的功能是否正常,所以我们可以先用debug环境,目前我使用的是真机调试。

2.1、运行:Run

说明:运行只要点击IDE上的Run即可,我们说说可能遇到的问题。

问题1、签名认证问题导致debug环境安装失败

碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

解决方案:在IDE的File->Project Structure->Project->Signing Configs,如果你未登录,则需要使用华为开发者账号进行登录,点击SignIn即可跳转到登录页面。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
登录成功后,在web页面上点击“允许”,再返回IDE即可进行签名和认证的相关配置。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

如果你没有设置自己的签名可以通过:“Automatically generate signing”自动生成签名和认证,自动生成的只在debug环境下使用,建议需要发布的应用还是需要再AGC平台上申请相关的证书,参看:应用/服务发布
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

配置debug环境下的签名与认证后,可以在项目build.gradle的配置中查看到相关的签名与认证配置信息。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

签名问题解决后再次运行项目 Run,运行成功后可以在手机端的我的服务中查看到你创建的服务。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

这里需要你关注一点即前面提到的原子化服务的特性:免安装,这个免安装的配置在entry module下的config.json配置的字段:“installationFree”: true
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

运行起来没问题,现在可以准备发布了
备注:如果你想通过AGC平台发布前进行测试,可以通过华为提供的开放式测试方案进行上架前测试验证,请参看我前面写的一篇灰度发布的文章:鸿蒙基于开放式测试方案发布原子化服务的实战

三、发布原子化服务

3.1、配置release环境的签名与认证

说明:发布之前必须要构建release的签名包,所以你必须需要在AGC平台上申请相关发布的数字认证和Profile文件,生成环境下的签名与认证的申请可以参看:申请发布证书,将申请到的数字认证和Profile文件配置到本地的release环境。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

3.2、构建APP

点击IDE的菜单:Build->Build Hap(s)/APP(s)->Build APP(s),构建成功后可以在项目的build->outputs->app->release->xxxx-release-signed.app。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

3.3、发布应用

将已认证签名的app包上传到AGC(AppGallery Connect)平台,并且通过审核,发布成功,发布流程不是本此的重点,这里就一步带过,如果对于上架问题,你可以参看:发布应用
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

四、申请NFC标签

4.1、编辑服务

打开需要申请NFC标签的服务(HarmonyOS服务开放平台),点击“编辑”
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

4.2、申请支持碰一碰NFC标签

在HarmonyOS服务开放平台的“分发”菜单中申请支持碰一碰/扫一扫触发标签。
如果你想要了解NFC标签的详细信息,可以参看我之前的一篇关于:鸿蒙NFC标贴写入数据-详细
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
最终华为提供的NFC标签有两种,如下所示:

  • 唤起服务的二维码
  • 唤起服务的NFC标贴数据
    碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

4.3、服务提测

在“测试”菜单中,点击“开始测试发布”
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

4.4、添加测试用户

可以构建自己下需要添加测试用户,此用户必须为华为注册用户。
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区
碰一碰,鸿蒙原子化服务实战-鸿蒙开发者社区

感谢

如果您能看到最后,还希望您能动动手指点个赞,一个人能走多远关键在于与谁同行,我用跨越山海的一路相伴,希望得到您的点赞。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-1-14 23:51:13修改
7
收藏 5
回复
举报
2条回复
按时间正序
/
按时间倒序
wx60d98ec273f63
wx60d98ec273f63

好文,解决了一个疑惑

回复
2022-4-6 14:47:32
XY道衍
XY道衍

好文,写得明明白白,大佬

回复
2022-4-11 09:53:00
回复
    相关推荐