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