6.2.0 • Published 9 months ago

@capacitor-firebase/functions v6.2.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
9 months ago

@capacitor-firebase/functions

Unofficial Capacitor plugin for Firebase Cloud Functions.^1

Installation

npm install @capacitor-firebase/functions
npx cap sync

Add Firebase to your project if you haven't already (Android / iOS).

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: 20.4.0)

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 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,
  });
};

API

callByName(...)

callByName<RequestData = unknown, ResponseData = unknown>(options: CallByNameOptions<RequestData>) => Promise<CallByNameResult<ResponseData>>

Call a callable function by name.

ParamType
optionsCallByNameOptions<RequestData>

Returns: Promise<CallByNameResult<ResponseData>>

Since: 6.1.0


callByUrl(...)

callByUrl<RequestData = unknown, ResponseData = unknown>(options: CallByUrlOptions<RequestData>) => Promise<CallByUrlResult<ResponseData>>

Call a callable function by URL.

ParamType
optionsCallByUrlOptions<RequestData>

Returns: Promise<CallByUrlResult<ResponseData>>

Since: 6.1.0


useEmulator(...)

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.

ParamType
optionsUseEmulatorOptions

Since: 6.1.0


Interfaces

CallResult

PropTypeDescriptionSince
dataResponseDataThe result of the callable function.6.1.0

CallByNameOptions

PropTypeDescriptionSince
namestringThe name of the callable function.6.1.0
regionstringThe region of the callable function.6.1.0

CallByUrlOptions

PropTypeDescriptionSince
urlstringThe URL of the callable function.6.1.0

UseEmulatorOptions

PropTypeDescriptionDefaultSince
hoststringThe 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
portnumberThe emulator port.50016.1.0

Type Aliases

CallByNameResult

CallResult<ResponseData>

CallByUrlResult

CallResult<ResponseData>

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.