OpenHarmony應(yīng)用集成AGC認(rèn)證服務(wù)實(shí)現(xiàn)登錄
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??
11月4日在HDC大會(huì)(華為開(kāi)發(fā)者大會(huì)2022)推出一套覆蓋應(yīng)用設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、上架、運(yùn)營(yíng)全生命周期的七大鴻蒙開(kāi)發(fā)套件“金字塔”,本次分享內(nèi)容圍繞處于“塔尖”位置的一站式鴻蒙應(yīng)用及原子化服務(wù)運(yùn)營(yíng)平臺(tái)AGC(AppGallery Connect,華為應(yīng)用市場(chǎng))展開(kāi)。
1、認(rèn)識(shí)AGC
AGC是華為整合內(nèi)部各項(xiàng)優(yōu)秀服務(wù),并將在全球化、質(zhì)量、安全、工程管理等領(lǐng)域長(zhǎng)期積累的能力開(kāi)放給開(kāi)發(fā)者,其致力于為應(yīng)用的創(chuàng)意、開(kāi)發(fā)、分發(fā)、運(yùn)營(yíng)、經(jīng)營(yíng)各環(huán)節(jié)提供一站式服務(wù),為構(gòu)建全場(chǎng)景智慧化應(yīng)用賦能。應(yīng)用程序集成AGC服務(wù),可大幅降低應(yīng)用開(kāi)發(fā)成本,提升開(kāi)發(fā)效率,提高版本質(zhì)量,其開(kāi)放分發(fā)和運(yùn)營(yíng)服務(wù),助力應(yīng)用商業(yè)化成功。
AGC提供一站式全球發(fā)布、用戶(hù)精細(xì)化運(yùn)營(yíng)、應(yīng)用高效開(kāi)發(fā)、質(zhì)量無(wú)憂護(hù)航四類(lèi)場(chǎng)景解決方案,通過(guò)應(yīng)用發(fā)布前云測(cè)試、云調(diào)試等服務(wù)對(duì)應(yīng)用性能等方面進(jìn)行檢測(cè),從而降低應(yīng)用上架審核駁回率。從2019年5月華為推出首個(gè)AGC版本至今,AGC從最初僅支持Android應(yīng)用到目前支持Android、IOS、Web、小程序/小游戲、快應(yīng)用,HarmonyOS應(yīng)用,其在不斷迭代中壯大。
隨著后端架構(gòu)不斷演進(jìn),從初始的單體架構(gòu)到微服務(wù)架構(gòu),再到當(dāng)前新型的Serverless架構(gòu),AGC以Serverless為基座,搭配云端開(kāi)發(fā),實(shí)現(xiàn)云端一體化能力,讓開(kāi)發(fā)者成為全棧工程師,端開(kāi)發(fā)者可以通過(guò)集成云端庫(kù)并編寫(xiě)少量代碼即可實(shí)現(xiàn)業(yè)務(wù)模塊,不需要關(guān)注底層業(yè)務(wù)邏輯,如系統(tǒng)版本、環(huán)境搭建等。
2021年9月28日發(fā)布了支持HarmonyOS應(yīng)用程序的AGC SDK,從1.1到1.3三個(gè)版本的不斷演進(jìn)過(guò)程中,對(duì)于五大服務(wù)體系支持的越來(lái)越完整,當(dāng)前支持認(rèn)證服務(wù)、云函數(shù)、云數(shù)據(jù)庫(kù)、應(yīng)用內(nèi)消息、遠(yuǎn)程配置、崩潰及App Linking。
HarmonyOS系統(tǒng)是OpenHarmony的商用版本,因此為HarmonyOS提供支持的AGC也可以在OpenHarmony應(yīng)用程序中集成。接下來(lái)將進(jìn)入今天的主題,OH應(yīng)用集成AGC認(rèn)證服務(wù)實(shí)現(xiàn)登錄。
2、開(kāi)通AGC服務(wù)
要使OH應(yīng)用程序能夠正常使用,則需要先在??AGC控制臺(tái)??項(xiàng)目應(yīng)用中開(kāi)通認(rèn)證服務(wù)模塊,完整的開(kāi)通流程為:
- 創(chuàng)建項(xiàng)目
- 創(chuàng)建應(yīng)用
- 開(kāi)通認(rèn)證服務(wù)
(1)創(chuàng)建項(xiàng)目
在AGC控制臺(tái)點(diǎn)擊“我的項(xiàng)目”打開(kāi)項(xiàng)目創(chuàng)建,在AGC中項(xiàng)目相當(dāng)于一個(gè)文件夾,該文件夾中存儲(chǔ)各系統(tǒng)的應(yīng)用程序,如適用于Android、IOS、HarmonyOS、小程序的應(yīng)用。
(2)創(chuàng)建應(yīng)用
AGC項(xiàng)目創(chuàng)建完成后,默認(rèn)打開(kāi)項(xiàng)目常規(guī)設(shè)置頁(yè)簽,點(diǎn)擊頁(yè)簽中的“添加應(yīng)用”創(chuàng)建應(yīng)用。
(3)開(kāi)通認(rèn)證服務(wù)
展開(kāi)左側(cè)列表“Serverless”,點(diǎn)擊“認(rèn)證服務(wù)”打開(kāi)認(rèn)證服務(wù)開(kāi)通界面,點(diǎn)擊頁(yè)面中的“立即開(kāi)通”按鈕,開(kāi)通認(rèn)證服務(wù)功能。
開(kāi)通認(rèn)證服務(wù)后,還需要根據(jù)業(yè)務(wù)需要,啟用相關(guān)的登錄認(rèn)證能力,當(dāng)前提供手機(jī)號(hào)、郵箱、三方授權(quán)、匿名賬號(hào)及自有賬號(hào)的登錄方式。本次以手機(jī)號(hào)為例,只需要啟用手機(jī)號(hào)碼登錄即可。
3、集成AGC服務(wù)
AGC提供的認(rèn)證服務(wù)SDK有兩種,一種是接口方式,一種是彈窗方式。打開(kāi)鴻蒙生態(tài)開(kāi)發(fā)資源包DevEco Marketplace,切換到應(yīng)用及服務(wù)組件頁(yè)簽中,在搜索框中輸入agconnect-auth,其中agconnect-auth是接口類(lèi)型的,而agconnect-auth-component是為ArkUI提供的自定義彈窗庫(kù)。
(1)創(chuàng)建OH應(yīng)用程序
打開(kāi)DevEco Studio開(kāi)發(fā)工具,創(chuàng)建名稱(chēng)和包名均與AGC添加應(yīng)用時(shí)名稱(chēng)和包名一致的OH應(yīng)用,此處選擇OH模板選擇Empty Ability空模板。
(2)引入AGC認(rèn)證服務(wù)SDK依賴(lài)包
- 通過(guò)npm方式引入依賴(lài)。
- 明確依賴(lài)包版本則直接在package.json配置文件中dependencies中引入依賴(lài)包。
(3)引入SDK配置文件
在AGC項(xiàng)目設(shè)置常規(guī)頁(yè)簽中,下載應(yīng)用欄中的agconnect-services.json配置文件,并拷貝到項(xiàng)目AppScope/resources/rawfile/目錄下。
(4)實(shí)現(xiàn)登錄業(yè)務(wù)
- 在頁(yè)面引入登錄組件。
- 點(diǎn)擊按鈕彈窗登錄框進(jìn)行登錄。
使用場(chǎng)景如不需要直接登錄即可瀏覽的App,都可在需要用戶(hù)登錄狀態(tài)處進(jìn)行彈窗登錄。如商品訂單支付功能需要用戶(hù)登錄后獲取用戶(hù)收貨地址,此處即可在下單時(shí)判斷用戶(hù)登錄狀態(tài)是否需要彈出登錄框。
- 權(quán)限
使用AGC認(rèn)證服務(wù)需要網(wǎng)絡(luò)支撐,因此需要在module.json5配置文件中添加網(wǎng)絡(luò)權(quán)限。
- 運(yùn)行設(shè)備
可以在entry模塊的build-profile.json5配置文件中更改其name屬性為default的runtimeOS(運(yùn)行系統(tǒng))為HarmonyOS即可在HarmonyOS 3.1系統(tǒng)的設(shè)備上運(yùn)行。
(5)運(yùn)行效果
最終運(yùn)行效果參見(jiàn)??OpenHarmony應(yīng)用集成AGC認(rèn)證服務(wù)實(shí)現(xiàn)登錄演示??
4、運(yùn)行Demo
文章相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往下載
https://ost.51cto.com/resource/2441。
https://ost.51cto.com/resource/2442。
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??