Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-firebase-messaging`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/firebase-messaging/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalación”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:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-messaging` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-firebase-messagingnpx cap syncImportar
Sección titulada “Importar”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';Inicio rápido
Sección titulada “Inicio rápido”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);Ejemplo: requestPermissions
Sección titulada “Ejemplo: requestPermissions”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);Ejemplo: isSupported
Sección titulada “Ejemplo: isSupported”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);Errores comunes
Sección titulada “Errores comunes”- Permisos: llama a
checkPermissions()luegorequestPermissions()cuando sea necesario. - Listeners: elimina los handles cuando se desmonten las pantallas.
- Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “Resumen de API”checkPermissions
Sección titulada “checkPermissions”Comprueba el permiso para recibir notificaciones push.
En Android, este método solo debe llamarse en Android 13+.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);requestPermissions
Sección titulada “requestPermissions”Solicita permiso para recibir notificaciones push.
En Android, este método solo debe llamarse en Android 13+.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);isSupported
Sección titulada “isSupported”Verifica si todas las APIs requeridas existen.
Siempre devuelve true en Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);getToken
Sección titulada “getToken”Registra la app para recibir notificaciones push. Devuelve un token de FCM que se puede usar para enviar mensajes push a esa instancia de Messaging.
Este método también reactiva la auto-inicialización de FCM.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getToken();// The result holds sensitive values: use it without logging it.deleteToken
Sección titulada “deleteToken”Elimina el token de FCM y desregistra la app para dejar de recibir notificaciones push. Se puede llamar, por ejemplo, cuando un usuario cierra sesión.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteToken();getDeliveredNotifications
Sección titulada “getDeliveredNotifications”Obtén una lista de las notificaciones visibles en la pantalla de notificaciones.
Nota: Esto devolverá todas las notificaciones entregadas, incluidas las notificaciones locales, y no solo las de FCM.
En Android, el campo data de la notificación de FCM NO se incluirá.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getDeliveredNotifications();console.log(result);removeDeliveredNotifications
Sección titulada “removeDeliveredNotifications”Elimina notificaciones específicas de la pantalla de notificaciones.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeDeliveredNotifications({ notifications: [] });removeAllDeliveredNotifications
Sección titulada “removeAllDeliveredNotifications”Elimina todas las notificaciones de la pantalla de notificaciones.
Nota: Esto eliminará todas las notificaciones entregadas, incluidas las notificaciones locales, y no solo las de FCM.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeAllDeliveredNotifications();subscribeToTopic
Sección titulada “subscribeToTopic”Se suscribe a un topic en segundo plano.
Solo disponible para Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.subscribeToTopic({ topic: 'topic' });unsubscribeFromTopic
Sección titulada “unsubscribeFromTopic”Se desuscribe de un topic en segundo plano.
Solo disponible para Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.unsubscribeFromTopic({ topic: 'topic' });createChannel
Sección titulada “createChannel”Crea un canal de notificaciones.
Solo disponible para Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.createChannel({ id: 'id-123', name: 'example',});deleteChannel
Sección titulada “deleteChannel”Elimina un canal de notificaciones.
Solo disponible para Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteChannel({ id: 'id-123' });listChannels
Sección titulada “listChannels”Lista los canales de notificación disponibles.
Solo disponible para Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.listChannels();console.log(result);Referencia de tipos
Sección titulada “Referencia de tipos”PermissionStatus
Sección titulada “PermissionStatus”export interface PermissionStatus { /** * @since 0.2.2 */ receive: PermissionState;}IsSupportedResult
Sección titulada “IsSupportedResult”export interface IsSupportedResult { /** * @since 0.3.1 */ isSupported: boolean;}GetTokenOptions
Sección titulada “GetTokenOptions”export interface GetTokenOptions { /** * Your VAPID public key, which is required to retrieve the current registration token on the web. * * Only available for Web. */ vapidKey?: string; /** * The service worker registration for receiving push messaging. * If the registration is not provided explicitly, you need to have a `firebase-messaging-sw.js` at your root location. * * Only available for Web. */ serviceWorkerRegistration?: ServiceWorkerRegistration;}GetTokenResult
Sección titulada “GetTokenResult”export interface GetTokenResult { /** * @since 0.2.2 */ token: string;}GetDeliveredNotificationsResult
Sección titulada “GetDeliveredNotificationsResult”export interface GetDeliveredNotificationsResult { /** * @since 0.2.2 */ notifications: Notification[];}RemoveDeliveredNotificationsOptions
Sección titulada “RemoveDeliveredNotificationsOptions”export interface RemoveDeliveredNotificationsOptions { /** * @since 0.4.0 */ notifications: Notification[];}SubscribeToTopicOptions
Sección titulada “SubscribeToTopicOptions”export interface SubscribeToTopicOptions { /** * The name of the topic to subscribe. * * @since 0.2.2 */ topic: string;}UnsubscribeFromTopicOptions
Sección titulada “UnsubscribeFromTopicOptions”export interface UnsubscribeFromTopicOptions { /** * The name of the topic to unsubscribe from. * * @since 0.2.2 */ topic: string;}CreateChannelOptions
Sección titulada “CreateChannelOptions”export type CreateChannelOptions = Channel;DeleteChannelOptions
Sección titulada “DeleteChannelOptions”export interface DeleteChannelOptions { /** * The channel identifier. * * @since 1.4.0 */ id: string;}ListChannelsResult
Sección titulada “ListChannelsResult”export interface ListChannelsResult { channels: Channel[];}TokenReceivedListener
Sección titulada “TokenReceivedListener”Callback para recibir el evento de token recibido.
export type TokenReceivedListener = (event: TokenReceivedEvent) => void;Fuente de verdad
Sección titulada “Fuente de verdad”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.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”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.