Per iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo 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.
Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-messaging` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:
bun add @capgo/capacitor-firebase-messagingnpx cap syncImporta
Sezione intitolata “Import”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';Avvio rapido
Sezione intitolata “Quick start”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);Esempio: requestPermissions
Sezione intitolata “Esempio: requestPermissions”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);Esempio: isSupported
Sezione intitolata “Esempio: isSupported”import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);Errori comuni
Sezione intitolata “Errori comuni”- Permessi: chiamata
checkPermissions()poirequestPermissions()quando necessario. - Listener: rimuovi gli handle quando gli schermi vengono smontati.
- Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
Panoramica API
Sezione intitolata “Panoramica API”checkPermissions
Sezione intitolata “checkPermissions”Verifica il permesso di ricevere notifiche push.
Su Android, questo metodo va chiamato solo su Android 13+.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);requestPermissions
Sezione intitolata “requestPermissions”Richiedi il permesso per ricevere le notifiche push.
Su Android, questo metodo va chiamato solo su Android 13+.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);isSupported
Sezione intitolata “isSupported”Verifica se tutte le API richieste sono presenti.
Restituisce sempre true su Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);getToken
Sezione intitolata “getToken”Registra l'app per ricevere notifiche push. Restituisce un token FCM utilizzabile per inviare messaggi push a questa istanza di Messaging.
Questo metodo riattiva anche l'auto-init di FCM.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getToken();// The result holds sensitive values: use it without logging it.deleteToken
Sezione intitolata “deleteToken”Elimina il token FCM e disregistra l'app per smettere di ricevere notifiche push. Può essere chiamato, ad esempio, quando un utente effettua il logout.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteToken();getDeliveredNotifications
Sezione intitolata “getDeliveredNotifications”Ottieni l'elenco delle notifiche visibili nella schermata delle notifiche.
Nota: questo restituirà tutte le notifiche consegnate, incluse le notifiche locali, e non solo le notifiche FCM.
Su Android, il campo data della notifica FCM non sarà incluso.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getDeliveredNotifications();console.log(result);removeDeliveredNotifications
Sezione intitolata “removeDeliveredNotifications”Rimuovi notifiche specifiche dalla schermata delle notifiche.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeDeliveredNotifications({ notifications: [] });removeAllDeliveredNotifications
Sezione intitolata “removeAllDeliveredNotifications”Rimuovi tutte le notifiche dalla schermata delle notifiche.
Nota: questo rimuoverà tutte le notifiche consegnate, incluse quelle locali, e non solo le notifiche FCM.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeAllDeliveredNotifications();subscribeToTopic
Sezione intitolata “subscribeToTopic”Si iscrive a un topic in background.
Disponibile solo per Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.subscribeToTopic({ topic: 'topic' });unsubscribeFromTopic
Sezione intitolata “unsubscribeFromTopic”Annulla l'iscrizione al topic in background.
Disponibile solo per Android e iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.unsubscribeFromTopic({ topic: 'topic' });createChannel
Sezione intitolata “createChannel”Crea un canale di notifica.
Disponibile solo per Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.createChannel({ id: 'id-123', name: 'example',});deleteChannel
Sezione intitolata “deleteChannel”Elimina un canale di notifica.
Disponibile solo per Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteChannel({ id: 'id-123' });listChannels
Sezione intitolata “listChannels”Elenca i canali di notifica disponibili.
Disponibile solo per Android (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.listChannels();console.log(result);Riferimento ai tipi
Sezione: “Type Reference”PermissionStatus
Sezione intitolata “PermissionStatus”export interface PermissionStatus { /** * @since 0.2.2 */ receive: PermissionState;}IsSupportedResult
Sezione intitolata “IsSupportedResult”export interface IsSupportedResult { /** * @since 0.3.1 */ isSupported: boolean;}GetTokenOptions
Sezione intitolata “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
Sezione intitolata “GetTokenResult”export interface GetTokenResult { /** * @since 0.2.2 */ token: string;}GetDeliveredNotificationsResult
Sezione intitolata “GetDeliveredNotificationsResult”export interface GetDeliveredNotificationsResult { /** * @since 0.2.2 */ notifications: Notification[];}RemoveDeliveredNotificationsOptions
Sezione intitolata “RemoveDeliveredNotificationsOptions”export interface RemoveDeliveredNotificationsOptions { /** * @since 0.4.0 */ notifications: Notification[];}SubscribeToTopicOptions
Sezione intitolata “SubscribeToTopicOptions”export interface SubscribeToTopicOptions { /** * The name of the topic to subscribe. * * @since 0.2.2 */ topic: string;}UnsubscribeFromTopicOptions
Sezione intitolata “UnsubscribeFromTopicOptions”export interface UnsubscribeFromTopicOptions { /** * The name of the topic to unsubscribe from. * * @since 0.2.2 */ topic: string;}CreateChannelOptions
Sezione intitolata “CreateChannelOptions”export type CreateChannelOptions = Channel;DeleteChannelOptions
Sezione intitolata “DeleteChannelOptions”export interface DeleteChannelOptions { /** * The channel identifier. * * @since 1.4.0 */ id: string;}ListChannelsResult
Sezione intitolata “ListChannelsResult”export interface ListChannelsResult { channels: Channel[];}TokenReceivedListener
Sezione intitolata “TokenReceivedListener”Callback per ricevere l'evento di token ricevuto.
export type TokenReceivedListener = (event: TokenReceivedEvent) => void;Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Per iniziare per pianificare le operazioni della dashboard e di API, collegalo a Panoramica API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi API per i dettagli di implementazione delle chiavi API, Dispositivi per i dettagli di implementazione in Devices, e Bundle per il dettaglio di implementazione in Bundles.