Unofficial Capacitor plugin for Firebase Functions.1
npm install @capacitor-firebase/functions firebase
npx cap sync
Add Firebase to your project if you haven't already (Android / iOS / Web).
This plugin will use the following project variables (defined in your app’s variables.gradle
file):
-
$firebaseFunctionsVersion
version ofcom.google.firebase:firebase-functions
(default:21.2.2
)
Add the CapacitorFirebaseFunctions/Functions
pod to your Podfile
(usually ios/App/Podfile
):
target 'App' do
capacitor_pods
# Add your Pods here
+ pod 'CapacitorFirebaseFunctions/Functions', :path => '../../node_modules/@capacitor-firebase/functions'
end
Attention: Do not add the pod in the section def capacitor_pods
, but under the comment # Add your Pods here
(example).
See Disable Functions data collection if you want to disable Functions data collection.
If you want to install Firebase without any IDFA collection capability, use the CapacitorFirebaseFunctions/FunctionsWithoutAdIdSupport
pod in place of the CapacitorFirebaseFunctions/Functions
pod:
target 'App' do
capacitor_pods
# Add your Pods here
- pod 'CapacitorFirebaseFunctions/Functions', :path => '../../node_modules/@capacitor-firebase/functions'
+ pod 'CapacitorFirebaseFunctions/FunctionsWithoutAdIdSupport', :path => '../../node_modules/@capacitor-firebase/functions'
end
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 setUserId = async () => {
await FirebaseFunctions.setUserId({
userId: '123',
});
};
const setUserProperty = async () => {
await FirebaseFunctions.setUserProperty({
key: 'language',
value: 'en',
});
};
const setCurrentScreen = async () => {
await FirebaseFunctions.setCurrentScreen({
screenName: 'Login',
screenClassOverride: 'LoginPage',
});
};
const logEvent = async () => {
await FirebaseFunctions.logEvent({
name: 'sign_up',
params: { method: 'password' },
});
};
const setSessionTimeoutDuration = async () => {
await FirebaseFunctions.setSessionTimeoutDuration({
duration: '120',
});
};
const setEnabled = async () => {
await FirebaseFunctions.setEnabled({
enabled: true,
});
};
const isEnabled = async () => {
const { enabled } = await FirebaseFunctions.isEnabled();
return enabled;
};
const resetFunctionsData = async () => {
await FirebaseFunctions.resetFunctionsData();
};
httpsCallable(options: httpsCallableOptions) => Promise<HttpsCallableResult>
Call a callable function.
Param | Type |
---|---|
options |
httpsCallableOptions |
Returns: Promise<HttpsCallableResult>
Since: 0.1.0
Prop | Type | Description | Since |
---|---|---|---|
data |
any |
Result of the function call. | 0.1.0 |
Prop | Type | Description | Since |
---|---|---|---|
name |
string |
The function bname. | 0.1.0 |
data |
object |
The data passed to the function. | 0.1.0 |
Here you can find more information on how to test the Firebase Functions implementation using the DebugView.
See CHANGELOG.md.
See LICENSE.
-
This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries. ↩