@capacitor-firebase/functions

中文文档
8.6.0发布于 2026/10/31Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4706

用于Android,iOS,和Web上的Firebase Cloud函数的电容插件.

中文使用文档
文档目录28 节
  1. 使用大小写
  2. 兼容性
  3. 指南
  4. 安装
  5. 机器人
  6. iOS系统
  7. 配置
  8. 演示
  9. 使用量
  10. 按名称调用函数
  11. 通过 URL 调用一个函数
  12. 使用云函数模拟器
  13. API 密码
  14. 调用ByName (...)
  15. 调用 ByUrl (...)
  16. 使用计算器(...)
  17. 接口
  18. 类型异名
  19. 财务问题
  20. 两者有什么区别 callByName 财务报告和审定财务报表 callByUrl ? 吗?
  21. 哪些数据类型可以传递给一个可调用函数?
  22. 我如何测试我的功能 本地?
  23. 为什么我在iOS上得到SwiftPM包身份相撞??
  24. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  25. 相关插件
  26. 通讯
  27. 更改日志
  28. 许可证

电容点云函数插件

非官方电容插件 火基地云函数[^1]

使用大小写

Firebase Cloud 函数插件一般用于从您的 Capacitor app 中运行后端逻辑,而不管理自己的服务器,例如:

  • 无服务器后端逻辑: 以名称调用可调用 Cloud 函数从您的应用程序运行可信任的服务器侧代码 .
  • 结构化数据交换: 将字符串、数字、布尔、数组和对象传递到函数并处理返回的结果.
  • 自定义域和区域: 调用被部署在特定区域或由自定义域按其URL托管的函数.
  • 地方发展: 将您的功能与 Cloud 函数模拟器进行测试,然后将其部署到生产中.

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧

指南

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-firebase/functions` plugin in my project.

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capacitor-firebase/functions
npx cap sync

如果您还没有将 Firebase 添加到您的项目中(机器人 编号 : iOS系统) (中文(简体) ).

机器人

变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $firebaseFunctionsVersion 版本 com.google.firebase:firebase-functions (默认 : 22.1.0(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

iOS系统

Swift 软件包管理器

在您的 capacitor.config.json (或 capacitor.config.ts) 避免 SwiftPM 软件包识别相撞数字 :

{
  "experimental": {
    "ios": {
      "spm": {
        "packageOptions": {
          "@capacitor-firebase/functions": {
            "symlink": true
          }
        }
      }
    }
  }
}

请注意目标 packageOptions 支持需要控制器 CLI 8.4.0+ (中文(简体) )。 。 。 .

配置

此插件不需要配置 .

演示

这里有一个实例: robingenz/电容器-火力基地-插座-demo

使用量

以下例子说明如何通过名称或URL来称呼云函数,以及如何连接到云函数模拟器.

按名称调用函数

唤作可调用云函数名. 您可以通过字符串、 数字、 布尔、 数组和对象作为数据并接收函数在 data 属性。 使用 region 选项:

import { FirebaseFunctions } from '@capacitor-firebase/functions';

const callByName = async () => {
    const { data } = await FirebaseFunctions.callByName({
        name: 'helloWorld',
        data: {
            string: 'Hello World!',
            number: 123,
            boolean: true,
            array: [1, 2, 3],
            object: {
                key: 'value'
            }
        }
    });
    return data;
};

通过 URL 调用一个函数

如果您的可调用功能被托管在一个自定义域上, 或者您更愿意直接地址, 请用其 URL 调用 :

import { FirebaseFunctions } from '@capacitor-firebase/functions';

const callByUrl = async () => {
    const { data } = await FirebaseFunctions.callByUrl({
        url: 'https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/helloWorld',
        data: {
            string: 'Hello World!',
            number: 123,
            boolean: true,
            array: [1, 2, 3],
            object: {
                key: 'value'
            }
        }
    });
    return data;
};

使用云函数模拟器

在开发期间,您可以将您的应用程序装配到本地的 Cloud 函数模拟器上 。 当使用Android模拟器设备时, 10.0.2.2 是连接到 localhost 的计算机。 请注意,在Android上,必须允许明确文本的流量,而该流量并非用于生产:

import { FirebaseFunctions } from '@capacitor-firebase/functions';

const useEmulator = async () => {
  await FirebaseFunctions.useEmulator({
    host: '10.0.2.2',
    port: 9001,
  });
};

API 密码

调用ByName (...)

callByName<RequestData = unknown, ResponseData = unknown>(options: CallByNameOptions<RequestData>) => Promise<CallByNameResult<ResponseData>>

按名称调用可调用功能 .

参数类型
optionsCallByNameOptions<RequestData>

回返情况: Promise<CallByNameResult<ResponseData>>

自: 6.1.0 (中文(简体) )


调用 ByUrl (...)

callByUrl<RequestData = unknown, ResponseData = unknown>(options: CallByUrlOptions<RequestData>) => Promise<CallByUrlResult<ResponseData>>

以 URL 调用可调用功能 .

参数类型
optionsCallByUrlOptions<RequestData>

回返情况: Promise<CallByUrlResult<ResponseData>>

自: 6.1.0 (中文(简体) )


使用计算器(...)

useEmulator(options: UseEmulatorOptions) => Promise<void>

将您的应用程序用于向云函数模拟器说话 .

在Android上,必须允许明确文本的流量. 关于电容配置 :

{
  server: {
    cleartext: true
  }
}

明确文本流量并非用于生产.

参数类型
optionsUseEmulatorOptions

自: 6.1.0 (中文(简体) )


接口

呼叫结果

Prop类型说明自兹
dataResponseData可调用函数的结果.6.1.0 (中文(简体) )

调用名称选项

Prop类型说明自兹
namestring可调用函数的名称 .6.1.0 (中文(简体) )
regionstring可调用函数的区域 .6.1.0 (中文(简体) )

调用ByUrl 选项

Prop类型说明自兹
urlstring可调用函数的 URL .6.1.0 (中文(简体) )

使用编辑器选项

Prop类型说明默认自兹
hoststring模拟器主机没有任何端口或方案. 使用Android模拟器设备时注意: 10.0.2.2是连接主机计算机"localhost"的特殊IP地址.6.1.0 (中文(简体) )
portnumber模拟器端口 .50016.1.0 (中文(简体) )
regionOrCustomDomainstring可调用函数所在区域或自定义域内设有可调用函数.

类型异名

调用ByName 结果

CallResult<ResponseData>

呼叫ByUrl结果

CallResult<ResponseData>

财务问题

两者有什么区别 callByName 财务报告和审定财务报表 callByUrl? 吗?

这个 callByName(...) 方法称其名称为可调用函数,也可选用其区域。 这个 callByUrl(...) 方法用其完整的 URL 调用一个可调用函数,如果该函数被托管在一个自定义域上,则有用.

哪些数据类型可以传递给一个可调用函数?

可以将字符串、数字、布尔、阵列和嵌入对象作为数据传递给一个可调用函数。 该函数的结果在 data 调用结果的属性.

我如何测试我的功能 本地?

使用 useEmulator(...) 用于向本地 Cloud 函数模拟器说话的应用程序的仪表方法,如 使用示例 页:1 在Android模拟器设备上测试时,请使用 10.0.2.2 作为到达 localhost 的计算机。 记住,在Android上,必须允许清晰文本的流量,这并非用于生产.

为什么我在iOS上得到SwiftPM包身份相撞??

在使用 Swift 包管理器的插件时,这是一个已知的问题 。 添加 symlink 软件包选项 @capacitor-firebase/functions 切换到 安装 节。 说明SPM packageOptions 支持需要CLI 8.4.0或以后.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.

版本与发布记录

@capacitor-firebase/functions 共发布 26 个版本,首次发布于 2024/06/19;过去 12 个月发布了 14 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.6.0latest2026/10/319 天前
8.5.22026/09/171 个月前
8.5.12026/09/022 个月前
8.5.02026/08/312 个月前
8.4.02026/08/122 个月前
8.3.02026/06/045 个月前

其他发布通道:dev → 8.0.1-dev.66db168.1770636703。

关于 @capacitor-firebase/functions 的常见问题

@capacitor-firebase/functions 是什么?

用于Android,iOS,和Web上的Firebase Cloud函数的电容插件.

如何安装 @capacitor-firebase/functions?

在项目目录运行 npm install @capacitor-firebase/functions,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-firebase/functions 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor-firebase/functions 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor-firebase/functions 可以商用吗?

@capacitor-firebase/functions 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-firebase/functions 的下载量有多少?

根据 npm 官方下载统计,@capacitor-firebase/functions 在 2026/10/09 – 2026/11/07 这 30 天内被下载 4,706 次,日均约 157 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor-firebase/functions 还在维护吗?

最新版本 8.6.0 发布于 2026/10/31(9 天前);至今共发布 26 个版本,其中过去 12 个月发布了 14 个;首次发布于 2024/06/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。