Zum Inhalt springen

Erste Schritte

GitHub

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:

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

Nutze 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:

Terminalfenster
bun add @capgo/capacitor-firebase-messaging
npx cap sync
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.checkPermissions();
console.log(result);
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.requestPermissions();
console.log(result);
import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
const result = await FirebaseMessaging.isSupported();
console.log(result);
  • Berechtigungen: aufrufen checkPermissions() dann requestPermissions() bei Bedarf.
  • Listener: Handles beim Unmounten von Screens entfernen.
  • Single Source of Truth: Vertrauen src/definitions.ts im GitHub Repo.

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

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

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.

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();

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

Entfernt bestimmte Benachrichtigungen aus dem Benachrichtigungsbildschirm.

import { FirebaseMessaging } from '@capgo/capacitor-firebase-messaging';
await FirebaseMessaging.removeDeliveredNotifications({ notifications: [] });

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();

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

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

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

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

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);
export interface PermissionStatus {
/**
* @since 0.2.2
*/
receive: PermissionState;
}
export interface IsSupportedResult {
/**
* @since 0.3.1
*/
isSupported: boolean;
}
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;
}
export interface GetTokenResult {
/**
* @since 0.2.2
*/
token: string;
}
export interface GetDeliveredNotificationsResult {
/**
* @since 0.2.2
*/
notifications: Notification[];
}

RemoveDeliveredNotificationsOptions

Abschnitt „RemoveDeliveredNotificationsOptions“
export interface RemoveDeliveredNotificationsOptions {
/**
* @since 0.4.0
*/
notifications: Notification[];
}
export interface SubscribeToTopicOptions {
/**
* The name of the topic to subscribe.
*
* @since 0.2.2
*/
topic: string;
}
export interface UnsubscribeFromTopicOptions {
/**
* The name of the topic to unsubscribe from.
*
* @since 0.2.2
*/
topic: string;
}
export type CreateChannelOptions = Channel;
export interface DeleteChannelOptions {
/**
* The channel identifier.
*
* @since 1.4.0
*/
id: string;
}
export interface ListChannelsResult {
channels: Channel[];
}

Callback für das Ereignis, bei dem ein Token empfangen wurde.

export type TokenReceivedListener = (event: TokenReceivedEvent) => void;

Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.

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.