Unofficial Capacitor plugin for Firebase Cloud Functions.1
npm install @capacitor-firebase/functions
npx cap syncAdd 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):
$firebaseFunctionsVersionversion 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 |
one of: a) The region the callable functions are located in (ex: us-central1) b) A custom domain hosting the callable functions (ex: https://mydomain.com) |
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. ↩