Zum Inhalt springen

@capgo/capacitor-notifications

Capgo verwaltet native Benachrichtigungen für Kampagnen, Badges, User-Lookup, Zustellungsstatistiken und Silent Live Update Checks.

@capgo/capacitor-notifications verbindet eine Capacitor App mit der nativen Notification-Pipeline von Capgo. Deine App registriert eine signierte Customer User ID bei Capgo, Capgo hält den aktuellen aktiven Gerätestatus in der Cloudflare Analytics Engine, und du kannst Notifications senden, Badges setzen, Zustellungsstatistiken prüfen und silent Capgo Live-Update-Checks über das Capgo Dashboard oder API auslösen.

Das Feature ist so ausgelegt, dass es eine High-Cardinality-Notification-Device-Tabelle in Capgo Postgres vermeidet. Postgres speichert nur Low-Cardinality-Control-Plane-Daten wie App-Einstellungen, Metadaten zu Plattform-Credentials, Kampagnen-Entwürfe, Zeitpläne und aggregierte Kampagnen-Datensätze. Aktiver Gerätestatus und Notification-Events sind Append-only-Zeilen in der Analytics Engine.

PlattformSupportNotizen
iOSJaAPNs über Capgo
AndroidJaFCM über Capgo
WebNeinWeb Push separat nutzen
DatenSpeicherortWarum
Metadaten der Plattform-CredentialsCapgo PostgresWird benötigt, um App-Setup und Berechtigungen zu verwalten.
Private Plattform-SecretsWorker-UmgebungVerhindert, dass private Credentials in kundenseitigen Tabellen gespeichert werden.
Kampagnenentwürfe und EinstellungenCapgo PostgresControl-Plane-Daten mit geringer Kardinalität.
Registrierungsstatus aktiver GeräteCloudflare Analytics EngineKostengünstiges, Append-only-Register für aktive Geräte.
Notification-EventsCloudflare Analytics EngineGünstige Stats für queued, sent, received, opened, failed und background Events.

Capgo verlangt weder den Upload einer Benutzerliste noch die Pflege einer Gerätetabelle.

  • Dein Backend kennt die echte Customer User ID.
  • Dein Backend fragt Capgo nach einem kurzlebigen identityProof.
  • Die App registriert sich mit externalId und diesen Proof, nachdem deine eigene User-Authentifizierung erfolgreich war.
  • Capgo leitet deterministische interne Keys für den Empfänger und die native Installation ab.
  • Das Senden an denselben externalId findet die aktiven Devices des Users erneut.

Damit kannst du Geräte eines Nutzers nachschlagen, Badges setzen und Notification-Kampagnen targeten, ohne pro Gerät Notification-Zeilen in Capgo Postgres zu speichern.

  • Registriere Geräte mit einer authentifizierten externen User-ID.
  • Aktualisiere Tags, Attribute, Consent und den Token-Status beim App-Start oder bei Token-Änderungen.
  • Empfange Foreground-Notifications in JavaScript.
  • Tracke Events für empfangene und geöffnete Notifications.
  • Verarbeite Background-Data-Notifications.
  • Setze, entferne und erhöhe App-Badges.
  • Erstelle Android-Notification-Channels.
  • Sende One-off-Notifications, Kampagnen-Notifications, Badge-Updates und Silent-Update-Checks.
  • Auslösen @capgo/capacitor-updater aus einer Silent Notification.

Capgo schreibt Notification-Events in die Cloudflare Analytics Engine, damit die Dashboard-Stats kostengünstig bleiben:

  • queued
  • sent
  • provider_accepted
  • received
  • opened
  • failed
  • permission_changed
  • background_started
  • background_finished

Stats sind operative Signale und kein dauerhaftes Protokoll pro Empfänger. Aufgrund der Retention der Analytics Engine müssen aktive Geräte die Registrierung regelmäßig aktualisieren.

MethodeBeschreibung
configureLegt die Capgo App-ID, den API Host und das Verhalten der Updater-Integration fest.
registerRegistriert die aktuelle Installation für eine externe Customer User ID.
setExternalIdÄndert die externe Customer User ID nach dem Login oder einem Account-Wechsel.
setTagsErsetzt die Tags für das Audience Targeting.
setBadgeSetzt das Badge der nativen App.
clearBadgeEntfernt das Badge der nativen App.
incrementBadgeErhöht das Badge der nativen App.
enableUpdaterIntegrationErmöglicht das Handling von Silent-Update-Checks über @capgo/capacitor-updater.
runUpdateCheckFührt die Updater-Integration manuell zum Testen aus.
trackReceivedSchreibt manuell ein empfangenes Event.
trackOpenedSchreibt manuell ein geöffnetes Event.
addListener('notificationReceived')Wird ausgelöst, wenn eine Notification eingeht, während JavaScript aktiv ist.
addListener('notificationOpened')Wird ausgelöst, wenn ein User eine Notification öffnet.
addListener('backgroundNotification')Wird bei Background-Data-Notifications ausgelöst und stellt finish().
addListener('registrationChanged')Wird ausgelöst, wenn sich der native Push-Token ändert.

Native Push folgt dem At-least-once-Prinzip. Eine Kampagne kann wiederholt werden, und ein Gerät kann Duplikate erhalten, wenn die Plattform wiederholte Nachrichten akzeptiert. Nutze Collapse IDs für Update-Checks und stelle sicher, dass Hintergrundprozesse idempotent sind.

iOS-Hintergrundbenachrichtigungen sind Best-effort. Das Betriebssystem kann die Ausführung im Hintergrund basierend auf Akku, Nutzerverhalten, Force-Quit-Status und Systemrichtlinien drosseln oder überspringen. Verlasse dich nicht auf Silent Notifications für kritische Deadlines.

Wenn du es nutzt @capgo/capacitor-notifications Um Push-Messaging zu planen, verbinde es mit Erste Schritte für das Setup, Debugging zur Fehlersuche, @capgo/capacitor-updater für stille Update-Checks und Capgo Plugin-Verzeichnis für andere native Plugins.