@superfrete/capacitor-firebase-functions
v0.1.0
Published
Capacitor plugin for Firebase Functions.
Downloads
28
Readme
@capacitor-firebase/functions
Unofficial Capacitor plugin for Firebase Functions.[^1]
Installation
npm install @capacitor-firebase/functions firebase
npx cap sync
Add Firebase to your project if you haven't already (Android / iOS / Web).
Android
Variables
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
)
iOS
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).
Disable Functions data collection
See Disable Functions data collection if you want to disable Functions data collection.
Disable IDFA 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
Configuration
No configuration required for this plugin.
Demo
A working example can be found here: robingenz/capacitor-firebase-plugin-demo
Usage
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();
};
API
httpsCallable(...)
httpsCallable(options: httpsCallableOptions) => Promise<HttpsCallableResult>
Call a callable function.
| Param | Type |
| ------------- | --------------------------------------------------------------------- |
| options
| httpsCallableOptions |
Returns: Promise<HttpsCallableResult>
Since: 0.1.0
Interfaces
HttpsCallableResult
| Prop | Type | Description | Since |
| ---------- | ---------------- | ---------------------------- | ----- |
| data
| any | Result of the function call. | 0.1.0 |
httpsCallableOptions
| Prop | Type | Description | Since |
| ---------- | ------------------- | -------------------------------- | ----- |
| name
| string | The function bname. | 0.1.0 |
| data
| object | The data passed to the function. | 0.1.0 |
Test your implementation
Here you can find more information on how to test the Firebase Functions implementation using the DebugView.
Changelog
See CHANGELOG.md.
License
See LICENSE.
[^1]: This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries.