Перейти к основному содержимому

Как перенести push подписки из стороннего сервиса

Шаг 1. Получение VAPID ключей с сервиса, с которого предполагается миграция

Запросите ключи у технической поддержки вашего сервиса. Необходимы как приватный, так и публичный ключи: private key, public key.

подсказка

Обратите внимание, что VAPID keys и Application Server keys — это одно и то же.

Шаг 2. Импорт в Firebase проект VAPID ключей

Зайдите в настройки проекта в Firebase и перейдите на вкладку Cloud Messaging. Внизу страницы вы увидите раздел Web Configuration. Здесь вы можете сгенерировать ключи самостоятельно, но нам это не нужно, поскольку вы уже получили VAPID ключи у своего сервиса. Кликните import an existing key pair в самом низу раздела.

В появившемся окне введите Public key и Private key, которые ранее предоставил вам сервис.

Шаг 3. Настройка ресурса

О настройке ресурса для Web push уведомлений читайте в разделе Web push: настройка и подключение.

подсказка

Обратите внимание, что настройка ресурса отличаются у разных браузеров.

Шаг 4. Создание csv файла с подписками

При подписке нового пользователя на push уведомления создается объект PushSubscription . Именно в нем содержится вся информация, которая необходима для последующей отправки push уведомлений этому пользователю. Объект хранится в JSON-формате:

Пример PushSubscription
{
"endpoint": "https://some.pushservice.com/something-unique",
"keys": {
"p256dh": "BIPUL12DLfytvTajnryr2PRdAgXS3HGKiLqndGcJGabyhHheJYlNGCeXl1dn18gSJ1WAkAPIxr4gK0_dQds4yiI=",
"auth": "FPssNDTKnInHVndSTdbKFw=="
}
}

Сейчас нам необходимо выгрузить поля подписки (т.е. значения ключей объекта PushSubscription) у стороннего сервиса. Другими словами, вам надо любым доступным для сервиса способом получить csv файл, где у каждой подписки будут указаны значения полей endpoint, p256dh, auth.

Шаг 5. Передача csv файла администратору или службе поддержки Altcraft

Если платформа Altcraft установлена в контур вашей компании, то передайте созданный csv файл с подписками администратору платформы.

Если платформа установлена на облаке, то передайте csv файл в службу поддержки Altcraft.

Шаг 6. Получение обработанного csv файла у администратора

Шаг 7. Импорт профилей

Теперь вы можете импортировать профили в Базы профилей из csv файла, при этом создавая подписку на нужный провайдер.

Кроме того, у вас есть возможность выполнить обновление базы с созданием подписки на этот же провайдер. Обратите внимание, в данном случае это обязательно должен быть один из Firebase провайдеров.

подсказка

Идентификатор провайдера позволяет узнать, к какому именно браузеру относится подписка и через какой сервис она создавалась. Примеры провайдеров: Chrome Firebase, Apple Safari, Mozilla Firefox.

Итак, создайте или выберите подходящую базу и в выпадающем списке кликните Импорт профилей клиентов.

Выберите способ импорта — Файл. Загрузите необходимый csv файл с подписками.

Кликните Режим поиска подписки и в выпадающем списке выберите Поиск по пуш подписке.

предупреждение

Если в вашем csv файле есть какие-то данные, которые можно использовать, чтобы настроить соответствия между профилями ("сматчить пользователей"), то при импорте выберите соответствующий режим поиска профиля.

Нажмите на кнопку Добавить подписку. Затем настройте подписку:

  1. Канал — Push канал;

  2. Провайдер — если бразуер подписки неизвестен, то можно импортировать подписки с провайдером Chrome Firebase;

  3. Источник подписки — firebase_push_token.

предупреждение

Для создания подписки необходимо название поля, где хранится id той подписки, которую вы импортируете. В нашем csv файле такое поле будет называться firebase_push_token.

Теперь необходимо настроить соответствие колонок:

  • SubscriptionIDfirebase_push_token;
  • Provider — поле идентификатора провайдера Altcraft.
подсказка

Если в csv файле отсутствует поле идентификатора провайдера Altcraft, то укажите то же поле, что и в SubscriptionID. Таким образом для каждой подписки будет создан новый подписчик.

предупреждение

В поле Пропустить строк укажите значение "1", если в файле есть заголовки. В противном случае, при импорте будут захватываться заголовки.

После того, как вы нажмете кнопку Импортировать в правом верхнем углу экрана, начнется процесс импорта новых профилей в Базу данных.

Как только профили будут успешно импортированы, вы можете посмотреть их в выбранной вами Базе профилей. Открыв вкладку Подписки, вы увидите новую подписку профиля на push уведомления и информацию о ней.

подсказка

Если вы хотите осуществить миграцию с сервиса OneSignal, изучите эту статью: Миграция с OneSignal.