Создание и интеграция Google проекта для Mob Push
Для работы с мобильными пушами нужно завести аккаунт в Google Firebase, где будут собираться и храниться данные о подписчиках. Настройка не займёт больше 10 минут, так как механика подключения довольно проста. Если аккаунт уже существует - загрузите его ключ в систему eSputnik.
Шаг 1: Зарегистрируйте проект на FireBase и добавьте ключ проекта в eSputnik
Если у вас уже есть созданный проект, перейдите сразу к пункту 3
1. Зайдите на страницу сервиса Google Firebase и нажмите кнопку Get started.
2. Далее нажмите кнопку «Добавить проект».
3. Заполните форму создания нового проекта. В появившемся диалоге дайте название проекта, укажите регион.
Затем примите соглашение о безопасности.
4. На экране появится уведомление, что новый проект готов.
5. Нажмите “Продолжить”, чтобы попасть в созданный Firebase аккаунт.
6. Зайдите в настройки проекта.
После того как проект будет создан, на панели слева нажмите на шестеренку рядом с пунктом «Project Overview» и перейдите в пункт меню «Настройки проекта».
7. Выберите вкладку «Сервисные аккаунты».
В открывшемся окне нажмите кнопку «Создание закрытого ключа».
8. Далее в диалоге нажмите «Создать ключ».
9. После того как ключ будет скачан, загрузите его в eSputnik в «Настройках» нового проекта для Mob Push.
Готово! Не забудьте дать название вашему проекту. Позже название будет видно у контактов и в группах. К примеру, на списке групп количество контактов с токенами этого приложения будет показано отдельной цифрой:
Шаг 2: Интегрируйте Firebase с вашим мобильным приложением
Этот пункт для разработчиков вашего приложения, которым необходимо внести дополнительные настройки для запуска мобильных пуш-уведомлений:
Шаг 3: Загрузите базу контактов с мобильными токенами с помощью доступных методов Public API
-
POST /v1/contacts - Одиночное/массовое добавление/обновление контактов
-
PUT /v1/contact/{id} - Обновление контакта (одиночно по id)
В структуре channel, для указанных выше методов, поддержан параметр device, для которого доступны следующие вложенные поля:
-
appId - идентификатор приложения (UUID), который выдается при регистрации приложения в eSputnik. Выводится пользователю в настройках. В случае, если в аккаунте зарегистрировано только одно приложение, передавать это поле в запросе - не обязательно.
-
deviceModel - модель устройства (произвольное значение - до 50 символов).
-
os - операционная система девайса (до 15 символов, например: ios или android).
-
locale - локаль (например en_UK, ru_UA, uk_UA).
-
clientVersion - версия SDK используемая в приложении (native or esputnik-1). native - для использония пуш уведомлений типа Notification, esputnik-1 - для использония пуш уведомлений типа Data (по умолчанию).
-
appVersion - версия мобильного приложения.
-
active - флаг активности токена.
Пример POST запроса к ресурсу v1/contacts для импорта контакта с номером телефона и токеном:
{
"contacts": [
{
"channels": [
{
"type": "mobilepush",
"value": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"device": {
"appId": "123e4567-e89b-12d3-a456-426655440000",
"deviceModel": "iPhone SE 2nd Gen",
"os": "iOs",
"locale": "ru_UA",
"clientVersion": "native",
"appVersion": "3.14",
"active": true
}
},
{
"type": "sms",
"value": "380501234567"
}
]
}
],
"dedupeOn": "sms",
"contactFields": ["mobilepush", "sms"],
"groupNames": ["mobile push contacts"],
"restoreDeleted": true
}
Важно!
Для уведомлений типа Notification доступна возможность передачи изображения, для этого следует в редакторе сообщения задать ссылку в Custom data в JSON формате:
{"es_notification_image":"https://example.com/img.png"}
Важно!
Для сбора и учета активности по каждому сообщению на стороне вашего мобильного приложения необходимо реализовать возвращение статуса, при доставке нужно вернуть DELIVERED или OPENED в случае открытия. Для этого доступен метод изменения статуса Push-сообщения: PUT /interactions/{interaction_Id}/status
В теле запроса, помимо interactionId передаются так же токен FCM и время изменения статуса на девайсе.
Пример PUT запроса для обновления статуса уведомления:
{
"token": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"status": "OPENED",
"time": "2020-07-09T15:11:17"
}
Когда в уведомлении присутствует ссылка, чтобы переходы по ней фиксировались и были доступны в статистике личного кабинета, в вашем приложении разработчикам необходимо поддержать такую возможность. В редакторе сообщений доступна подстановка ссылки в тело сообщения, но без отслеживания переходов по ней.
При добавлении в редакторе ссылки в теле пуш уведомления будет дополнительно передано два поля es_link_raw и es_link:
- поле es_link_raw - http://example.com/somelink.html - содержит исходную ссылку, которая может быть открыта браузером устройства или может являться внутренней ссылкой вашего приложения, открывающего его конкретный раздел;
- поле es_link - https://ххх.esclick.me/37NdHw3pf3DjRcukc0l - создается на основе указанной ссылки и содержит завернутую ссылку, предназначенную для отслеживания и учета перехода.
Важно!
На стороне вашего мобильного приложения необходимо реализовать работу с полями es_link_raw и es_link. Ссылка из es_link_raw может быть использована для перенаправления пользователя на раздел приложения или на web ресурс, для учета клика, достаточно GET запроса по ссылке из es_link.
Также в редакторе поддержана возможность пользовательского формата ссылок, это может быть ссылка на web ресурс, deeplink и velocity выражение, когда данные подставляются из события, что актуально для триггерных сообщений.