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

# Social Activity

> Aprenda como usar o OneSignal para enviar notificações push para ações sociais como curtidas, seguidas e convites, bem como para mensagens diretas de usuário para usuário.

Use o OneSignal para notificar usuários sobre atividades sociais (curtidas, seguidas, convites) e mensagens de usuários. Esses alertas podem impulsionar o reengajamento mesmo quando os usuários não estão atualmente ativos no seu app.

<Warning>
  O OneSignal e as notificações push não são projetados explicitamente para comunicação em tempo real. Eles são melhor usados como fallback quando ambos os usuários não estão ativos no seu app.

  Para comunicação em tempo real, considere soluções dedicadas de chat ao vivo como:

  * [XMPP](https://xmpp.org/)
  * [Stream](https://getstream.io/chat/)
  * [Firebase Realtime Database](https://firebase.google.com/products/database)
</Warning>

***

## Notificações de atividade social

Acione uma notificação push quando um usuário estiver envolvido em ações sociais.

### Ações sociais comuns

| Ação         | Mensagem de exemplo                         |
| ------------ | ------------------------------------------- |
| Curtida      | "Anna curtiu sua postagem."                 |
| Menção       | "Leo mencionou você em um comentário."      |
| Tag          | "Sara marcou você em uma foto."             |
| Convite      | "Ben convidou você para o evento."          |
| Comentário   | "Maya respondeu: 'Parece incrível!'"        |
| Seguir       | "James começou a seguir você."              |
| Compartilhar | "Alex compartilhou 'Álbum Havaí' com você." |

### Requisitos

* Um backend ou CRM que rastreie atividade do usuário e relacionamentos.
  * [Integração](./integrations)
  * [Integração Database, DMP e CRM](./database-dmp-crm-integration)
* IDs Externos definidos no OneSignal para identificar usuários.
* Usar nossa [API Create Notification](/reference/create-message).

### Configuração

#### 1. Mapear usuários com ID Externo

Use [Aliases e ID Externo](./users) para identificar exclusivamente usuários no OneSignal.

#### 2. Detectar a ação social

No seu backend, rastreie quem realizou a ação e quem ela afeta.

```json json theme={null}
{
  "action": "like",
  "actor_id": "user_b",
  "recipient_id": "user_a",
  "post_id": "xyz789"
}
```

#### 3. Enviar uma notificação push

Use a API do OneSignal para notificar o destinatário:

```json theme={null}
{
  "app_id": "YOUR_APP_ID",
  "contents": { "en": "user_b liked your photo." },
  "include_aliases": { "external_id": ["user_a"] }
}
```

### Complementos

* Use [Personalização de Mensagens](./message-personalization) para inserir dados personalizados como nomes de usuário, títulos de postagens, imagens e muito mais!
* Exiba um histórico de alertas sociais usando um [Feed de Atividades](./create-an-activity-feed).

***

## Mensagens diretas (usuário para usuário)

Permita que os usuários saibam que têm uma nova mensagem e opcionalmente inclua o conteúdo da mensagem ou um deep link para o chat.

<Warning> Notificações push são melhor usadas como fallback quando ambos os usuários não estão ativamente conversando no app. </Warning>
Envie um push quando o Usuário A envia uma mensagem ao Usuário B, e B não está atualmente online ou na tela de chat.

### Configuração

#### 1. Mapear usuários com ID Externo

Use [Aliases e ID Externo](./users) para identificar exclusivamente usuários no OneSignal.

#### 2. Acionar uma notificação ao enviar mensagem

Do seu backend, envie um push ao destinatário usando a [API Create Notification](/reference/push-notification) com o campo `include_aliases`:

```json theme={null}
{
  "include_aliases": {
    "external_id": ["USER_B_ID"]
  },
  "contents": { "en": "New message from Anna: 'Hey, you around?'" },
  "headings": { "en": "New Message" },
  "data": {
    "sender_id": "user_a",
    "conversation_id": "chat_1234",
    "click_action": "open_chat"
  }
}

```

### Melhores práticas

* Evite spam: Não envie uma notificação para cada mensagem individual. Use agrupamento ou alerte apenas após X minutos de inatividade.
* Respeite as configurações do usuário: Permita que os usuários silenciem ou desabilitem notificações de mensagens se necessário.
* Use lógica de roteamento no seu app para abrir a conversa. Veja [Deep Linking](./deep-linking) para mais informações.

***

## Artigos relacionados

* [Criar um Feed de Atividades](./create-an-activity-feed)
* [Deep Linking](./deep-linking)
* [Personalização de Mensagens](./message-personalization)
* [Mensagens Transacionais](./transactional-messages)

***
