0.1.0 • Published 1 year ago

@superfrete/capacitor-firebase-functions v0.1.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

@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 of com.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.

ParamType
optionshttpsCallableOptions

Returns: Promise<HttpsCallableResult>

Since: 0.1.0


Interfaces

HttpsCallableResult

PropTypeDescriptionSince
dataanyResult of the function call.0.1.0

httpsCallableOptions

PropTypeDescriptionSince
namestringThe function bname.0.1.0
dataobjectThe 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.

0.1.0

1 year ago