@capgo/capacitor-firebase-functions
June 16, 2026 · View on GitHub
Unofficial Capacitor plugin for Firebase Cloud Functions.1
Compatibility
| Plugin Version | Capacitor Version | Status |
|---|---|---|
| 8.x.x | >=8.x.x | Active support |
| 7.x.x | 7.x.x | Deprecated |
Installation
You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
Then use the following prompt:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-firebase-functions` plugin in my project.
If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:
npm install @capgo/capacitor-firebase-functions
npx cap sync
Add Firebase to your project if you haven't already (Android / iOS).
Android
Variables
If needed, you can define the following project variable in your app’s variables.gradle file to change the default version of the dependency:
$firebaseFunctionsVersionversion ofcom.google.firebase:firebase-functions(default:22.1.0)
This can be useful if you encounter dependency conflicts with other plugins in your project.
Configuration
No configuration required for this plugin.
Demo
A working example can be found here: robingenz/capacitor-firebase-plugin-demo
Usage
import { FirebaseFunctions } from '@capgo/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;
};
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;
};
const useEmulator = async () => {
await FirebaseFunctions.useEmulator({
host: '10.0.2.2',
port: 9001,
});
};
API
callByName(...)
callByName<RequestData = unknown, ResponseData = unknown>(options: CallByNameOptions<RequestData>) => Promise<CallByNameResult<ResponseData>>
Call a callable function by name.
| Param | Type |
|---|---|
options | CallByNameOptions<RequestData> |
Returns: Promise<CallByNameResult<ResponseData>>
Since: 6.1.0
callByUrl(...)
callByUrl<RequestData = unknown, ResponseData = unknown>(options: CallByUrlOptions<RequestData>) => Promise<CallByUrlResult<ResponseData>>
Call a callable function by URL.
| Param | Type |
|---|---|
options | CallByUrlOptions<RequestData> |
Returns: Promise<CallByUrlResult<ResponseData>>
Since: 6.1.0
useEmulator(...)
useEmulator(options: UseEmulatorOptions) => Promise<void>
Instrument your app to talk to the Cloud Functions emulator.
On Android, the cleartext traffic must be allowed. On the Capacitor configuration:
{
server: {
cleartext: true
}
}
The cleartext traffic is not intended for use in production.
| Param | Type |
|---|---|
options | UseEmulatorOptions |
Since: 6.1.0
getPluginVersion()
getPluginVersion() => Promise<GetPluginVersionResult>
Get the version of this plugin.
Returns: Promise<GetPluginVersionResult>
Since: 8.0.1
Interfaces
CallResult
| Prop | Type | Description | Since |
|---|---|---|---|
data | ResponseData | The result of the callable function. | 6.1.0 |
CallByNameOptions
| Prop | Type | Description | Since |
|---|---|---|---|
name | string | The name of the callable function. | 6.1.0 |
region | string | The region of the callable function. | 6.1.0 |
CallByUrlOptions
| Prop | Type | Description | Since |
|---|---|---|---|
url | string | The URL of the callable function. | 6.1.0 |
UseEmulatorOptions
| Prop | Type | Description | Default | Since |
|---|---|---|---|---|
host | string | The emulator host without any port or scheme. Note when using a Android Emulator device: 10.0.2.2 is the special IP address to connect to the 'localhost' of the host computer. | 6.1.0 | |
port | number | The emulator port. | 5001 | 6.1.0 |
regionOrCustomDomain | string | The region the callable functions are located in or a custom domain hosting the callable functions. |
GetPluginVersionResult
| Prop | Type | Description | Since |
|---|---|---|---|
version | string | The semantic version of this plugin. | 8.0.1 |
Type Aliases
CallByNameResult
CallResult<ResponseData>
CallByUrlResult
CallResult<ResponseData>
Changelog
See CHANGELOG.md.
License
See LICENSE.
Footnotes
-
This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries. ↩