碰一碰,鸿蒙原子化服务实战
目标
通过鸿蒙手机与NFC标签碰一碰唤起原子化服务,即一个相关的FA。
运行效果
我们先看下最终的运行效果
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/674c239a12d6da3f66e6f7a3b3b5ce16.jpg)
前置条件
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提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。有兴趣可以看关于原子化服务的介绍。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202201/17/685f80c87acb666ca77d8e67e47f6f45.jpg)
碰一碰实战
一、构建原子化服务
1.1、在DevEco Studio中创建项目,选择原子化服务,启动“show in service center”。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202201/17/aeb2169cbd1febf449a084eeb926755c.jpg)
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202201/17/34fed884202b3025f4e97fbcc3c8738a.jpg)
1.1.1、show in service center
show in service center被勾选后IDE会自动创建服务卡,关于服务卡的内容,并不是本次介绍的重点,如果你有兴趣可以参看:服务卡片有详细的说明。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/735ba54d976861ee421544dfbe28061a.jpg)
1.1.2、服务卡接口
服务卡片提供方控制卡片实际显示的内容、控件布局以及控件点击事件。如果创建项目时,勾选了show in service center,则可以在entry module中的MainAbility类中看到重写的相关接口。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202201/17/1614e4421f117fb8818cf433abd59da4.jpg)
到目前为止你已经构建好了一个原子化服务项目,是不是很容易,你没有写任何一行代码。
二、运行原子化服务
说明:如果你想在发布前看看你的项目是否能正常运行,那么你可以进行本地运行,运行调试有两种方式:
远程模拟器调试,参看:使用模拟器进行调试
真机调试,参看:使用真机进行调试
在未发布之前,我们只需要先测试项目的功能是否正常,所以我们可以先用debug环境,目前我使用的是真机调试。
2.1、运行:Run
说明:运行只要点击IDE上的Run即可,我们说说可能遇到的问题。
问题1、签名认证问题导致debug环境安装失败
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202201/17/5d97c1dee9861c30eaa907dc7e5e3c41.jpg)
解决方案:在IDE的File->Project Structure->Project->Signing Configs,如果你未登录,则需要使用华为开发者账号进行登录,点击SignIn即可跳转到登录页面。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202201/17/0e5f1948b7a9b623bc99e382c1ff91dd.jpg)
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/78009228cb0044208d1520ddcd59895b.jpg)
登录成功后,在web页面上点击“允许”,再返回IDE即可进行签名和认证的相关配置。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/3c0440a15a402982f7d76e58b019aa62.jpg)
如果你没有设置自己的签名可以通过:“Automatically generate signing”自动生成签名和认证,自动生成的只在debug环境下使用,建议需要发布的应用还是需要再AGC平台上申请相关的证书,参看:应用/服务发布
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202201/17/ab9e272002e69349b3e49a3be0240686.jpg)
配置debug环境下的签名与认证后,可以在项目build.gradle的配置中查看到相关的签名与认证配置信息。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202201/17/6d395d8d17e01d87a6969573bd0c98b4.jpg)
签名问题解决后再次运行项目 Run,运行成功后可以在手机端的我的服务中查看到你创建的服务。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/e84c0784db20f78e8681dcb2b836b728.jpg)
这里需要你关注一点即前面提到的原子化服务的特性:免安装,这个免安装的配置在entry module下的config.json配置的字段:“installationFree”: true。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/bc0bb9b6435db26fb462b12f852bfb0d.jpg)
运行起来没问题,现在可以准备发布了。
备注:如果你想通过AGC平台发布前进行测试,可以通过华为提供的开放式测试方案进行上架前测试验证,请参看我前面写的一篇灰度发布的文章:鸿蒙基于开放式测试方案发布原子化服务的实战。
三、发布原子化服务
3.1、配置release环境的签名与认证
说明:发布之前必须要构建release的签名包,所以你必须需要在AGC平台上申请相关发布的数字认证和Profile文件,生成环境下的签名与认证的申请可以参看:申请发布证书,将申请到的数字认证和Profile文件配置到本地的release环境。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/fc161fe16cd1db4e8af10aabcaa5d203.jpg)
3.2、构建APP
点击IDE的菜单:Build->Build Hap(s)/APP(s)->Build APP(s),构建成功后可以在项目的build->outputs->app->release->xxxx-release-signed.app。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/8f54fe780e05534a376a34fe949ae50e.jpg)
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202201/17/52c448228e0f2811fdea387327189e1d.jpg)
3.3、发布应用
将已认证签名的app包上传到AGC(AppGallery Connect)平台,并且通过审核,发布成功,发布流程不是本此的重点,这里就一步带过,如果对于上架问题,你可以参看:发布应用。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/a93fab9e7b8167ed653bcc52bc1b5037.jpg)
四、申请NFC标签
4.1、编辑服务
打开需要申请NFC标签的服务(HarmonyOS服务开放平台),点击“编辑”。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/69fdc51c2adb3a845c516e74b3beb1b8.jpg)
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/dffee8cbe5f953968973742e4bff012b.jpg)
4.2、申请支持碰一碰NFC标签
在HarmonyOS服务开放平台的“分发”菜单中申请支持碰一碰/扫一扫触发标签。
如果你想要了解NFC标签的详细信息,可以参看我之前的一篇关于:鸿蒙NFC标贴写入数据-详细。
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s3.51cto.com/oss/202201/17/fa9ad36aa4258c6fcfcd2926ef83f505.jpg)
最终华为提供的NFC标签有两种,如下所示:
唤起服务的二维码
唤起服务的NFC标贴数据
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202201/17/bfd05a2e49738b6386770c607cbc1061.jpg)
4.3、服务提测
在“测试”菜单中,点击“开始测试发布”
![碰一碰,鸿蒙原子化服务实战-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202201/17/f6125e08fae4ce7b06868c5ea13c5163.jpg)
4.4、添加测试用户
可以构建自己下需要添加测试用户,此用户必须为华为注册用户。
相关文章
- 如何测量代码运行时间
- 如何使用Emscripten将C代码编译成WebAssembly?
- Typescript 类型的本质是什么
- HarmonyOS LYEVK-3861开发板播放《蜜雪冰城》
- 微软、浙大研究者提出剪枝框架OTO,无需微调即可获得轻量级架构
- 双重检查锁,原来是这样演变来的,你了解吗
- 程序员提高阅读代码能力的几个方法
- React vs Svelte:虚拟和真实DOM之间的战争
- 皮克斯华人CG老鸟深圳创业!低代码实现好莱坞大片特效
- 一道简单题看 y 总 C++ 代码风格优于我自己的地方
- Nacos Client服务订阅之事件机制剖析
- 聊聊内存中的Slice操作
- 七夕都怎么找和女神的最近距离?
- 聊聊ReentrantLock 中的四个坑!
- 微服务架构中必须知道的几个名词
- 10秒!GitHub工程团队转移到Codespaces,开发环境「即开即用」
- 达摩院提出目标重识别新范式,已向全球开发者开源
- 基于跨设备迁移和分布式文件能力的DistributedMail解析
- 递归函数什么时候要有返回值,什么时候没有返回值?
- Kubernetes 集群怎样优化?看看这5个维度