---
title: "Singular"
description: "Интегрируйте Singular с Adapty для анализа маркетинговых данных и данных о подписках."
---

[Singular](https://www.singular.net/) — одна из ведущих платформ Mobile Measurement Partner (MMP), которая собирает и представляет данные из маркетинговых кампаний. Это помогает компаниям отслеживать эффективность своих кампаний.

Adapty предоставляет полный набор данных, позволяющий отслеживать [события подписок](events) из сторов в одном месте. С помощью Adapty вы можете легко анализировать поведение подписчиков, понимать их предпочтения и использовать эту информацию для точечной и эффективной коммуникации. Данная интеграция позволяет отслеживать события подписок в Singular и точно анализировать, какой доход приносят ваши кампании.

Adapty может отправлять все события подписок, настроенные в вашей интеграции, в Singular. В результате вы сможете отслеживать эти события в дашборде Singular. Интеграция полезна для оценки эффективности рекламных кампаний.

## Настройка интеграции \{#set-up-integration\}

### Подключение Adapty к Singular \{#connect-adapty-to-singular\}

Чтобы настроить интеграцию с Singular, перейдите в раздел [Integrations > Singular](https://app.adapty.io/integrations/singular) в дашборде Adapty, включите переключатель и заполните поля.

Доступны следующие учётные данные:

- **Singular SDK Key**: Обязательное поле. Производственный SDK-ключ для вашего приложения в Singular.
- **Singular SDK Key (Sandbox)**: Необязательное поле. SDK-ключ для вашего приложения в песочнице Singular. Если не задан, события песочницы не будут отправляться в Singular.

Оба ключа можно найти в дашборде Singular в разделе **Developer tools -> SDK Keys -> SDK Key (**не** 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 */
  }}
/>

Ниже учётных данных расположены три группы событий, которые можно отправлять в Singular из Adapty. Полный список событий, доступных в Adapty, смотрите [здесь](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 */
  }}
/>

Рекомендуем использовать названия событий по умолчанию, предоставляемые Adapty. При необходимости вы можете изменить их под свои нужды.

Adapty будет отправлять события подписок в Singular через интеграцию сервер-к-серверу, что позволит просматривать все события подписок в дашборде Singular и связывать их с вашими рекламными кампаниями.

:::warning
Профили, созданные до настройки интеграции, не смогут передавать свои события в Singular.
:::

### Подключение приложения к Singular \{#connect-your-app-to-singular\}

Интеграция между Adapty и Singular осуществляется по схеме сервер-к-серверу. Поэтому добавлять дополнительный код в приложение не нужно.

## Структура события \{#event-structure\}

Adapty отправляет события в Singular через GET-запрос с использованием параметров запроса. Каждое событие имеет следующую структуру:

```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...\"}"
}
```

Где:

| Параметр                   | Тип     | Описание                                                        |
|:---------------------------|:--------|:----------------------------------------------------------------|
| `n`                        | String  | Название события (сопоставленное с событием Adapty).            |
| `a`                        | String  | Ваш Singular SDK Key.                                           |
| `p`                        | String  | Платформа ("iOS" или "Android").                                |
| `i`                        | String  | Store App ID (Bundle ID).                                       |
| `ip`                       | String  | IP-адрес пользователя.                                          |
| `idfa`                     | String  | **Только iOS**. ID для рекламодателей (в верхнем регистре).     |
| `idfv`                     | String  | **Только iOS**. ID для вендоров (в верхнем регистре).           |
| `aifa`                     | String  | **Только Android**. Google Advertising ID (в нижнем регистре). |
| `andi`                     | String  | **Только Android**. Android ID (в нижнем регистре).            |
| `asid`                     | String  | **Только Android**. App Set ID (в нижнем регистре).            |
| `ve`                       | String  | Версия ОС.                                                      |
| `att_authorization_status` | Integer | **Только iOS**. Статус ATT (например, `3` — авторизован).      |
| `custom_user_id`           | String  | Customer User ID пользователя.                                  |
| `utime`                    | Long    | UNIX-временная метка события в секундах.                        |
| `amt`                      | Float   | Сумма дохода.                                                   |
| `cur`                      | String  | Код валюты (например, "USD").                                   |
| `purchase_product_id`      | String  | ID продукта в сторе.                                            |
| `purchase_transaction_id`  | String  | Оригинальный ID транзакции.                                     |
| `e`                        | String  | JSON-строка с деталями события (см. ниже).                      |

Параметр `e` (данные пользовательского события) — это JSON-строка, содержащая:

| Параметр                  | Тип     | Описание                                              |
|:--------------------------|:--------|:------------------------------------------------------|
| `is_revenue_event`        | Boolean | `true`, если событие содержит данные о доходе.        |
| `amt`                     | Float   | Сумма дохода.                                         |
| `cur`                     | String  | Код валюты.                                           |
| `purchase_product_id`     | String  | ID продукта в сторе.                                  |
| `purchase_transaction_id` | String  | Оригинальный ID транзакции.                           |