Aller directement au contenu

@capgo/capacitor-notifications

Notifications natives gérées par Capgo pour les campagnes, les badges, la recherche d'utilisateurs, les statistiques de livraison et les vérifications silencieuses de mise à jour en temps réel.

@capgo/capacitor-notifications connecte une application Capacitor à la pipeline de notifications natives de Capgo. L'application enregistre un ID d'utilisateur client signé avec Capgo, Capgo conserve l'état de l'appareil actif le plus récent dans l'Engine de l'analyse Cloudflare, et vous pouvez envoyer des notifications, définir des badges, inspecter les statistiques de livraison et déclencher des vérifications silencieuses de mise à jour en temps réel Capgo à partir du tableau de bord Capgo ou API.

Cette fonctionnalité est conçue pour éviter une table de notification de dispositif à haut cardinalité dans Capgo Postgres. Postgres ne stocke que des données de plan de contrôle à faible cardinalité telles que les paramètres d'application, les métadonnées de métadonnées de plateforme, les brouillons de campagne, les calendriers et les enregistrements de campagne agrégés. L'état de l'appareil actif et les événements de notification sont des lignes de l'Engine d'analyse à ajout uniquement.

DonnéesOù il vitPourquoi
Métadonnées de la plateforme de crédentialsCapgo PostgresNécessaire pour gérer la configuration et les permissions de l'application.
Secrets de la plateforme privésEnvironnement de travailÉvite de stocker les informations de crédentials privées dans les tables accessibles par les clients.
Brouillons de campagnes et paramètresCapgo PostgresDonnées de plan de contrôle à faible cardinalité.
État d'enregistrement de l'appareil actifCloudflare Moteur d'analytiqueRegistre d'appareils actifs à faible coût et sans modification.
Événements de notificationCloudflare Moteur d'analytiqueStatistiques abordables pour les événements en attente, envoyés, reçus, ouverts, échoués et de fond.

Capgo ne vous demande pas de télécharger une liste d'utilisateurs ou de maintenir une table d'appareils.

  • Votre backend connaît l'ID utilisateur réel du client.
  • Votre backend demande à Capgo un jeton à vie courte. identityProof.
  • L'application s'enregistre avec externalId et que la preuve après la réussite de l'authentification de l'utilisateur est votre propre.
  • Capgo dérive des clés internes déterministes pour le destinataire et l'installation native.
  • En envoyant à la même externalId retrouve les appareils actifs de l'utilisateur à nouveau.

Cela vous permet de rechercher les appareils d'un utilisateur, d'attribuer des badges et de cibler des campagnes de notifications sans stocker des lignes de notification par appareil dans Capgo Postgres.

  • Enregistrer les appareils avec un ID d'utilisateur externe authentifié.
  • Actualiser les étiquettes, les attributs, le consentement et l'état du jeton lors du démarrage de l'application ou des changements de jeton.
  • Recevoir des notifications en avant-plan en JavaScript.
  • Suivre les événements de notification reçue et ouverte.
  • Traitez les notifications de données de fond.
  • Fixez, effacez et incrémentez les icônes de l'application.
  • Créez des canaux de notification Android.
  • Envoyez des notifications uniques, des notifications de campagne, des mises à jour d'icônes et des vérifications d'actualisation silencieuses.
  • Trigger @capgo/capacitor-updater à partir d'une notification silencieuse.

Capgo enregistre les événements de notification dans Cloudflare Analytics Engine afin que les statistiques du tableau de bord restent abordables :

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

Les statistiques sont des signaux de fonctionnement, et non un registre permanent par destinataire. La rétention de l'engine Analytics signifie que les appareils actifs doivent rafraîchir périodiquement leur inscription.

MéthodeDescription
configureDéfinit l'ID d'application Capgo, l'hôte API et le comportement d'intégration de mise à jour.
registerEnregistre l'installation actuelle pour un ID d'utilisateur client externe.
setExternalIdModifie l'ID d'utilisateur client externe après connexion ou changement de compte.
setTagsRemplace les balises utilisées pour la ciblage de l'audience.
setBadgeDéfinit l'icône de l'application native.
clearBadgeSupprime l'icône de l'application native.
incrementBadgeAugmente l'icône de l'application native.
enableUpdaterIntegrationActive la gestion silencieuse de la vérification de mise à jour via @capgo/capacitor-updater.
runUpdateCheckExécute manuellement l'intégration de mise à jour pour les tests.
trackReceivedÉcrit manuellement un événement reçu.
trackOpenedÉcrit manuellement un événement ouvert.
addListener('notificationReceived')S'active lorsque l'on reçoit une notification alors que JavaScript est actif.
addListener('notificationOpened')S'active lorsque l'utilisateur ouvre une notification.
addListener('backgroundNotification')S'active pour les notifications de données en arrière-plan et expose finish().
addListener('registrationChanged')S'active lorsque le jeton de push natif change.

Le push natif est au moins une fois. Une campagne peut être réessayée, et un appareil peut recevoir un duplicat si le système accepte un message répété. Utilisez les IDs de collapse pour les vérifications d'actualisation et rendez les tâches en arrière-plan idempotentes.

Les notifications en arrière-plan iOS sont de bonnes intentions. Le système peut limiter ou ignorer l'exécution en arrière-plan en fonction de la batterie, du comportement de l'utilisateur, de l'état de force-quit et de la politique du système. N'ayez pas confiance dans les notifications silencieuses pour les délais durs.

Continuez à partir de @capgo/capacitor-notifications

Section intitulée “Continuez à partir de @capgo/capacitor-notifications”

Si vous utilisez @capgo/capacitor-notifications pour planifier la messagerie push, connectez-le à Démarrage pour la configuration, Débogage pour le dépannage, @capgo/capacitor-mises-à-jour pour les vérifications de mise à jour silencieuses, et Répertoire de plugin Capgo pour d'autres plugins natifs.