Перенос с Firebase Cloud Messaging на iOS

Как перенести данные с Firebase Cloud Messaging на iOS (без потери подписчиков)

Ваше приложение для iOS работает на Firebase Cloud Messaging. Доставка работает. Ничего не горит. И все же каждая сегментированная кампания, каждый A/B-тест и каждый запрос «можно ли отправить push-уведомление о распродаже» по-прежнему попадают в очередь ваших инженеров, потому что FCM предоставляет вам канал доставки и ничего более. Если это звучит знакомо, это руководство покажет вам, как перейти с Firebase Cloud Messaging на iOS — без потери подписчиков, принудительной переустановки или показа пользователям второго запроса на разрешение.

Короткая версия: на iOS миграция — это замена слоя, а не перестройка. Вот почему и как именно это сделать.

Что предоставляет FCM и где он останавливается

Firebase Cloud Messaging — это бесплатная, надежная инфраструктура. Для многих инженерных команд это стандартный выбор, и для чистой доставки он вполне подходит. Проблема возникает в тот день, когда ваша маркетинговая команда хочет проводить кампании.

ВозможностиFCMPushEngage
Доставка уведомлений через APNsДаДа
Поведенческая сегментацияТолько по темамДинамические сегменты, атрибуты, геолокация, устройство
Кампании, запускаемые событиями приложенияСоздайте самиНастроено через панель управления
Серии рассылок и путиСоздайте самиВизуальный конструктор, шаблоны
A/B тестированиеЧерез консоль Firebase, управляется разработчикамиУправляется маркетологами, выбор лучшего варианта
Атрибуция дохода и отслеживание целейНетПо кампании, по рабочему процессу
Панель управления, доступная маркетологамНетДа

Шаблон в этой таблице — причина, по которой команды перерастают FCM: все, что выходит за рамки доставки, является инженерным проектом. Полное сравнение см. в разделе PushEngage против Firebase Cloud Messaging.

Что на самом деле переносится на iOS

Страх перед миграцией почти всегда связан со списком подписчиков: «если мы заменим SDK, потеряем ли мы наших пользователей, давших согласие?» На iOS ответ — нет, и полезно понять почему.

Разрешение на уведомления на iOS принадлежит вашему приложению, а не какому-либо SDK. Когда пользователь предоставил разрешение, он предоставил его идентификатору вашего пакета, и Apple выдает вашему приложению токен устройства APNs, который может использовать любой поставщик push-уведомлений. Сам FCM на iOS является оберткой вокруг этого токена APNs. Когда SDK PushEngage инициализируется в первый раз, он получает то же разрешение на уровне приложения, регистрирует токен устройства в PushEngage, и подписчик становится активным — без переустановки, без повторного запроса, без каких-либо действий со стороны пользователя.

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

Миграция шаг за шагом

Шаг 1: Добавьте PushEngage SDK

Установите через Swift Package Manager (рекомендуется) или CocoaPods. Релиз 1.0 поставляется в виде двух модулей: свяжите PushEngage с целевым объектом вашего приложения и PushEngageExtension с целевым объектом вашего расширения службы уведомлений.

# Podfile
target 'YourApp' do
  pod 'PushEngage', '~> 1.0.0'
end

target 'YourNotificationServiceExtension' do
  pod 'PushEngageExtension', '~> 1.0.0'
end

Шаг 2: Инициализируйте вместе с существующей настройкой

import PushEngage

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    PushEngage.setAppID(id: "YOUR_APP_ID")
    PushEngage.setInitialInfo(for: application, with: launchOptions)
    return true
}

Поскольку разрешение уже предоставлено на уровне приложения, существующие подписчики регистрируются в PushEngage автоматически при первом запуске обновленной сборки. Новые пользователи проходят ваш обычный процесс получения разрешения один раз.

Шаг 3: Настройте App Group

Добавьте возможность App Groups к целевому объекту вашего приложения и каждому целевому объекту расширения уведомлений, используя тот же идентификатор группы, и объявите его в каждом Info.plist. Таким образом приложение и его расширения совместно используют состояние подписчика, и именно с этим шагом чаще всего связаны ошибки интеграции.

Шаг 4: Направьте ваш ключ APNs на PushEngage

Загрузите ваш существующий ключ аутентификации .p8 (или сертификат .p12) на панели управления PushEngage — те же учетные данные, которые вы предоставили Firebase. Ничего в настройках вашего Apple Developer не меняется. Руководство по настройке охватывает этот экран за экраном.

Шаг 5: Проверьте, затем выпускайте

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

Запустите обе системы во время перехода

Вам не нужен жесткий переход, и вы не должны его делать. Оставьте FCM для всего транзакционного, что уже отправляет ваш бэкенд, и переместите маркетинговые рассылки в PushEngage по мере регистрации подписчиков. Оба SDK могут сосуществовать в одном приложении — они потребляют один и тот же токен APNs. Как только ваша активная база пользователей перерегистрируется и ваши кампании будут полностью перемещены, удаление зависимости от Firebase Messaging станет задачей по очистке, а не крайним сроком.

Что получит ваша маркетинговая команда в первый день

Суть этой миграции не в SDK — это то, что перестает быть инженерной задачей после этого. С панели управления ваша маркетинговая команда сможет создавать триггерные кампании на основе любого события, которое отслеживает ваше приложение, сегментировать аудиторию с помощью поведенческой сегментации, запускать последовательные рассылки, проводить A/B тестирование текстов и атрибутировать доход по кампаниям с помощью отслеживания целей. Ваше участие после интеграции заключается в инструментировании новых событий с помощью trackEvent — вызова в одну строку — когда команде потребуется новый триггер.

Вопрос стоимости, честно говоря

Доставка FCM бесплатна, и если вам нужна только доставка в сыром виде, оставьте ее. То, за что вы платите, оценивая PushEngage, — это маркетинговый слой: сегментация, автоматизация, атрибуция и панель управления, которой ваша маркетинговая команда может управлять самостоятельно. Ценообразование масштабируется только с активными подписчиками, поэтому большая база установок со смешанной вовлеченностью не увеличивает счет, а сокращающийся список уменьшает его. Мы подробно разобрали реальное сравнение затрат в ценах на push-уведомления Firebase.

Переходите

Миграция с Firebase Cloud Messaging на iOS — это полдня интеграции и цикл выпуска, требующий терпения: добавьте SDK, поделитесь App Group, загрузите уже имеющийся у вас ключ APNs и позвольте развертыванию перерегистрировать вашу базу. Никаких переустановок, никаких потерянных подписчиков, никаких повторных запросов разрешений — и никаких больше push-кампаний, ожидающих спринта. Начните с руководства по маркетингу push-уведомлений для приложений, если вам нужен контекст стратегии, или переходите прямо к SDK и выпускайте его на этой неделе. Каждый платный план имеет 14-дневную гарантию возврата денег.

Добавить комментарий

Мы рады, что вы решили оставить комментарий. Пожалуйста, помните, что все комментарии модерируются в соответствии с нашей политикой конфиденциальности, а все ссылки являются nofollow. НЕ используйте ключевые слова в поле имени. Давайте вести личный и содержательный разговор.

Вовлекайте и удерживайте посетителей после того, как они покинули ваш веб-сайт

Увеличьте ценность каждого посещения веб-сайта с помощью push-уведомлений, которые трудно пропустить.

  • Бесплатный тариф навсегда
  • Простая настройка
  • Поддержка 5 звезд