Потоковая передача сырых данных через Push API

Краткий обзор. Отправляйте сырые данные о событиях атрибуции на серверные конечные точки.

6970_Push_API_image.png

Материал по теме: Сравнение инструментов доставки сырых данных

Push API V2.0

Push API передает события с сырыми данными, созданные средствами атрибуции AppsFlyer и SKAdNetwork (субъекты, выполняющие атрибуцию), в виде сообщений на ваши серверы. Вы можете выбрать типы и контент сообщений и задать конечные точки.

Доступные типы сообщений, частота обновления данных и поля зависят от выполняющего атрибуцию субъекта (AppsFlyer или SKAdNetwork), как описано в следующих разделах. 

SelectAttributingEntity.png

Сообщения атрибуции AppsFlyer

Характеристики сообщения
Характеристика Детали
Разделение сообщений на типы
  • Сообщения могут разделяться по конечных точкам (до 6 конечных точек на приложение), или тип сообщения можно определять по значениям следующих полей:
    • event_name
    • conversion_type
    • campaign_type 
  • Значения полей по каждому типу сообщений указаны в следующей таблице.

Пример:

Сообщение содержит следующие данные:

  • conversoin_type=install
  • campaign_type=organic
  • event_name=install

Используя таблицу, определяем, что оно является событием установки, выполненной органическим пользователем. 

Актуальность данных

Сообщения отправляются вскоре после регистрации события на платформе AppsFlyer. Обычно в течение нескольких минут. 

Содержание сообщения (поля)
  • Сообщения имеют структуру ключ:значение.
  • См. доступные поля Push API для атрибуции AppsFlyer.
  • Каждый ключ представляет собой поле с сырыми данными. См. описание полей с сырыми данными в AppsFlyer
  • Пустые ключи и ключи со значением null не отправляются.
  • Примеры ниже содержат пустые поля. В реальных постбэках нет пустых полей.
Формат полей меток времени
  • Метки времени UTC: гггг-мм-дд чч:мм:сс.ссс. Например, 2019-09-17 00:09:00.123. Событие произошло в 18:00 по токийскому времени. Время события преобразуется в UTC: 09:00. Регистрируется время UTC. 
  • Временные метки выбранного часового пояса (для конкретного приложения): гггг-мм-дд чч:мм:сс.ссс±th:tm. Например, 2019-09-17 18:00:16.000+0900. Событие произошло в 18:00 по токийскому времени. Показанное время события регистрируется как 18:00+09:00. 09:00 — обозначение часового пояса Токио. 
Доступные типы сообщений

 

Атрибуция

контекст

Тип сообщения

Поле conversion_type

Поле campaign_type

Поле event_name

Привлечение пользователей Установка* установка

Неорганический: UA

Органические: organic

установка

Привлечение пользователей  События внутри приложения при установке установка

Неорганический: UA

Органические: organic

Имена событий, определяемые рекламодателем

Ретаргетинг

повторное вовлечение повторное вовлечение retargeting повторное вовлечение
Ретаргетинг События повторного вовлечения внутри приложения повторное вовлечение retargeting Имена событий, определяемые рекламодателем
Ретаргетинг Реатрибуция Повторные установки retargeting Реатрибуция
Привлечение пользователей  Повторные установки Повторные установки

Неорганический: UA

Органические: organic

Повторные установки

Ретаргетинг События реатрибуции внутри приложения Повторные установки retargeting Имена событий, определяемые рекламодателем
* Некоторые установки, связанные с атрибуцией по просмотрам, атрибутируются ограниченному медиа-источнику.
Уникальные поля
Отображаемое имя Поле Push API V2.0
Выбранная валюта* selected_currency
Выручка в выбранной валюте revenue_in_selected_
валюта
Затраты в выбранной валюте cost_in_selected_
валюта
Время загрузки на устройство согласно выбранному часовому поясу device_download_time_selected_timezone
Время атрибутированного взаимодействия согласно выбранному часовому поясу attributed_touch_time_selected_timezone
Время установки согласно выбранному часовому поясу install_time_selected_
часовой пояс
Время события согласно выбранному часовому поясу event_time_selected_
часовой_пояс

Выбранный часовой пояс(*)

selected_timezone
*Это настройка уровня приложения, действующая на момент отправки сообщения API.

Сообщения атрибуции SKAdNetwork

В этом разделе описаны сообщения (типы отчетов), доступные для SKAdNetwork, и способы их идентификации. Ознакомившись с содержимым этого раздела, переходите к разделу Настройка конечной точки для атрибуции SKAdNetwork.

Материал по теме: Поля с сырыми данными SKAdNetwork. Сообщения Push API имеют аналогичную структуру и поля. 

Характеристики сообщения
Характеристика Детали
Разделение сообщений на типы
  • Все сообщения отправляются на одну заданную вами конечную точку.
  • Чтобы определить тип сообщения, используйте следующие поля:
    • event_name
    • skad_redownload
  • Значения полей по каждому типу сообщений указаны в следующей таблице.

Пример:

Сообщение содержит следующие данные:

  • event_name: af_skad_install
  • skad_redownload: true

По skad_redownload: true можно определить, что это событие повторной загрузки. 

Актуальность данных
  • Установки, повторные загрузки и внутренние события приложения:
    • Обрабатываются ежедневно
    • Отправляются на вашу конечную точку на следующий день после получения AppsFlyer постбэка iOS
    • Ожидайте сообщения о событиях с 05:00 до 08:00 UTC (точное время может меняться)
    • Пример: постбэки, полученные в понедельник, отправляются, начиная с 05:00 UTC вторника
  • Постбэки от iOS: сообщения отправляются вскоре после поступления в AppsFlyer
Примеры сообщений Файл содержит примеры сообщений. Они имеют формат JSON. Примеры сообщений SKAdNetwork.

 

Типы сообщений для атрибуции SKAdNetwork
Тип сообщения 

Поле event_name

Поле skad_redownload

Установки  af_skad_install
  • Возможные значения: false, blank, null. 
  • Если поля нет в сообщении, значением считается false. 
Повторные загрузки  af_skad_install true
In-App Events (Внутренние события приложения) 

Имя события, заданное рекламодателем

Имя события, заданное рекламодателем
Постбэки от iOS

Недоступно в этом сообщении

Иногда доступно


Определение типа сообщения атрибуции SKAdNetwork

Push_API__2_.png

Настройка конечных точек Push API

 Внимание

Не используйте Push API для отправки данных третьим сторонам, поскольку:

  • Вы можете нарушить законы о конфиденциальности, такие как GDPR, если пользователь сообщил о своем нежелании передавать данные третьим сторонам.
  • Некоторые медиа-источники ограничивают использование предоставляемых ими данных уровня пользователя, передачу таких данных третьим сторонам, или и то, и другое. Убедитесь, что вы соблюдаете условия использования медиа-источников,
    например, Facebook, Twitter, Snapchat, Pinterest.

Чтобы настроить Push API, выполните следующий список действий.

Чек-лист по настройке Push API
Шаг  Атрибуция Appsflyer Атрибуция SKAdNetwork 
1

Если у вас уже есть активная конечная точка Push API, этот шаг можно пропустить. 

Заполните требования к серверу.

2

Для атрибуции AppsFlyer планируйте настройки конечных точек с помощью чек-листа для планирования Push API.

Не применимо

3

Настройка конечной точки для атрибуции AppsFlyer

Настройка конечной точки для атрибуции SKAdNetwork

Требования к серверу (ваш сервер)

Убедитесь, что ваш сервер соответствует следующим требованиям: 

Требования к серверу
URL-адрес конечной точки
  • Действительное доменное имя
  • Максимальное количество конечных точек:
    • Атрибуция AppsFlyer: 6 конечных точек. Каждая конечная точка должна использоваться для каждого приложения только один раз.
    • Атрибуция SKAdNetwork: 1 конечная точка. Конечная точка может отличаться от конечной точки для атрибуции AppsFlyer или совпадать с ней. 
Ответный код конечной точки После получения сообщения конечная точка должна вернуть код состояния HTTP 200.
Список одобренных серверов AppsFlyer

Для обеспечения связи с конечной точкой занесите IP-адреса серверов AppsFlyer в разрешенный список ваших межсетевых экранов и систем безопасности.

Версии TLS
Порты 

Порты: 80, 443

Чек-лист планирования Push API для атрибуции AppsFlyer

  • Используйте этот чек-лист для планирования настроек конечных точек AppsFlyer. Цифры на рисунке соответствуют номерам строк в чек-листе.
  • Этот раздел неактуален для атрибуции SKAdNetwork. См. раздел Настройка атрибуции SKAdNetwork. 

Конечная точка

PushAPI_us-en.png

Таблица планирования конечных точек

Нет.

Настройки

Детали Используйте этот столбец для записи планируемых настроек
1

Метод

POST или GET

 

2

URL-адрес конечной точки

-  
3 Типы сообщений о событиях
  • Выберите хотя бы один тип сообщения о событии.
  • Чтобы выбрать сообщения о событиях в приложении, необходимо зарегистрировать внутреннее событие. Без этого вы не можете выбрать сообщения о событиях в приложении.

InappSelectionDisabled_us-en.png

 

4

  • Поля
  • Список полей является общим для всех типов сообщений

Выберите нужные поля.

  • Наиболее часто используемые поля уже выбраны по умолчанию.
  • Мы не отправляем пустые поля
 
5

Типы внутренних событий

 

Фильтруйте по внутренним событиям, чтобы уменьшить трафик, отправляемый на вашу конечную точку.

  • Выберите один или несколько типов событий внутри приложения. Внимание! Если событие не отображается в списке, задайте его поиск. 
  • Если вы выберете все, новые внутренние события приложения будут добавляться автоматически. 
  • Внутреннее событие можно выбрать только после того, как оно будет зарегистрировано хотя бы один раз.
  • mceclip1.png
 
Facebook Намереваетесь ли вы отправлять данные пользователей, атрибутированных Facebook?
  • Чтобы получать данные Facebook, убедитесь, что вы приняли условия использования Facebook. 

 

Настройка конечной точки для атрибуции AppsFlyer

  • Только администратор может изменять настройки API, члены команды могут их просматривать.
AppsFlyerAdmin_us-en.png Чтобы добавить конечную точку атрибуции AppsFlyer:
  1. Перейдите в раздел Интеграция > Доступ к API. Прокрутите вниз до раздела Push API.
  2. Нажмите Добавить конечную точку. 
  3. Выберите метод HTTP: POST или GET
  4. Введите URL-адрес конечной точки. Если вы получили сообщение «Этот URL-адрес небезопасен», свяжитесь со службой поддержки AppsFlyer.
  5. Выберите один или несколько типов событий. Примечание. Если сообщения о внутренних событиях отключены, значит, пока не было записано ни одного внутреннего события.
  6. Выберите поля, которые нужно включить в сообщение Push API. Внимание:
    • Всегда отправляются обязательные поля: идентификатор приложения, имя события, время события, IDFA (iOS) или Advertising ID (Android)
    • Чтобы выбрать дополнительные поля, используйте элементы управления, изображенные на рисунке ниже.

      PushAPIFieldSelect1.jpg

      • Наиболее часто используемые поля уже выбраны по умолчанию. Вы можете отменить их выбор.
      • Выберите нужные вам дополнительные поля.
      • Выберите Очистить все , чтобы очистить все дополнительные поля.
      • Мы не отправляем пустые поля и связанный с ними ключ. Просим учесть это при планировании ваших процессов импорта/анализа.
  7. Выберите одно или несколько (до 52) событий или Все события в приложении.
    • Список заполняется типами событий, которые уже зарегистрированы. Если какое-то событие отсутствует, отправьте событие такого типа с помощью тестового устройства.
  8. Нажмите Сохранить.
    Push API активен. Данные о конверсиях отправляются на конечную точку.
  9. Проверьте конечную точку в соответствии с описанной ниже процедурой.
  10. Если вы хотите получать события, атрибутированные Facebook, нужно принять  условия использования Facebook.  (Требуется для атрибуции AppsFlyer, но не для атрибуции SKAdNetwork).

Чтобы проверить конечную точку:

  1. Нажмите Send Test (Отправить тест). 
    Сообщение с результатом теста появится под кнопкой Send Test (Отправить тест) 
    Тестовое сообщение отправлено на конечную точку. Если тест пройдет неудачно, проверьте, внесены ли IP-адреса AppsFlyer в список разрешенных
    Внимание! Действует механизм тайм-аута со временем ожидания 3 секунды. Если за это время AppsFlyer не получит сообщение OK, AppsFlyer будет считать это сбоем отправки сообщения. 
  2. Проверьте, получено ли тестовое сообщение конечной точкой.
    Смотреть копию отправленного сообщения. 

Настройка конечной точки для атрибуции SKAdNetwork

Примечание. Только администратор может изменять настройки API. Члены команды могут просматривать настройки Push API.

AppsFlyerAdmin_us-en.png Чтобы добавить конечную точку SKAdNetwork для Push API:
  1. Перейдите в раздел Интеграция > Доступ к API. Прокрутите вниз до раздела Push API.
  2. Выберите SKAdNetwork в качестве субъекта, выполняющего атрибуцию. 
  3. Нажмите Add Endpoint (Добавить конечную точку). 
    Примечание
    . Можно задать одну конечную точку SKAdNetwork на приложение. 
  4. Выберите метод HTTP: POST или GET
  5. Введите URL-адрес конечной точки. Если вы получили сообщение «Этот URL-адрес небезопасен», свяжитесь со службой поддержки AppsFlyer.
  6. Мы не отправляем пустые поля и связанный с ними ключ. Просим учесть это при планировании ваших процессов импорта/анализа.
  7. Нажмите Сохранить.
    Push API активен. Данные отправляются на конечную точку. 

Дополнительные процедуры: управление конечными точками

Изменение конечной точки

Примечание. Только администратор может изменять настройки API. Члены команды могут просматривать настройки Push API.

AppsFlyerAdmin_us-en.png Чтобы изменить настройки конечной точки: 

  1. Выберите в разделе Интеграция пунктДоступ к API.Прокрутите вниз до раздела Push API.
  2. Найдите конечную точку, которую нужно изменить.
  3. Внесите изменения.
  4. Нажмите кнопку Save (Сохранить).

Удаление конечной точки

Примечание. Только администратор может изменять настройки API. Члены команды могут просматривать настройки Push API.

AppsFlyerAdmin_us-en.pngЧтобы удалить конечную точку:

  1. Выберите в разделе Интеграция пункт Доступ к API. Прокрутите вниз до раздела «Доступ к Push API».
  2. Нажмите Удалить конечную точку.
  3. Нажмите кнопку Сохранить.
    Конечная точка удалена. 

Поиск и устранение неполадок, особенности и ограничения

Ошибка отправки тестового сообщения

Если вы не получили тестовое сообщение, и доступ к вашим серверам органичен по IP-адресу, проверьте, что все IP-адреса AppsFlyer внесены в разрешенный список.

Повторяющиеся события ретаргетинга в приложении

События ретаргетинга в приложении дублируются, когда событие покупки происходит как часть кампании ретаргетинга во время окна повторного вовлечения UA. Это сделано, чтобы атрибутировать доход как медиа-источнику UA, так и медиа-источнику ретаргетинга. 

Вы будете получать дублированные события, только если активированы одновременно:

  • События внутри приложения при установке
  • События ретаргетинга внутри приложений.

Выявление и дедупликация внутренних событий приложения

 

Выбор сообщений о событиях приложения отключен

InappSelectionDisabled_us-en.png

  • Событие приложения можно выбрать только после того, как было зарегистрировано хотя бы одно такое событие.
  • Используйте тестовое устройство, чтобы сгенерировать внутреннее событие, или S2S API, чтобы сделать это вручную. 

Отсутствующие данные Facebook

По умолчанию Facebook не передает сырые данные уровня пользователя, пока вы не примете Условия использования Facebook. 
Когда вы примете условия, данные уровня пользователя, поступающие от Facebook, будут передаваться через Push API.

Отсутствующие push-сообщения и CloudFront

Вы используете Amazon CloudFront в качестве конечной точки? Если да, проверьте, не отклоняет ли CloudFront сообщение с кодом 421. Если это так, обратитесь к статье Как CloudFront отрабатывает запросы HTTPS.

Сообщения об ошибках конечных точек

Признак: сообщение этот URL-адрес небезопасен отображается при установке URL-адреса конечной точки.

Требуется действие: обратитесь в службу поддержки AppsFlyer; сообщите идентификатор приложения, URL-адрес конечной точки и приложите скриншот с сообщением об ошибке.  

Ограничения и особенности

Особенности
Специфика Заметки 
Рекламным сетям Недоступно 
Агентства Не доступно
Часовой пояс приложения Поддерживается
Валюта приложения  Поддерживается
Ограничения на размер Не применимо
Органическая  Да
Неорганические Да
Актуальность данных Непрерывно 
Исторические данные Не поддерживаются. Чтобы получать исторические данные, используйте Pull API. 
Доступ члена команды Члены команды могут просматривать настройки Push API, но не могут их изменять.
Была ли эта статья полезной?