> ## 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.

# Crear feed de actividad

> Aprenda cómo crear un feed de actividad dentro de la aplicación usando la API REST de OneSignal, Event Streams o lógica en el dispositivo para rastrear y mostrar el historial de notificaciones del usuario.

## ¿Qué es un feed de actividad?

Un feed de actividad permite a los usuarios ver el historial de notificaciones que han recibido dentro de su aplicación.

OneSignal se enfoca en entregar notificaciones pero actualmente no almacena el historial de mensajes enviados a cada usuario individual. Para construir esta funcionalidad, deberá almacenar los datos de notificación usted mismo, ya sea en su servidor backend o directamente en el dispositivo del usuario.

<Tabs>
  <Tab title="Opción 1">
    ## Guardar en el servidor

    **Enfoque recomendado**

    En lugar de depender del procesamiento en segundo plano en su aplicación, use la API REST [Crear notificación](/reference/create-message) para enviar cada notificación y también almacenar una copia en su servidor. Luego, cuando se inicie la aplicación, puede consultar el servidor para obtener actualizaciones.

    Una vez que los datos estén almacenados, puede recuperar y mostrar el historial de notificaciones del usuario en cualquier momento.
  </Tab>

  <Tab title="Opción 2">
    ## Crear un feed de actividad usando OneSignal Event Streams

    La función [Event Streams](./event-streams) de OneSignal proporciona una forma escalable de transmitir eventos en tiempo real desde su aplicación a sus sistemas backend o almacén de datos. Esto le permite crear un feed que refleje el comportamiento del usuario dentro de la aplicación, como seguimientos, comentarios, compras o eventos de notificación, sin actualizar manualmente el feed dentro de su aplicación.

    ### Cómo funciona

    Event Streams exporta datos de eventos en vivo que incluyen:

    * Entregas de notificaciones
    * Aperturas y clics de correo electrónico/SMS
    * Acciones activadas por el usuario

    Los destinos incluyen:

    * Webhooks (sus endpoints HTTP)
    * Amazon Kinesis
    * Amazon S3
    * Google Cloud Storage
    * BigQuery
    * Y más

    Su sistema recibe estos eventos a medida que ocurren y puede usarlos para actualizar una UI de feed o pipeline de análisis.

    ## Pasos para configurar un feed de actividad con Event Streams

    <Steps>
      <Step title="Habilitar Event Streams">
        * Vaya al **Panel de OneSignal** > **Settings** > **Event Streams**.
        * Elija un destino como un Webhook o pipeline de datos (por ejemplo, Amazon Kinesis).
        * Seleccione los eventos que desea transmitir (por ejemplo, `message.sent`, `message.delivered`, `message.clicked`).
      </Step>

      <Step title="Configurar su backend para manejar datos de eventos">
        * Cree un webhook o consumidor que ingiera datos de eventos.
        * Analice la carga útil del evento para extraer campos relevantes como:

          * `external_id` (el ID de usuario)
          * tipo de `event` (`message.delivered`, etc.)
          * `timestamp`
          * `contents` (mensaje de notificación)
          * `additional_data` (cualquier metadato personalizado)
      </Step>

      <Step title="Almacenar y estructurar entradas del feed de actividad">
        * Guarde estos eventos en su base de datos en un formato adecuado para consultar y renderizar.

        ```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="Renderizar el feed en su aplicación">
        * Construya un componente frontend (por ejemplo, React, SwiftUI o Android View) para consultar y mostrar eventos recientes para el usuario conectado.
        * Opcionalmente incluya filtros o agrupación por tipo de evento.
      </Step>

      <Step title="Mejorar con metadatos adicionales">
        * Al enviar notificaciones, incluya `additional_data` para proporcionar contexto del feed, por ejemplo:

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

        * Esto le permite crear entradas de feed enriquecidas como "Jane comentó en tu publicación."
      </Step>
    </Steps>

    ### Casos de uso de ejemplo

    * **E-commerce**: Mostrar confirmaciones de pedidos, actualizaciones de envío y promociones.
    * **Aplicaciones sociales**: Mostrar me gusta, comentarios, seguimientos.
    * **Plataformas SaaS**: Rastrear asignaciones de tareas, menciones o registros de actividad.

    ### Beneficios

    * Actualizaciones en tiempo real a través de streaming de eventos
    * Lógica y visualización completamente personalizables
    * Arquitectura escalable impulsada por backend
  </Tab>
</Tabs>

***
