You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何通过自定义域名使用Firebase HttpsCallable调用云函数?

用自定义域名通过HttpsCallable调用Firebase云函数(Flutter)

步骤1:确认自定义域名绑定状态

  • 先在Firebase控制台的「云函数」→「自定义域名」页面,确认域名已完成绑定,SSL证书生效,直接访问https://你的自定义域名/FunctionName能正常返回函数响应。
  • 注意:自定义域名绑定的是整个云函数服务,所有部署的函数都会通过该域名暴露。

步骤2:在Flutter中配置自定义域名

默认FirebaseFunctions.instance会使用Firebase默认域名,需手动指定自定义域名,有两种配置方式:

方式一:全局配置(所有Callable共用)

在Firebase初始化完成后,添加域名配置:

// 初始化Firebase(已有的代码)
await Firebase.initializeApp();

// 配置自定义域名(上线时使用)
FirebaseFunctions.instance.useFunctionsDomain('https://your-custom-domain.com');

// 本地开发用模拟器时,替换成下面的代码(注释掉上面的useFunctionsDomain)
// FirebaseFunctions.instance.useFunctionsEmulator('localhost', 5001);

之后调用函数的代码保持不变:

final result = await FirebaseFunctions.instance.httpsCallable('FunctionName').call();

方式二:单个Callable单独配置

如果只需要特定函数使用自定义域名,可以单独创建Functions实例:

// 创建指定域名的Functions实例
final customFunctions = FirebaseFunctions.instanceFor(
  app: Firebase.app(),
  region: 'us-central1', // 必须和云函数部署的区域一致
)..useFunctionsDomain('https://your-custom-domain.com');

// 用该实例调用函数
final result = await customFunctions.httpsCallable('FunctionName').call();

关键注意事项

  • 确保自定义域名绑定的区域和云函数部署区域完全一致(比如云函数部署在us-central1,域名也要绑定到该区域的云函数)
  • 检查firebase_functions包版本,确保是0.9.0及以上版本(该版本开始支持useFunctionsDomain方法)
  • Web端需额外配置云函数的CORS规则,允许自定义域名的请求;移动端无需额外配置CORS

内容的提问来源于stack exchange,提问作者medo Ha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:36:11