> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un fil d'activité

> Apprenez à créer un fil d'activité dans l'application en utilisant l'API REST de OneSignal, Event Streams ou la logique sur l'appareil pour suivre et afficher l'historique des notifications des utilisateurs.

## Qu'est-ce qu'un fil d'activité ?

Un fil d'activité permet aux utilisateurs de voir l'historique des notifications qu'ils ont reçues dans votre application.

OneSignal se concentre sur la livraison des notifications mais ne stocke pas actuellement l'historique des messages envoyés à chaque utilisateur individuel. Pour créer cette fonctionnalité, vous devrez stocker les données de notification vous-même, soit sur votre serveur backend, soit directement sur l'appareil de l'utilisateur.

<Tabs>
  <Tab title="Option 1">
    ## Enregistrement sur le serveur

    **Approche recommandée**

    Plutôt que de vous fier au traitement en arrière-plan dans votre application, utilisez l'API REST [Créer une notification](/reference/create-message) pour envoyer chaque notification et stocker également une copie sur votre serveur. Ensuite, lorsque l'application se lance, elle peut vérifier les mises à jour sur le serveur.

    Une fois les données stockées, vous pouvez récupérer et afficher l'historique des notifications de l'utilisateur à tout moment.
  </Tab>

  <Tab title="Option 2">
    ## Créer un fil d'activité en utilisant OneSignal Event Streams

    La fonctionnalité [Event Streams](./event-streams) de OneSignal fournit un moyen évolutif de diffuser des événements en temps réel depuis votre application vers vos systèmes backend ou votre entrepôt de données. Cela vous permet de créer un fil qui reflète le comportement des utilisateurs dans l'application, comme les abonnements, les commentaires, les achats ou les événements de notification, sans mettre à jour manuellement le fil dans votre application.

    ### Comment ça fonctionne

    Event Streams exporte les données d'événements en direct incluant :

    * Livraisons de notifications
    * Ouvertures et clics d'email/SMS
    * Actions déclenchées par l'utilisateur

    Les destinations incluent :

    * Webhooks (vos endpoints HTTP)
    * Amazon Kinesis
    * Amazon S3
    * Google Cloud Storage
    * BigQuery
    * Et plus encore

    Votre système reçoit ces événements au fur et à mesure qu'ils se produisent et peut les utiliser pour mettre à jour une interface de fil ou un pipeline d'analyse.

    ## Étapes pour configurer un fil d'activité avec Event Streams

    <Steps>
      <Step title="Activer Event Streams">
        * Allez dans le **tableau de bord OneSignal** > **Paramètres** > **Event Streams**.
        * Choisissez une destination telle qu'un Webhook ou un pipeline de données (par ex., Amazon Kinesis).
        * Sélectionnez les événements que vous souhaitez diffuser (par ex., `message.sent`, `message.delivered`, `message.clicked`).
      </Step>

      <Step title="Configurer votre backend pour gérer les données d'événements">
        * Créez un webhook ou un consommateur qui ingère les données d'événements.
        * Analysez la charge utile d'événement pour extraire les champs pertinents comme :

          * `external_id` (l'ID utilisateur)
          * Type d'`event` (`message.delivered`, etc.)
          * `timestamp`
          * `contents` (message de notification)
          * `additional_data` (toute métadonnée personnalisée)
      </Step>

      <Step title="Stocker et structurer les entrées du fil d'activité">
        * Enregistrez ces événements dans votre base de données dans un format approprié pour les requêtes et le rendu.

        ```json theme={null}
        {
          "message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
          "message.name": "the-name-you-set",
          "message.title": "Claim 50% Off Today", // email subject example
          "message.title": "{'en':'the message title/headings'}", // push title example
          "message.contents": "{'en':'the message content'}",
          "message.template_id": "the-template-uuid-if-set",
          "message.url": "the-message-url",
          "message.app_url": "the-message-app-url",
          "message.web_url": "the-message-web-url"
        }
        ```
      </Step>

      <Step title="Afficher le fil dans votre application">
        * Créez un composant frontend (par ex., React, SwiftUI ou Android View) pour interroger et afficher les événements récents de l'utilisateur connecté.
        * Incluez optionnellement des filtres ou un regroupement par type d'événement.
      </Step>

      <Step title="Enrichir avec des métadonnées supplémentaires">
        * Lors de l'envoi de notifications, incluez `additional_data` pour fournir du contexte au fil, par exemple :

          ```json theme={null}
          {
            "action": "commented",
            "post_id": "xyz123"
          }
          ```

        * Cela vous permet de créer des entrées de fil riches telles que « Jane a commenté votre publication. »
      </Step>
    </Steps>

    ### Exemples de cas d'utilisation

    * **E-commerce** : Affichez les confirmations de commande, les mises à jour d'expédition et les promotions.
    * **Applications sociales** : Affichez les mentions « j'aime », les commentaires, les abonnements.
    * **Plateformes SaaS** : Suivez les attributions de tâches, les mentions ou les journaux d'activité.

    ### Avantages

    * Mises à jour en temps réel via le streaming d'événements
    * Logique et affichage entièrement personnalisables
    * Architecture évolutive pilotée par le backend
  </Tab>
</Tabs>

***
