Создание и интеграция Google проекта для Mob Push

Для работы с мобильными пушами нужно завести аккаунт в Google Firebase, где будут собираться и храниться данные о подписчиках. Настройка не займёт больше 10 минут, так как механика подключения довольно проста. Если аккаунт уже существует - загрузите его ключ в систему eSputnik.

Шаг 1: Зарегистрируйте проект на FireBase и добавьте ключ проекта в eSputnik

Если у вас уже есть созданный проект, перейдите сразу к пункту 4

1. Зайдите на страницу сервиса  Google Firebase и нажмите кнопку Get started.

Подключение мобильных пушей

2. Далее нажмите кнопку «Добавить проект».

Добавить проект в firebase

3. Заполните форму создания нового проекта. В появившемся диалоге дайте название проекта, укажите регион.

Название нового проекта

Затем примите соглашение о безопасности.

Подтверждение условий пользования

4. На экране появится уведомление, что новый проект готов.

Проект готов

5. Нажмите “Продолжить”, чтобы попасть в созданный Firebase аккаунт.

6. Зайдите в настройки проекта.

После того как проект будет создан, на панели слева нажмите на шестеренку рядом с пунктом «Project Overview» и перейдите в пункт меню «Настройки проекта».

Настройки проекта

7. Выберите вкладку «Сервисные аккаунты».

Сервисные аккаунты

В открывшемся окне нажмите кнопку «Создание закрытого ключа».

Создание ключа

8. Далее в диалоге нажмите «Создать ключ».

Создать ключ в firebase

9. После того как ключ будет скачан, загрузите его в eSputnik в «Настройках» нового проекта для Mob Push.

Загрузка JSON в eSputnik

Готово! Не забудьте дать название вашему проекту. Позже название будет видно у контактов и в группах. К примеру, на списке групп количество контактов с токенами этого приложения будет показано отдельной цифрой:

Отображение названия проекта

Шаг 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"}

Изображение для уведомлений типа Notification

Важно!

Для сбора и учета активности по каждому сообщению на стороне вашего мобильного приложения необходимо реализовать возвращение статуса, при доставке нужно вернуть 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 выражение, когда данные подставляются из события, что актуально для триггерных сообщений.

 

 

Остались вопросы?
Специалисты обязательно ответят и помогут решить вашу проблему!
Обратный звонок
Оставьте заявку – и наш специалист свяжется с вами в рабочее время.
Отправить заявку
Консультация в чате
Готовы к вашим вопросам!
Написать в чат
Электронная почта
Напишите в службу поддержки eSputnik.
Отправить email