Создание и интеграция 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)

  • POST /v1/contact      - Одиночное добавление контакта

В структуре channel, для указанных выше методов, поддержан параметр device, для которого доступны следующие вложенные поля:

  • appId - идентификатор приложения (UUID), который выдается при регистрации приложения в eSputnik. Выводится пользователю в настройках.

  • deviceModel - модель устройства (произвольное значение - до 50 символов)

  • os - операционная система девайса (произвольное значение - до 15 символов)

  • locale - локаль (например en_UK, ru_UA, uk_UA)

Пример JSON для channel:

{
   type: channelType // для мобпушей будет mobilepush
   value: string     // для мобпушей будет значение токена FCM
   
   device: {
       appId: UUID        
       deviceModel: string
       os: string
       locale: Locale
   }
}


Доступен метод для изменения статуса Push-сообщения:

PUT  /interactions/{interactionId}/status

Для каждого сообщения важно сохранять статус (Delivered, Opened). Для изменения статуса mobile push-сообщения реализован данный метод.

В теле запроса, помимо interactionId передаются так же токен FCM и время изменения статуса на девайсе.

Пример:

InteractionStatus {
   token: string // токен FCM

   status: enum  // as in email, but only subset is supported for mobpush Delivered, Opened

   time: DateTime  //дата и время изменения статуса
}

Токен предлагаем передавать обернутым в хэш-функцию (SHA-1).