用途:指导在 Flutter 项目中正确调用 Firebase Cloud Functions,适用于实现可调用函数、向服务端逻辑传递结构化数据并处理返回结果、处理错误与超时重试、配置区域部署,以及用 Firebase 模拟器套件本地测试。
主要能力与用法:先执行 flutter pub add cloud_functions,并 import 'package:cloud_functions/cloud_functions.dart';在 Firebase.initializeApp() 之后使用 FirebaseFunctions.instance。区域部署可用 FirebaseFunctions.instanceFor(region: 'europe-west1')。调用时用 httpsCallable 引用函数再 call(data),数据以 Map 传入并自动序列化为 JSON,结果通过 result.data 读取并按需转换类型。认证令牌由 SDK 自动附带,不应放入参数。
错误处理:用 try-catch 捕获 FirebaseFunctionsException,按 e.code 区分 not-found、permission-denied、unavailable 等情况;对瞬时错误可实现指数退避重试,并处理网络与超时问题。
性能与测试:可通过 HttpsCallableOptions 设置 timeout,减少传输数据量、使用批量操作与客户端缓存,并考虑冷启动。本地开发用 FirebaseFunctions.instance.useFunctionsEmulator('localhost', 5001)。
限制:需先部署可调用函数才能从应用调用;建议启用 App Check 防止滥用;客户端与函数名需保持一致。资料未提供具体收费、价格与效果数据。