@superfrete/capacitor-firebase-functions
v0.1.0
Published
Capacitor plugin for Firebase Functions.
Downloads
82
Maintainers
Readme
@capacitor-firebase/functions
Unofficial Capacitor plugin for Firebase Functions.[^1]
Installation
npm install @capacitor-firebase/functions firebase
npx cap syncAdd 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):
$firebaseFunctionsVersionversion 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'
endAttention: 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'
endConfiguration
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.
