Налаштування аналітики доставлень та кліків
Показники доставки та кліків допомагають детально аналізувати успішність мобільних push-кампаній. Для відображення цих даних у eSputnik потрібно налаштувати повернення статусу повідомлень до нашої системи.
ВажливоПерш ніж розпочати налаштування повернення статусів повідомлень, інтегруйте мобільний застосунок з eSputnik і завантажте контактну базу токенів.
Ми пропонуємо 2 способи передачі статусів: Public API та інтеграція з Firebase Message Cloud та BigQuery.
Зверніть увагуНаведені нижче методи аналітики доставок та кліків призначені для проектів, які не встановили наш SDK
Public API
Використовуйте API-метод Update interaction status, щоб повернути статус DELIVERED (якщо повідомлення було доставлене на пристрій).
Разом зі значенням статусу в interfaceId в тілі запиту потрібно передати FCM-токен і час зміни статусу на пристрої.
Приклад:
{
"token": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"status": "delivered",
"time": "2020-07-09T15:11:17Z"
}Експорт даних про доставку повідомлень залежить від операційної системи пристрою одержувача.
iOS
Використовуйте Notification Service Extension та API-виклик у сервісному розширенні, щоб отримати звіт про статуси push-повідомлень.
- Встановіть Notification Service Extension у своєму мобільному застосунку.
- У
didReceiveNotificationRequestдодайте код для виклику веб-сервісу, щоб повідомити ваш сервер про отримане повідомлення.
- Перевизначте метод
didReceive(request:UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) → Void) didReceiveNotificationRequestповинен складатися з HTTP запиту Update interaction status (PUT) зі статусом доставлення.
Зверніть увагуНа iOS статуси доставлення передає сам застосунок. Без Notification Service Extension статус
deliveredфіксується лише тоді, коли застосунок активний. Щоб відстежувати доставлення повідомлень при закритому застосунку, реалізуйте виклик Update interaction status саме в Notification Service Extension.
Активуйте фонове завантаження у розділі Capabilities → Background Modes вашого застосунку.
ВажливоПараметри content-available та mutable-content активовані (мають значення == 1) при передачі токенів в APN. Якщо передача даних налаштована через FCM, активовано лише параметр mutable-content (значення == 1). Змінити ці значення не можна.
Докладніше про зміну контенту в доставлених повідомленнях — в інструкції Apple.
Android
Використовуйте сервіс, який дозволяє FirebaseMessagingService отримувати повідомлення. Сервіс повинен перевизначати виклики на onMessageReceived і onDeletedMessages.
Відстеження кліків
Ви можете додати до тіла повідомлення посилання безпосередньо в редакторі повідомлень без можливості відстежувати кліки по ньому.

При додаванні посилання до тіла повідомлення додадуться 2 додаткові поля:
- es_link_raw –
https://example.com/somelink– містить вихідне посилання, яке може бути відкрите в браузері пристрою або може бути внутрішнім посиланням, що веде до інших розділів застосунку; - es_link –
https://hh.esclick.me/37NdHw333DjRcukc0l– створюється на основі доданого посилання та містить обернене посилання, що використовується для відстеження кліків.
ВажливоВикористовуйте для вашого мобільного застосунку дані з поля es_link_raw, щоб перенаправляти користувача в потрібний розділ застосунку або на веб-ресурс. Запит
GETна посилання в es_link використовується для відстеження кліків.Статус кліку фіксується лише тоді, коли застосунок відкриває загорнуте посилання з поля es_link. Обробка посилань без SDK — застарілий підхід: рекомендуємо використовувати SDK, який відстежує кліки автоматично.
Інтеграція з Firebase Message Cloud та BigQuery
BigQuery дозволяє обробляти великі обсяги даних, детально аналізувати їх за допомогою BigQuery SQL, експортувати інформацію в інші сервіси та використовувати дані для кастомних моделей машинного навчання. Для того, щоб передавати статуси надісланих мобільних повідомлень до eSputnik через цю платформу, виконайте такі дії:
- Зв'яжіть свій проект із BigQuery.
- Налаштуйте експорт даних із застосунку до BigQuery:
Updated 9 days ago