如何在 Flutter 中整合華為雲函式服務

華為開發者論壇發表於2022-02-21

介紹

雲函式是一項 Serverless 計算服務,提供 FaaS(Function as a Service)能力,可以幫助開發者大幅簡化應用開發與運維相關事務,降低應用功能的實現門檻,快速構建業務能力。下面將介紹如何在 Flutter 框架下整合雲函式。

整合步驟

1. 安裝 flutter 環境

a) 下載 Flutter sdk 包,地址:https://flutter.dev/docs/get-started/install/windows

將壓縮包解壓到任意資料夾

b) 將 flutter 命令檔案新增到環境變數中

c) 在 Android Studio 中下載 Flutter 和 Dart 外掛

2. 開通服務&建立工程

a) 在 AGC 建立 Android 應用並開通雲函式

b) 在雲函式中建立我們需要的函式,具體步驟可以參考官方文件:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudfunction-config-0000001058511532

c) 函式建立完成後我們需要建立觸發器,端側觸發我們需要建立 HTTP 觸發器,具體操作方法請參考官方文件:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudfunction-httptrigger-0000001126992899

d) 在 Android Studio 中新建 Flutter 工程

e) 將 agconnect-services.json 檔案放入 Android/app 目錄下

f) 配置 Maven 倉地址和 AGC 外掛地址。

  1. 開啟 Flutter 專案 android 資料夾下的 build.gradle 檔案。
  2. 在 allprojects -> repositories 裡面配置 maven 倉地址。
  3. 在 buildscript ->repositories 中配置 maven 倉地址。
  4. 在 buildscript ->dependencies 中配置 AppGallery Connect 外掛地址。

3. 新增編譯依賴和 AGC 外掛地址。

a) 開啟 Flutter 專案 android/app 資料夾下的 build.gradle 檔案。

b) 在檔案中新增如下配置。

4. 整合 SDK

在 pubspec.yaml 檔案中新增遠端配置的 pub 依賴

然後點選 Pub get 進行同步

5. 基本功能

雲函式的功能其實很簡單,在我們在端側所需要做的就是呼叫雲端的函式,但是呼叫氛圍一下幾個步驟

a) 我們需要建立一個 FunctionCallable 示例,將我們建立觸發器時的觸發器標識傳入

FunctionCallable functionCallable = FunctionCallable("test-\$latest");

b) 函式的入參我們需要通過 map 的格式來傳入

Map<String, dynamic> parameters = <String, dynamic> {
    'year': _functionTextController.text
};

c) 最後我們通過 call 方法將入參傳入後呼叫雲端函式

FunctionResult functionResult = await functionCallable.call(parameters);

通過 FunctionResult,我們就可以獲取到函式的返回。

總結

華為 AGC 雲函式支援將一些比較複雜或者同樣的計算過程在雲上部署,客戶端通過 SDK 的呼叫便可得到您想要的計算結果,為開發者節省了大量和開發成本和便利。

相關文章