Passer au contenu principal

Aperçu

L’intégration OneSignal + Google Pub/Sub permet la synchronisation en temps réel des événements personnalisés de vos sujets Pub/Sub vers OneSignal pour déclencher des campagnes de messagerie automatisées et des Journeys basés sur le comportement des utilisateurs. Pub/Sub est le service de messagerie évolutif de Google qui permet aux applications d’envoyer et de recevoir des messages entre composants indépendants. OneSignal agit en tant qu’abonné à vos sujets Pub/Sub, vous permettant de synchroniser les messages d’événements depuis Pub/Sub pour déclencher des expériences utilisateur personnalisées.

Prérequis

  • Accès aux Event Streams pour les événements de message sortants (Les limitations de forfait et les dépassements s’appliquent)
  • Accès aux Événements personnalisés pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s’appliquent)
  • Forfait de compte mis à jour (non disponible sur les applications gratuites)

Google Pub/Sub

  • Projet Google Cloud avec Pub/Sub activé
  • Sujets Pub/Sub contenant des messages d’événements
  • Autorisations IAM pour accorder l’accès au compte de service
  • Messages au format JSON sur vos sujets

Configuration

1

Créer une connexion Pub/Sub

Dans OneSignal, allez dans Data > Integrations et cliquez sur Add Integration.
  1. Sélectionnez Google Pub/Sub dans la liste
  2. Entrez l’ID de projet GCP où se trouvent vos sujets Pub/Sub
  3. Choisissez la méthode d’authentification :
    • Compte de service auto-généré (recommandé) : OneSignal crée et gère le compte de service
    • Compte de service existant : Fournissez votre propre fichier JSON de clé de compte de service
  4. Cliquez sur Connect
2

Accorder des autorisations au compte de service

OneSignal créera un nouveau compte de service et vous fournira l’adresse e-mail du compte de service.Accordez le rôle roles/pubsub.editor à ce compte de service sur votre projet GCP :
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member serviceAccount:SERVICE_ACCOUNT_EMAIL \
  --role roles/pubsub.editor
OneSignal utilise ce rôle pour :
  • Créer des abonnements à vos sujets d’événements
  • Consommer les messages d’événements des sujets
  • Créer des sujets d’erreur (Dead Letter Queue) pour le traitement échoué
3

Tester la connexion

Une fois que vous avez accordé les autorisations nécessaires, cliquez sur Save dans OneSignal pour vérifier la connexion.OneSignal validera qu’il peut accéder à vos sujets Pub/Sub et est prêt à traiter les messages d’événements.

Schéma de données d’événements

Avant de pouvoir utiliser un sujet Pub/Sub pour des événements personnalisés, vous devez définir le schéma des messages d’événements.
1

Accéder à la définition du schéma d'événements

Dans OneSignal, accédez à Données > Intégrations et sélectionnez votre connexion Pub/Sub.OneSignal récupère automatiquement la liste des sujets de votre projet. Cliquez sur Actualiser les sujets pour actualiser manuellement la liste.
2

Définir le schéma des messages d'événements

  1. Cliquez sur le nom du sujet contenant vos données d’événements
  2. Sélectionnez JSON comme format de message (seul format pris en charge)
  3. Cliquez sur Importer un exemple de message et fournissez un exemple de message d’événement
  4. Examinez le schéma détecté pour garantir un mappage correct des champs
  5. Cliquez sur Save Dataset

Format des messages d’événements

Vos messages Pub/Sub doivent suivre cette structure JSON pour les événements personnalisés OneSignal :
{
  "event_name": "purchase_completed",
  "user_id": "user_12345",
  "timestamp": "2023-12-01T10:30:00Z",
  "properties": {
    "product_id": "prod_abc123",
    "price": 29.99,
    "category": "electronics",
    "payment_method": "credit_card"
  },
  "session_id": "session_789"
}

Mappage des données d’événement

Mappez vos au format des événements personnalisés de OneSignal :
Champ OneSignalDescriptionRequis
nameevent_nameIdentifiant de l’événementOui
external_iduser_idIdentifiant de l’utilisateurOui
timestampevent_timestampQuand l’événement s’est produitNon
propertiesevent_dataNon
N’incluez pas de PII client ou de données sensibles dans les exemples de messages. OneSignal stocke les exemples de messages dans le cadre de la définition du jeu de données.

Traitement d’événements en temps réel

Contrairement aux intégrations par lots, Pub/Sub permet un traitement d’événements en temps quasi réel :
  • Faible latence : Les événements sont traités quelques secondes après leur publication sur les sujets
  • Abonnements automatiques : OneSignal crée des abonnements dédiés pour chaque sujet
  • Gestion des erreurs : Les événements échoués sont envoyés vers des sujets Dead Letter Queue pour investigation
  • Traitement évolutif : Gère automatiquement les flux d’événements à volume élevé

Configuration avancée

Dead Letter Queue

OneSignal crée automatiquement des sujets d’erreur pour les événements qui échouent lors du traitement :
  • Création automatique : Les sujets d’erreur sont créés par abonnement
  • Stockage des événements échoués : Les événements qui ne peuvent pas être traités sont stockés pour le débogage
  • Revue manuelle : Accédez aux événements échoués via la Console Google Cloud pour le dépannage

Accusé de réception des messages

OneSignal gère automatiquement l’accusé de réception des messages Pub/Sub :
  • Traitement réussi : Les messages sont acquittés après la création réussie de l’événement
  • Traitement échoué : Les messages sont acquittés négativement et envoyés vers la Dead Letter Queue
  • Logique de nouvelle tentative : Gestion intégrée des nouvelles tentatives pour les échecs transitoires

Limitations

  • Seul le format de message JSON est pris en charge
  • Les exemples de messages sont stockés dans le cadre des définitions de jeux de données (évitez les PII)
  • Nécessite les autorisations roles/pubsub.editor au niveau du projet
  • La taille maximale des messages suit les limites de Google Pub/Sub (10 Mo)

FAQ

À quelle vitesse les événements sont-ils traités ?

Les événements sont généralement traités quelques secondes après leur publication sur votre sujet Pub/Sub, permettant un déclenchement de Journey en temps quasi réel.

Que se passe-t-il si OneSignal ne peut pas traiter un événement ?

Les événements échoués sont automatiquement envoyés vers un sujet Dead Letter Queue créé par OneSignal. Vous pouvez consulter ces événements dans la Console Google Cloud pour le débogage.

Puis-je utiliser plusieurs sujets pour différents types d’événements ?

Oui, vous pouvez définir des schémas pour plusieurs sujets au sein du même projet GCP. Chaque sujet peut contenir différents types d’événements avec leurs propres définitions de schéma.