---
title: "Singular"
description: "Integra Singular con Adapty para analizar datos de marketing y suscripciones."
---

[Singular](https://www.singular.net/) es una de las principales plataformas MMP (Mobile Measurement Partner) que recopila y presenta datos de campañas de marketing, lo que ayuda a las empresas a hacer seguimiento del rendimiento de sus campañas.

Adapty proporciona un conjunto completo de datos que te permite rastrear [eventos de suscripción](events) desde los stores en un solo lugar. Con Adapty, puedes ver fácilmente el comportamiento de tus suscriptores, conocer sus preferencias y usar esa información para comunicarte con ellos de forma dirigida y efectiva. Esta integración te permite, por tanto, rastrear eventos de suscripción en Singular y analizar con precisión cuántos ingresos generan tus campañas.

Adapty puede enviar a Singular todos los eventos de suscripción configurados en tu integración. Como resultado, podrás hacer seguimiento de esos eventos desde el dashboard de Singular. Esta integración es especialmente útil para evaluar la efectividad de tus campañas publicitarias.

## Configurar la integración \{#set-up-integration\}

### Conectar Adapty con Singular \{#connect-adapty-to-singular\}

Para configurar la integración con Singular, ve a [Integrations > Singular](https://app.adapty.io/integrations/singular) en tu Adapty Dashboard, activa el interruptor y rellena los campos.

Las siguientes credenciales están disponibles:

- **Singular SDK Key**: Obligatoria. La clave SDK de producción de tu app en Singular.
- **Singular SDK Key (Sandbox)**: Opcional. La clave SDK para tu app de Singular en sandbox. Si no se configura, los eventos de sandbox no se enviarán a Singular.

Ambas claves se encuentran en el dashboard de Singular en **Developer tools -> SDK Keys -> SDK Key (**no** SDK Secret)**:

  <img src="/assets/shared/img/4bc50d1-singular_sdk_key.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Debajo de las credenciales encontrarás tres grupos de eventos que puedes enviar a Singular desde Adapty. Consulta la lista completa de eventos que ofrece Adapty [aquí](events).

  <img src="/assets/shared/img/e67de0c-singular_events.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Te recomendamos usar los nombres de evento predeterminados que proporciona Adapty, aunque puedes modificarlos según tus necesidades.

Adapty enviará los eventos de suscripción a Singular mediante una integración server-to-server, lo que te permitirá ver todos los eventos de suscripción en tu dashboard de Singular y vincularlos con tus campañas de adquisición.

:::warning
Los perfiles creados antes de configurar las integraciones no podrán enviar sus eventos a Singular.
:::

### Conectar tu app con Singular \{#connect-your-app-to-singular\}

La integración entre Adapty y Singular es server-to-server, por lo que no necesitas añadir ningún código adicional en tu aplicación.

## Estructura del evento \{#event-structure\}

Adapty envía eventos a Singular mediante una solicitud GET con parámetros de consulta. Cada evento tiene esta estructura:

```json
{
  "n": "subscription_renewed",
  "a": "singular_sdk_key_123",
  "p": "iOS",
  "i": "com.example.app",
  "ip": "192.168.100.1",
  "idfa": "00000000-0000-0000-0000-000000000000",
  "idfv": "00000000-0000-0000-0000-000000000000",
  "ve": "17.0.1",
  "att_authorization_status": 3,
  "custom_user_id": "user_12345",
  "utime": 1709294400,
  "amt": 9.99,
  "cur": "USD",
  "purchase_product_id": "yearly.premium.6999",
  "purchase_transaction_id": "GPA.3383...",
  "e": "{\"is_revenue_event\":true,\"amt\":9.99,\"cur\":\"USD\",\"purchase_product_id\":\"yearly.premium.6999\",\"purchase_transaction_id\":\"GPA.3383...\"}"
}
```

Donde:

| Parámetro                  | Tipo    | Descripción                                                    |
|:---------------------------|:--------|:---------------------------------------------------------------|
| `n`                        | String  | El nombre del evento (mapeado desde el evento de Adapty).      |
| `a`                        | String  | Tu Singular SDK Key.                                           |
| `p`                        | String  | Plataforma ("iOS" o "Android").                                |
| `i`                        | String  | ID de la app en el store (Bundle ID).                          |
| `ip`                       | String  | Dirección IP del usuario.                                      |
| `idfa`                     | String  | **Solo iOS**. ID for Advertisers (en mayúsculas).              |
| `idfv`                     | String  | **Solo iOS**. ID for Vendors (en mayúsculas).                  |
| `aifa`                     | String  | **Solo Android**. Google Advertising ID (en minúsculas).       |
| `andi`                     | String  | **Solo Android**. Android ID (en minúsculas).                  |
| `asid`                     | String  | **Solo Android**. App Set ID (en minúsculas).                  |
| `ve`                       | String  | Versión del sistema operativo.                                 |
| `att_authorization_status` | Integer | **Solo iOS**. Estado ATT (p. ej., `3` para autorizado).        |
| `custom_user_id`           | String  | El Customer User ID del usuario.                               |
| `utime`                    | Long    | Marca de tiempo UNIX del evento en segundos.                   |
| `amt`                      | Float   | Importe de los ingresos.                                       |
| `cur`                      | String  | Código de moneda (p. ej., "USD").                              |
| `purchase_product_id`      | String  | El ID del producto en el store.                                |
| `purchase_transaction_id`  | String  | ID de transacción original.                                    |
| `e`                        | String  | Cadena JSON con los detalles del evento (ver más abajo).       |

El parámetro `e` (datos de evento personalizados) es una cadena codificada en JSON que contiene:

| Parámetro                 | Tipo    | Descripción                                    |
|:--------------------------|:--------|:-----------------------------------------------|
| `is_revenue_event`        | Boolean | `true` si el evento incluye ingresos.          |
| `amt`                     | Float   | Importe de los ingresos.                       |
| `cur`                     | String  | Código de moneda.                              |
| `purchase_product_id`     | String  | El ID del producto en el store.                |
| `purchase_transaction_id` | String  | ID de transacción original.                    |