目标
通过鸿蒙手机与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、添加测试用户
可以构建自己下需要添加测试用户,此用户必须为华为注册用户。