Перенос push-подписок из стороннего сервиса
Шаг 1. Получение VAPID-ключей у текущего сервиса
Запросите VAPID-ключи у технической поддержки сервиса, с которого предполагается миграция. Необходимы как приватный, так и публичный ключи: private key, public key.
Обратите внимание, что VAPID keys и Application Server keys — это одно и то же.
Шаг 2. Импорт VAPID-ключей в проект Firebase
Откройте настройки проекта в Firebase и перейдите на вкладку Cloud Messaging. Внизу страницы вы увидите раздел Web Configuration. Нажмите import an existing key pair:
В появившемся окне введите Public key и Private key, которые ранее предоставил вам сервис.
Шаг 3. Настройка ресурса
О настройке ресурса для Web push уведомлений читайте в разделе Web push: настройка и подключение.
Обратите внимание, что настройка ресурса отличаются у разных браузеров.
Шаг 4. Создание CSV-файла с подписками
При подписке нового пользователя на push-уведомления создается объект PushSubscription
. Именно в нем содержится вся информация, которая необходима для последующей отправки push-уведомлений этому пользователю. Объект хранится в JSON-формате:
{
"endpoint": "https://some.pushservice.com/something-unique",
"keys": {
"p256dh": "BIPUL12DLfytvTajnryr2PRdAgXS3HGKiLqndGcJGabyhHheJYlNGCeXl1dn18gSJ1WAkAPIxr4gK0_dQds4yiI=",
"auth": "FPssNDTKnInHVndSTdbKFw=="
}
}
Вам необходимо выгрузить эти данные из стороннего сервиса в CSV-файл. Для каждой подписки должны быть указаны поля endpoint
, p256dh
, auth
.
Шаг 5. Подготовка CSV-файла к импорту
Если платформа Altcraft установлена в контур вашей компании, то передайте созданный CSV-файл с подписками администратору платформы.
Если платформа установлена в облаке, то передайте CSV-файл в службу поддержки Altcraft.
Администратор (или служба поддержки) с помощью утилиты должны привести данные к формату, совместимому с импортом в платформу. После обработки вы получите готовый к импорту CSV-файл.
Шаг 6. Импорт профилей с подписками
Теперь вы можете импортировать профили в Базы профилей из CSV-файла, при этом создавая подписку на нужный провайдер.
Кроме того, у вас есть возможность выполнить обновление базы с созданием подписки на этот же провайдер. Обратите внимание, в данном случае это обязательно должен быть один из Firebase-провайдеров.
Идентификатор провайдера позволяет узнать, к какому именно браузеру относится подписка и через какой сервис она создавалась. Примеры провайдеров: Chrome Firebase, Apple Safari, Mozilla Firefox.
Итак, создайте или выберите подходящую базу и в выпадающем списке кликните Импорт профилей клиентов.
Выберите способ импорта — Файл. Загрузите необходимый CSV-файл с подписками.
Кликните Режим поиска подписки и в выпадающем списке выберите Поиск по пуш подписке.
Если в файле есть данные, по которым можно сопоставить существующих пользователей (например, email, phone), выберите соответствующий режим поиска профиля.
Нажмите на кнопку Добавить подписку. Затем настройте подписку:
-
Канал — Push канал;
-
Провайдер — если бразуер подписки неизвестен, то можно импортировать подписки с провайдером Chrome Firebase;
-
Источник подписки — firebase_push_token.
Для создания подписки необходимо название поля, где хранится id той подписки, которую вы импортируете. В вашем CSV-файле такое поле будет называться firebase_push_token
.
Теперь необходимо настроить соответствие колонок:
- SubscriptionID — firebase_push_token;
- Provider — поле идентификатора провайдера Altcraft.
Если в csv файле отсутствует поле идентификатора провайдера Altcraft, то укажите то же поле, что и в SubscriptionID. Таким образом для каждой подписки будет создан новый подписчик.
В поле Пропустить строк укажите значение "1", если в файле есть заголовки. В противном случае, при импорте будут захватываться заголовки.
После этого нажмите Импортировать. Профили будут добавлены в базу, а подписки — привязаны к соответствующим провайдерам.
Как только профили будут успешно импортированы, вы можете посмотреть их в выбранной вами Базе профилей. Открыв вкладку Подписки, вы увидите новую подписку профиля на push-уведомления и информацию о ней.
Если вы хотите осуществить миграцию с сервиса OneSignal, изучите эту статью: Миграция с OneSignal.