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

# Criar feed de atividades

> Aprenda como criar um feed de atividades dentro do aplicativo usando a API REST do OneSignal, Event Streams ou lógica no dispositivo para rastrear e exibir o histórico de notificações do usuário.

## O que é um feed de atividades?

Um feed de atividades permite que os usuários vejam o histórico de notificações que receberam dentro do seu aplicativo.

O OneSignal se concentra em entregar notificações, mas atualmente não armazena o histórico de mensagens enviadas para cada usuário individual. Para construir essa funcionalidade, você precisará armazenar os dados de notificação você mesmo—seja no seu servidor backend ou diretamente no dispositivo do usuário.

<Tabs>
  <Tab title="Opção 1">
    ## Salvando no servidor

    **Abordagem recomendada**

    Em vez de confiar no processamento em segundo plano no seu aplicativo, use a API REST [Create notification](/reference/create-message) para enviar cada notificação e também armazenar uma cópia no seu servidor. Então, quando o aplicativo for iniciado, ele pode verificar o servidor para atualizações.

    Uma vez que os dados estejam armazenados, você pode recuperar e exibir o histórico de notificações do usuário a qualquer momento.
  </Tab>

  <Tab title="Opção 2">
    ## Criar um feed de atividades usando o OneSignal Event Streams

    O recurso [Event Streams](./event-streams) do OneSignal fornece uma maneira escalável de transmitir eventos em tempo real do seu aplicativo para seus sistemas backend ou data warehouse. Isso permite que você construa um feed que reflete o comportamento do usuário dentro do aplicativo—como seguir, comentários, compras ou eventos de notificação—sem atualizar manualmente o feed dentro do seu aplicativo.

    ### Como funciona

    O Event Streams exporta dados de eventos ao vivo incluindo:

    * Entregas de notificação
    * Aberturas e cliques de email/SMS
    * Ações acionadas pelo usuário

    Destinos incluem:

    * Webhooks (seus endpoints HTTP)
    * Amazon Kinesis
    * Amazon S3
    * Google Cloud Storage
    * BigQuery
    * E mais

    Seu sistema recebe esses eventos conforme eles ocorrem e pode usá-los para atualizar uma UI de feed ou pipeline de analytics.

    ## Etapas para configurar um Feed de Atividades com Event Streams

    <Steps>
      <Step title="Habilitar Event Streams">
        * Vá para o **OneSignal Dashboard** > **Settings** > **Event Streams**.
        * Escolha um destino como um Webhook ou pipeline de dados (por exemplo, Amazon Kinesis).
        * Selecione os eventos que você deseja transmitir (por exemplo, `message.sent`, `message.delivered`, `message.clicked`).
      </Step>

      <Step title="Configurar seu backend para lidar com dados de eventos">
        * Crie um webhook ou consumer que ingere dados de eventos.
        * Analise o payload do evento para extrair campos relevantes como:

          * `external_id` (o ID do usuário)
          * tipo `event` (`message.delivered`, etc.)
          * `timestamp`
          * `contents` (mensagem de notificação)
          * `additional_data` (quaisquer metadados personalizados)
      </Step>

      <Step title="Armazenar e estruturar entradas do Feed de Atividades">
        * Salve esses eventos no seu banco de dados em um formato adequado para consulta e renderização.

        ```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 o feed no seu aplicativo">
        * Construa um componente frontend (por exemplo, React, SwiftUI ou Android View) para consultar e exibir eventos recentes para o usuário logado.
        * Opcionalmente inclua filtros ou agrupamento por tipo de evento.
      </Step>

      <Step title="Aprimorar com metadados adicionais">
        * Ao enviar notificações, inclua `additional_data` para fornecer contexto ao feed, por exemplo:

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

        * Isso permite que você crie entradas de feed ricas como "Jane comentou na sua postagem."
      </Step>
    </Steps>

    ### Exemplos de casos de uso

    * **E-commerce**: Mostrar confirmações de pedidos, atualizações de envio e promoções.
    * **Aplicativos sociais**: Mostrar curtidas, comentários, seguir.
    * **Plataformas SaaS**: Rastrear atribuições de tarefas, menções ou logs de atividades.

    ### Benefícios

    * Atualizações em tempo real via streaming de eventos
    * Lógica e exibição totalmente personalizáveis
    * Arquitetura escalável orientada por backend
  </Tab>
</Tabs>

***
