Unofficial Capacitor plugin for Firebase Cloud Functions.1
npm install @capacitor-firebase/functions
npx cap sync
Add Firebase to your project if you haven't already (Android / iOS).
This plugin will use the following project variables (defined in your app’s variables.gradle
file):
$firebaseFunctionsVersion
version ofcom.google.firebase:firebase-functions
(default:20.4.0
)
No configuration required for this plugin.
A working example can be found here: robingenz/capacitor-firebase-plugin-demo
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;
};
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,
});
};
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<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(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
Prop | Type | Description | Since |
---|---|---|---|
data |
ResponseData |
The result of the callable function. | 6.1.0 |
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 |
Prop | Type | Description | Since |
---|---|---|---|
url |
string |
The URL of the callable function. | 6.1.0 |
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. |
CallResult<ResponseData>
CallResult<ResponseData>
See CHANGELOG.md.
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. ↩