碰一碰,鴻蒙原子化服務(wù)實(shí)戰(zhàn)
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
目標(biāo)
通過(guò)鴻蒙手機(jī)與NFC標(biāo)簽碰一碰喚起原子化服務(wù),即一個(gè)相關(guān)的FA。
運(yùn)行效果
我們先看下最終的運(yùn)行效果

前置條件
1、申請(qǐng)華為開發(fā)者賬號(hào),并實(shí)名認(rèn)證,如果你還沒(méi)有華為賬號(hào),可以到[華為開發(fā)者門戶注冊(cè)];(https://developer.huawei.com/consumer/cn/)
2、賬號(hào)具備發(fā)布應(yīng)用/服務(wù)到AGC(AppGallery Connect)平臺(tái)的權(quán)限;
3、賬號(hào)具備HarmonyOS服務(wù)開放平臺(tái)創(chuàng)建服務(wù)權(quán)限;
4、如果你想商用,則需要先在HarmonyOS Connect平臺(tái)(原HiLink開發(fā)者平臺(tái))注冊(cè)自己的設(shè)備并申請(qǐng)標(biāo)簽。
什么是碰一碰?
官方介紹:
碰一碰特性,是HarmonyOS具備的多終端業(yè)務(wù)協(xié)同技術(shù)。其依托NFC短距通信協(xié)議,通過(guò)碰一碰的交互方式,將手機(jī)和全場(chǎng)景設(shè)備連接起來(lái)。然后通過(guò)手機(jī)端的原子化服務(wù)能力,快速完成配網(wǎng)、遠(yuǎn)程控制的能力,解決了應(yīng)用與設(shè)備之間接續(xù)慢、配網(wǎng)復(fù)雜、傳輸難的問(wèn)題,為用戶帶來(lái)無(wú)縫切換的流暢體驗(yàn)。
關(guān)鍵字:NFC、原子化服務(wù)(免安裝)
NFC:NFC(Near Field Communication,近距離無(wú)線通信技術(shù)) 是一種非接觸式識(shí)別和互聯(lián)技術(shù),讓移動(dòng)設(shè)備、消費(fèi)類電子產(chǎn)品、PC和智能設(shè)備之間可以進(jìn)行近距離無(wú)線通信,通常的通信距離是 4 厘米或更短。有興趣可以看NFC相關(guān)介紹與開發(fā)
原子化服務(wù):原子化服務(wù)是HarmonyOS提供的一種面向未來(lái)的服務(wù)提供方式,是有獨(dú)立入口的(用戶可通過(guò)點(diǎn)擊方式直接觸發(fā))、免安裝的(無(wú)需顯式安裝,由系統(tǒng)程序框架后臺(tái)安裝后即可使用)、可為用戶提供一個(gè)或多個(gè)便捷服務(wù)的用戶應(yīng)用程序形態(tài)。有興趣可以看關(guān)于原子化服務(wù)的介紹。

碰一碰實(shí)戰(zhàn)
一、構(gòu)建原子化服務(wù)
1.1、在DevEco Studio中創(chuàng)建項(xiàng)目,選擇原子化服務(wù),啟動(dòng)“show in service center”。


1.1.1、show in service center
show in service center被勾選后IDE會(huì)自動(dòng)創(chuàng)建服務(wù)卡,關(guān)于服務(wù)卡的內(nèi)容,并不是本次介紹的重點(diǎn),如果你有興趣可以參看:服務(wù)卡片有詳細(xì)的說(shuō)明。

1.1.2、服務(wù)卡接口
服務(wù)卡片提供方控制卡片實(shí)際顯示的內(nèi)容、控件布局以及控件點(diǎn)擊事件。如果創(chuàng)建項(xiàng)目時(shí),勾選了show in service center,則可以在entry module中的MainAbility類中看到重寫的相關(guān)接口。

到目前為止你已經(jīng)構(gòu)建好了一個(gè)原子化服務(wù)項(xiàng)目,是不是很容易,你沒(méi)有寫任何一行代碼。
二、運(yùn)行原子化服務(wù)
說(shuō)明:如果你想在發(fā)布前看看你的項(xiàng)目是否能正常運(yùn)行,那么你可以進(jìn)行本地運(yùn)行,運(yùn)行調(diào)試有兩種方式:
遠(yuǎn)程模擬器調(diào)試,參看:使用模擬器進(jìn)行調(diào)試
真機(jī)調(diào)試,參看:使用真機(jī)進(jìn)行調(diào)試
在未發(fā)布之前,我們只需要先測(cè)試項(xiàng)目的功能是否正常,所以我們可以先用debug環(huán)境,目前我使用的是真機(jī)調(diào)試。
2.1、運(yùn)行:Run
說(shuō)明:運(yùn)行只要點(diǎn)擊IDE上的Run即可,我們說(shuō)說(shuō)可能遇到的問(wèn)題。
問(wèn)題1、簽名認(rèn)證問(wèn)題導(dǎo)致debug環(huán)境安裝失敗

解決方案:在IDE的File->Project Structure->Project->Signing Configs,如果你未登錄,則需要使用華為開發(fā)者賬號(hào)進(jìn)行登錄,點(diǎn)擊SignIn即可跳轉(zhuǎn)到登錄頁(yè)面。


登錄成功后,在web頁(yè)面上點(diǎn)擊“允許”,再返回IDE即可進(jìn)行簽名和認(rèn)證的相關(guān)配置。

如果你沒(méi)有設(shè)置自己的簽名可以通過(guò):“Automatically generate signing”自動(dòng)生成簽名和認(rèn)證,自動(dòng)生成的只在debug環(huán)境下使用,建議需要發(fā)布的應(yīng)用還是需要再AGC平臺(tái)上申請(qǐng)相關(guān)的證書,參看:應(yīng)用/服務(wù)發(fā)布

配置debug環(huán)境下的簽名與認(rèn)證后,可以在項(xiàng)目build.gradle的配置中查看到相關(guān)的簽名與認(rèn)證配置信息。

簽名問(wèn)題解決后再次運(yùn)行項(xiàng)目 Run,運(yùn)行成功后可以在手機(jī)端的我的服務(wù)中查看到你創(chuàng)建的服務(wù)。

這里需要你關(guān)注一點(diǎn)即前面提到的原子化服務(wù)的特性:免安裝,這個(gè)免安裝的配置在entry module下的config.json配置的字段:“installationFree”: true。

運(yùn)行起來(lái)沒(méi)問(wèn)題,現(xiàn)在可以準(zhǔn)備發(fā)布了。
備注:如果你想通過(guò)AGC平臺(tái)發(fā)布前進(jìn)行測(cè)試,可以通過(guò)華為提供的開放式測(cè)試方案進(jìn)行上架前測(cè)試驗(yàn)證,請(qǐng)參看我前面寫的一篇灰度發(fā)布的文章:鴻蒙基于開放式測(cè)試方案發(fā)布原子化服務(wù)的實(shí)戰(zhàn)。
三、發(fā)布原子化服務(wù)
3.1、配置release環(huán)境的簽名與認(rèn)證
說(shuō)明:發(fā)布之前必須要構(gòu)建release的簽名包,所以你必須需要在AGC平臺(tái)上申請(qǐng)相關(guān)發(fā)布的數(shù)字認(rèn)證和Profile文件,生成環(huán)境下的簽名與認(rèn)證的申請(qǐng)可以參看:申請(qǐng)發(fā)布證書,將申請(qǐng)到的數(shù)字認(rèn)證和Profile文件配置到本地的release環(huán)境。

3.2、構(gòu)建APP
點(diǎn)擊IDE的菜單:Build->Build Hap(s)/APP(s)->Build APP(s),構(gòu)建成功后可以在項(xiàng)目的build->outputs->app->release->xxxx-release-signed.app。


3.3、發(fā)布應(yīng)用
將已認(rèn)證簽名的app包上傳到AGC(AppGallery Connect)平臺(tái),并且通過(guò)審核,發(fā)布成功,發(fā)布流程不是本此的重點(diǎn),這里就一步帶過(guò),如果對(duì)于上架問(wèn)題,你可以參看:發(fā)布應(yīng)用。

四、申請(qǐng)NFC標(biāo)簽
4.1、編輯服務(wù)
打開需要申請(qǐng)NFC標(biāo)簽的服務(wù)(HarmonyOS服務(wù)開放平臺(tái)),點(diǎn)擊“編輯”。


4.2、申請(qǐng)支持碰一碰NFC標(biāo)簽
在HarmonyOS服務(wù)開放平臺(tái)的“分發(fā)”菜單中申請(qǐng)支持碰一碰/掃一掃觸發(fā)標(biāo)簽。
如果你想要了解NFC標(biāo)簽的詳細(xì)信息,可以參看我之前的一篇關(guān)于:鴻蒙NFC標(biāo)貼寫入數(shù)據(jù)-詳細(xì)。

最終華為提供的NFC標(biāo)簽有兩種,如下所示:
喚起服務(wù)的二維碼
喚起服務(wù)的NFC標(biāo)貼數(shù)據(jù)

4.3、服務(wù)提測(cè)
在“測(cè)試”菜單中,點(diǎn)擊“開始測(cè)試發(fā)布”

4.4、添加測(cè)試用戶
可以構(gòu)建自己下需要添加測(cè)試用戶,此用戶必須為華為注冊(cè)用戶。
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)