Amazon S3 в Adapty Attribution
Интеграция Adapty Attribution с Amazon S3 позволяет централизованно и безопасно хранить данные о кампаниях по привлечению пользователей. Вы сможете сохранять данные об эффективности кампаний, данные атрибуции и события привлечения пользователей в бакет Amazon S3 в виде .csv-файлов. Чтобы настроить эту интеграцию, выполните несколько простых шагов в AWS Console и дашборде Adapty Attribution.
Adapty Attribution экспортирует один набор файлов за каждый календарный день. Планировщик экспорта запускается три раза в день — в 02:00, 04:00 и 06:00 UTC. Каждый запуск либо создаёт задание экспорта за предыдущий день (если оно ещё не существует), либо повторяет его, если более ранний запуск завершился ошибкой. Таким образом, ваши данные, как правило, появляются после запуска в 02:00, а последующие запуски предназначены для восстановления после сбоев, а не для добавления новых данных.
Каждый файл будет содержать данные о событиях, созданных за весь предыдущий календарный день в UTC. Например, данные, экспортированные 8 марта, будут содержать все события, созданные 7 марта с 00:00:00 до 23:59:59 по UTC.
Плановый экспорт выполняется только для компаний на платном тарифе или в пробном периоде. Если ваша компания не соответствует ни одному из этих условий, планировщик пропускает экспорт и не записывает файлы, даже если интеграция остаётся включённой в дашборде. Если ваш бакет пуст, а конфигурация выглядит корректной, сначала проверьте статус вашего тарифного плана.
Как настроить интеграцию с Amazon S3
Для получения данных вам потребуются следующие учётные данные:
- Access key ID
- Secret access key
- Название бакета S3
- Название папки внутри бакета S3
Вложенные директории
В поле названия бакета Amazon S3 можно указывать вложенные директории, например: adapty-ua-events/com.sample-app
Шаг 1. Создайте учётные данные Amazon S3
Этот гайд поможет вам создать необходимые учётные данные в консоли AWS.
1.1. Создайте политику доступа
- Перейдите в IAM Policy Dashboard в консоли AWS
- Выберите Create Policy
- В редакторе политик вставьте следующий JSON и замените
adapty-s3-integration-testна имя вашего бакета:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowListObjectsInBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::adapty-s3-integration-test"
},
{
"Sid": "AllowAllObjectActions",
"Effect": "Allow",
"Action": "s3:*Object",
"Resource": [
"arn:aws:s3:::adapty-s3-integration-test/*",
"arn:aws:s3:::adapty-s3-integration-test"
]
},
{
"Sid": "AllowBucketLocation",
"Effect": "Allow",
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::adapty-s3-integration-test"
}
]
}
- После завершения настройки политики вы можете добавить теги (по желанию), а затем нажмите Next, чтобы перейти к последнему шагу
- На этом шаге укажите название политики и нажмите Create policy, чтобы завершить её создание
1.2. Создайте пользователя IAM
Чтобы Adapty Attribution мог загружать отчёты с сырыми данными в ваш бакет, вам нужно предоставить Access Key ID и Secret Access Key пользователя с правом записи в этот бакет.
- Перейдите в консоль IAM и откройте раздел Users
- Нажмите кнопку Add users
- Задайте имя пользователя, выберите Access key – Programmatic access и перейдите к настройке прав доступа
- На следующем шаге выберите опцию Add user to group, затем нажмите кнопку Create group
- Затем нужно задать имя для вашей группы пользователей и выбрать политику, которую вы создали ранее
- После выбора политики нажмите кнопку Create group, чтобы завершить процесс
- После успешного создания группы выберите её и перейдите к следующему шагу
- Это последний шаг данного раздела — просто нажмите кнопку Create User
- Наконец, вы можете скачать учётные данные в формате .csv или скопировать их напрямую из дашборда
Шаг 2. Настройка интеграции в Adapty Attribution
- Перейдите в Integrations -> Amazon S3
- Включите переключатель Export install events to Amazon S3.
- Заполните следующие поля, чтобы установить связь между Amazon S3 и профилями Adapty Attribution: | Поле | Описание | |:-----------------------------| :----------------------------------------------------------- | | Access Key ID | Уникальный идентификатор для аутентификации пользователя или приложения при доступе к сервису AWS. Найдите этот идентификатор в скачанном csv-файле. | | Secret Access Key | Приватный ключ, используемый вместе с Access Key ID для аутентификации при доступе к сервису AWS. Найдите этот ключ в скачанном csv-файле. | | S3 Bucket Name | Глобально уникальное имя, идентифицирующее конкретный бакет S3 в облаке AWS. Бакеты S3 — это простое хранилище, позволяющее загружать и получать объекты данных (файлы, изображения и т. д.) в облаке. | | Folder Inside the Bucker | Имя папки, которую вы хотите создать внутри выбранного бакета S3. Обратите внимание, что S3 эмулирует папки с помощью префиксов ключей объектов, которые по сути и являются именами папок. | | Region (опционально) | Узнайте ваш регион в консоли управления AWS в разделе вашего IAM-аккаунта. |
Ручной экспорт данных
Помимо автоматического экспорта данных о событиях в Amazon S3, Adapty UA поддерживает и ручной экспорт файлов. С его помощью вы можете выбрать конкретную дату для данных по привлечению пользователей и экспортировать их в свой бакет S3 вручную. Это даёт больше контроля над тем, какие данные и когда экспортировать.
Структура таблицы
В интеграции с AWS S3 Adapty Attribution предоставляет таблицу для хранения исторических данных о событиях установки. Таблица содержит информацию о профиле пользователя, выручке и доходах, источнике стора и других параметрах.
Обратите внимание, что эта структура может со временем расширяться — мы или наши партнёры можем добавлять новые данные. Убедитесь, что ваш код, обрабатывающий эти данные, достаточно устойчив и опирается на конкретные поля, а не на структуру в целом.
Вот структура таблицы для событий:
| Столбец | Описание |
|---|---|
adapty_profile_id | Уникальный идентификатор профиля Adapty |
install_id | Уникальный идентификатор установки |
created_at | Временна́я метка создания записи (ISO 8601) |
installed_at | Временна́я метка установки приложения (ISO 8601) |
store | Стор (ios, android) |
country | Код страны пользователя (ISO 3166-1 alpha-2) |
ip_address | IP-адрес клиента |
idfa | iOS Identifier for Advertisers |
idfv | iOS Identifier for Vendors |
gaid | Google Advertising ID (Android) |
android_id | Идентификатор устройства Android |
app_set_id | Android App Set ID |
bundle_id | Идентификатор бандла приложения (например, com.example.app) |
device_brand | Бренд устройства (например, Apple, Samsung) |
device_model | Модель устройства (например, iPhone15,2) |
os_version | Основная версия ОС |
app_version | Версия приложения, переданная SDK |
sdk_version | Версия Adapty SDK |
channel | Канал атрибуции |
campaign_id | Идентификатор кампании |
campaign_name | Название кампании |
adset_id | Идентификатор группы объявлений |
adset_name | Название группы объявлений |
ad_id | Идентификатор объявления |
ad_name | Название объявления |
keyword_id | Идентификатор ключевого слова |
keyword_name | Ключевое слово |
asa_org_id | Идентификатор организации Apple Search Ads |
asa_keyword_match_type | Тип соответствия ключевого слова ASA (Exact, Broad) |
asa_attribution | Данные атрибуции ASA (строка JSON) |
asa_conversion_type | Тип конверсии ASA |
asa_country_or_region | Страна или регион ASA |
asa_creative_set_name | Название креативного набора ASA |
fbclid | Facebook Click ID |
ttclid | TikTok Click ID |
utm_source | Параметр UTM source |
utm_medium | Параметр UTM medium |
utm_campaign | Параметр UTM campaign |
utm_term | Параметр UTM term |
utm_content | Параметр UTM content |
click_time | Временна́я метка атрибутированного клика в секундах Unix. Пустое значение, если клик к установке не атрибутирован. |