介绍
云函数是一项 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 插件地址。
- 打开 Flutter 项目 android 文件夹下的 build.gradle 文件。
- 在 allprojects -> repositories 里面配置 maven 仓地址。
- 在 buildscript ->repositories 中配置 maven 仓地址。
- 在 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 parameters = {
'year': _functionTextController.text
};
c) 最后我们通过 call 方法将入参传入后调用云端函数
FunctionResult functionResult = await functionCallable.call(parameters);
通过 FunctionResult,我们就可以获取到函数的返回。
总结
华为 AGC 云函数支持将一些比较复杂或者同样的计算过程在云上部署,客户端通过 SDK 的调用便可得到您想要的计算结果,为开发者节省了大量和开发成本和便利。