Saltar al contenido

Primeros pasos

GitHub

Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Luego usa el siguiente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-functions` plugin in my project.

Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:

Ventana de terminal
bun add @capgo/capacitor-firebase-functions
npx cap sync
import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
const result = await FirebaseFunctions.callByName({ name: 'myFunction' });
console.log(result);
import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
const result = await FirebaseFunctions.callByUrl({
url: 'https://us-central1-my-project.cloudfunctions.net/myFunction',
});
console.log(result);
import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
await FirebaseFunctions.useEmulator({ host: "127.0.0.1" });
  • Sync nativo: ejecuta npx cap sync tras actualizar los plugins.
  • Fuente de verdad: confianza src/definitions.ts en el repo de GitHub.

Llama a una función callable por su nombre.

import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
const result = await FirebaseFunctions.callByName({ name: 'myFunction' });
console.log(result);

Llama a una función callable mediante una URL.

import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
const result = await FirebaseFunctions.callByUrl({
url: 'https://us-central1-my-project.cloudfunctions.net/myFunction',
});
console.log(result);

Instrumenta tu app para comunicarse con el emulador de Cloud Functions.

En Android, hay que permitir el tráfico en texto claro. En la configuración de Capacitor:

{
server: {
cleartext: true
}
}

El tráfico en texto plano no debe usarse en producción.

import { FirebaseFunctions } from '@capgo/capacitor-firebase-functions';
await FirebaseFunctions.useEmulator({ host: "127.0.0.1" });
export interface CallByNameOptions<RequestData = unknown> extends CallOptions<RequestData> {
/**
* The name of the callable function.
*
* @example 'myFunction'
* @since 6.1.0
*/
name: string;
/**
* The region of the callable function.
*
* @example 'us-central1'
* @since 6.1.0
*/
region?: string;
}
export type CallByNameResult<ResponseData = unknown> = CallResult<ResponseData>;
export interface CallByUrlOptions<RequestData = unknown> extends CallOptions<RequestData> {
/**
* The URL of the callable function.
*
* @example 'https://us-central1-my-project.cloudfunctions.net/myFunction'
* @since 6.1.0
*/
url: string;
}
export type CallByUrlResult<ResponseData = unknown> = CallResult<ResponseData>;
export interface UseEmulatorOptions {
/**
* The 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.
*
* @since 6.1.0
* @example "127.0.0.1"
*/
host: string;
/**
* The emulator port.
*
* @since 6.1.0
* @default 5001
* @example 5001
*/
port?: number;
/**
* The region the callable functions are located in or a custom domain hosting the callable functions.
*
* @example 'us-central1'
* @example 'https://mydomain.com'
*/
regionOrCustomDomain?: string;
}
export interface GetPluginVersionResult {
/**
* The semantic version of this plugin.
*
* @since 8.0.1
*/
version: string;
}
export interface CallResult<ResponseData = unknown> {
/**
* The result of the callable function.
*
* @since 6.1.0
*/
data: ResponseData;
}

Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.

Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para el detalle de implementación en API Keys, Dispositivos para el detalle de implementación en Devices, y Bundles para el detalle de implementación en Bundles.