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

Миграция с OneSignal

Шаг 1. Получение VAPID ключей с сервиса OneSignal

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

Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.

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

подсказка

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

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

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

Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.

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

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

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

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

подсказка

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

Шаг 4. Экспорт подписок

Экспорт подписок предполагает создание CSV файла, который будет содержать все ваши текущие данные о пользователях.

Используйте утилиту Curl, чтобы сделать POST запрос. Запрос сгенерирует URL, по которому вы сможете скачать сжатый CSV файл (.csv .gz).

подсказка

Создание файла может занять несколько минут в зависимости от количества ваших пользователей.

Вы можете проверить, завершен ли процесс создания файла, отправив GET-запрос, в котором в качестве параметра будет передано значение csv_file_url.

Если файл еще не готов, будет возвращена ошибка 403. В противном случае будет возвращен сам файл.

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

Пример запроса
curl -X POST -H "Authorization: Basic YOUR_REST_API_KEY" -H "Content-Type: application/json" -d '{
"extra_fields": ["web_auth", "web_p256"],
"last_active_since": "1469392779", "segment_name": "Active Users"
}' "https://onesignal.com/api/v1/players/csv_export?app_id=YOUR_APP_ID"

Здесь необходимо указать ваши REST_API_Key и APP_ID. Эти данные вы можете найти на сервисе OneSignal. Зайдите в Settings и перейдите на вкладку Keys & IDs.

В теле запроса необходимо передать следующие параметры:

ПолеЗначение
"extra_fields"Дополнительные поля, которые вам необходимы.
На данный момент доступны: location, country, rooted, notification_types, ip, external_user_id, web_auth, web_p256.
В нашем случае обязательно надо указать web_auth и web_p256 .
"last_active_since"Экспортировать все устройства, у которых значение поля last_active больше указанной временной отметки timestamp.
"segment_name"Экспортировать все устройства, которые относят к указанному сегменту.
Вы можете использовать это поле, чтобы экспортировать только интересующие вас сегменты.
Подробнее о сегментах в OneSignal: https://documentation.onesignal.com/docs/segmentation.
подсказка

Более подробную информацию об экспорте подписок с сервиса OneSignal вы можете получить здесь: https://documentation.onesignal.com/reference/csv-export.

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

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

Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.

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

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

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

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

Пропустите этот шаг, если вы переносите подписки, настроенные для браузера Safari.

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

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

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

подсказка

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

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

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

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

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

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

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

  • КаналPush канал;
  • Провайдер — браузер, через который осуществлена подписка. Если пользователь подписался через браузер Safari, то укажите Apple Safari.Если браузер подписки неизвестен, то можно импортировать подписки с провайдером Chrome Firebase.
  • Источник подписки — поле идентификатора подписки из csv файла. Если пользователь подписался через браузер Safari, то вам необходимо определить данное поле самостоятельно. Для других бразуеров здесь необходимо указать firebase_push_token.
предупреждение

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

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

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

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

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

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