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

# Actividad social

> Aprende cómo usar OneSignal para enviar notificaciones push para acciones sociales como me gusta, seguimientos e invitaciones, así como para mensajes directos entre usuarios.

Usa OneSignal para notificar a los usuarios sobre actividad social (me gusta, seguimientos, invitaciones) y mensajes de usuarios. Estas alertas pueden impulsar el re-compromiso incluso cuando los usuarios no están actualmente activos en tu aplicación.

<Warning>
  OneSignal y las notificaciones push no están diseñadas explícitamente para comunicación en tiempo real. Se usan mejor como respaldo cuando ambos usuarios no están activos en tu aplicación.

  Para comunicación en tiempo real, considera soluciones dedicadas de chat en vivo como:

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

***

## Notificaciones de actividad social

Activa una notificación push cuando un usuario está involucrado en acciones sociales.

### Acciones sociales comunes

| Acción  | Mensaje de ejemplo                       |
| ------- | ---------------------------------------- |
| Like    | "Anna le dio me gusta a tu publicación." |
| Mention | "Leo te mencionó en un comentario."      |
| Tag     | "Sara te etiquetó en una foto."          |
| Invite  | "Ben te invitó al evento."               |
| Comment | "Maya respondió: '¡Se ve increíble!'"    |
| Follow  | "James comenzó a seguirte."              |
| Share   | "Alex compartió 'Álbum Hawaii' contigo." |

### Requisitos

* Un backend o CRM que rastree la actividad del usuario y las relaciones.
  * [Integración](./integrations)
  * [Integración de base de datos, DMP y CRM](./database-dmp-crm-integration)
* External IDs establecidos en OneSignal para identificar usuarios.
* Usar nuestro [API Create Notification](/reference/create-message).

### Configuración

#### 1. Mapear usuarios con External ID

Usa [Aliases & External ID](./users) para identificar únicamente usuarios en OneSignal.

#### 2. Detectar la acción social

En tu backend, rastrea quién realizó la acción y a quién afecta.

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

#### 3. Enviar una notificación push

Usa el API de OneSignal para notificar al destinatario:

```json theme={null}
{
  "app_id": "YOUR_APP_ID",
  "contents": { "en": "user_b le dio me gusta a tu foto." },
  "include_aliases": { "external_id": ["user_a"] }
}
```

### Complementos

* ¡Usa [Personalización de mensajes](./message-personalization) para insertar datos personalizados como nombres de usuario, títulos de publicaciones, imágenes y más!
* Muestra un historial de alertas sociales usando un [Feed de actividad](./create-an-activity-feed).

***

## Mensajes directos (usuario a usuario)

Haz saber a los usuarios que tienen un nuevo mensaje y opcionalmente incluye contenido del mensaje o un enlace profundo al chat.

<Warning> Las notificaciones push se usan mejor como respaldo cuando ambos usuarios no están activamente chateando en la aplicación. </Warning>
Envía un push cuando el Usuario A envía un mensaje al Usuario B, y B no está actualmente en línea o en la pantalla de chat.

### Configuración

#### 1. Mapear usuarios con External ID

Usa [Aliases & External ID](./users) para identificar únicamente usuarios en OneSignal.

#### 2. Activar una notificación al enviar mensaje

Desde tu backend, envía un push al destinatario usando el [API Create Notification](/reference/push-notification) con el campo `include_aliases`:

```json theme={null}
{
  "include_aliases": {
    "external_id": ["USER_B_ID"]
  },
  "contents": { "en": "Nuevo mensaje de Anna: 'Oye, ¿estás por ahí?'" },
  "headings": { "en": "Nuevo mensaje" },
  "data": {
    "sender_id": "user_a",
    "conversation_id": "chat_1234",
    "click_action": "open_chat"
  }
}

```

### Mejores prácticas

* Evita el spam: No envíes una notificación por cada mensaje individual. Usa agrupación o solo alerta después de X minutos de inactividad.
* Respeta la configuración del usuario: Deja que los usuarios silencien o deshabiliten notificaciones de mensajes si es necesario.
* Usa lógica de enrutamiento en tu aplicación para abrir la conversación. Consulta [Deep Linking](./deep-linking) para más información.

***

## Artículos relacionados

* [Crear un feed de actividad](./create-an-activity-feed)
* [Deep Linking](./deep-linking)
* [Personalización de mensajes](./message-personalization)
* [Mensajes transaccionales](./transactional-messages)

***
