Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses 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.
Installieren
Abschnitt „Installation“Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-messaging` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
bun add @capgo/capacitor-firebase-messagingnpx cap syncImportieren
Abschnitt mit dem Titel „Import“import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';Quickstart
Abschnitt „Quick start“import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);Beispiel: requestPermissions
Abschnitt mit dem Titel „Beispiel: requestPermissions“import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);Beispiel: isSupported
Abschnitt mit dem Titel „Beispiel: isSupported“import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Berechtigungen: aufrufen
checkPermissions()dannrequestPermissions()bei Bedarf. - Listener: Handles beim Unmounten von Screens entfernen.
- Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“checkPermissions
Abschnitt „checkPermissions“Prüft die Berechtigung für Push-Benachrichtigungen.
An Android, diese Methode muss nur ab Android 13+ aufgerufen werden.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();console.log(result);requestPermissions
Abschnitt „requestPermissions“Berechtigung für Push-Benachrichtigungen anfordern.
An Android, diese Methode muss nur ab Android 13+ aufgerufen werden.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();console.log(result);isSupported
Abschnitt mit dem Titel „isSupported“Prüft, ob alle erforderlichen APIs vorhanden sind.
Gibt immer zurück true unter Android und iOS.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();console.log(result);Registriere die App, um Push-Benachrichtigungen zu erhalten. Gibt einen FCM-Token zurück, mit dem Push-Nachrichten an diese Messaging-Instanz gesendet werden können.
Diese Methode reaktiviert auch die FCM-Auto-Initialisierung.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getToken();// The result holds sensitive values: use it without logging it.deleteToken
Abschnitt mit dem Titel „deleteToken“Löscht den FCM-Token und hebt die Registrierung der App auf, damit keine Push-Benachrichtigungen mehr ankommen. Kann z. B. aufgerufen werden, wenn sich ein Nutzer abmeldet.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteToken();getDeliveredNotifications
Abschnitt mit dem Titel „getDeliveredNotifications“Ruft eine Liste der Benachrichtigungen ab, die auf dem Benachrichtigungsbildschirm sichtbar sind.
Hinweis: Hier werden alle zugestellten Benachrichtigungen zurückgegeben – auch lokale, nicht nur FCM-Benachrichtigungen.
Unter Android wird das data-Feld der FCM-Benachrichtigung NICHT enthalten sein.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.getDeliveredNotifications();console.log(result);removeDeliveredNotifications
Abschnitt mit dem Titel „removeDeliveredNotifications“Entfernt bestimmte Benachrichtigungen aus dem Benachrichtigungsbildschirm.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeDeliveredNotifications({ notifications: [] });removeAllDeliveredNotifications
Abschnitt „removeAllDeliveredNotifications“Entfernt alle Benachrichtigungen aus dem Benachrichtigungsbildschirm.
Hinweis: Dies entfernt alle zugestellten Benachrichtigungen, einschließlich lokaler Benachrichtigungen, nicht nur FCM-Benachrichtigungen.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeAllDeliveredNotifications();subscribeToTopic
Abschnitt „subscribeToTopic“Abonniert ein Topic im Hintergrund.
Nur für Android und iOS verfügbar.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.subscribeToTopic({ topic: 'topic' });unsubscribeFromTopic
Abschnitt „unsubscribeFromTopic“Meldet sich im Hintergrund von einem Topic ab.
Nur für Android und iOS verfügbar.
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.unsubscribeFromTopic({ topic: 'topic' });createChannel
Abschnitt „createChannel“Erstellt einen Notification Channel.
Nur für Android verfügbar (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.createChannel({ id: 'id-123', name: 'example',});deleteChannel
Abschnitt „deleteChannel“Löscht einen Notification Channel.
Nur für Android verfügbar (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.deleteChannel({ id: 'id-123' });listChannels
Abschnitt „listChannels“Listet die verfügbaren Notification Channels auf.
Nur für Android verfügbar (SDK 26+).
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.listChannels();console.log(result);Typreferenz
Abschnitt mit dem Titel „Typreferenz“PermissionStatus
Abschnitt „PermissionStatus“export interface PermissionStatus { /** * @since 0.2.2 */ receive: PermissionState;}IsSupportedResult
Abschnitt mit dem Titel „IsSupportedResult“export interface IsSupportedResult { /** * @since 0.3.1 */ isSupported: boolean;}GetTokenOptions
Abschnitt mit dem Titel „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
Abschnitt mit dem Titel „GetTokenResult“export interface GetTokenResult { /** * @since 0.2.2 */ token: string;}GetDeliveredNotificationsResult
Abschnitt mit dem Titel „GetDeliveredNotificationsResult“export interface GetDeliveredNotificationsResult { /** * @since 0.2.2 */ notifications: Notification[];}RemoveDeliveredNotificationsOptions
Abschnitt „RemoveDeliveredNotificationsOptions“export interface RemoveDeliveredNotificationsOptions { /** * @since 0.4.0 */ notifications: Notification[];}SubscribeToTopicOptions
Abschnitt „SubscribeToTopicOptions“export interface SubscribeToTopicOptions { /** * The name of the topic to subscribe. * * @since 0.2.2 */ topic: string;}UnsubscribeFromTopicOptions
Abschnitt „UnsubscribeFromTopicOptions“export interface UnsubscribeFromTopicOptions { /** * The name of the topic to unsubscribe from. * * @since 0.2.2 */ topic: string;}CreateChannelOptions
Abschnitt „CreateChannelOptions“export type CreateChannelOptions = Channel;DeleteChannelOptions
Abschnitt „DeleteChannelOptions“export interface DeleteChannelOptions { /** * The channel identifier. * * @since 1.4.0 */ id: string;}ListChannelsResult
Abschnitt „ListChannelsResult“export interface ListChannelsResult { channels: Channel[];}TokenReceivedListener
Abschnitt mit dem Titel „TokenReceivedListener“Callback für das Ereignis, bei dem ein Token empfangen wurde.
export type TokenReceivedListener = (event: TokenReceivedEvent) => void;Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Dashboard- und API-Operationen zu planen, verbinde es mit API Übersicht für Details zur Implementierung im API Overview, Einführung für die Implementierungsdetails in der Einleitung, API Schlüssel für die Implementierungsdetails in API Keys, Geräte für die Implementierungsdetails in Devices und Bundles für die Implementierungsdetails in Bundles.