SDK для push-уведомлений iOS

Как использовать SDK push-уведомлений iOS для вашего приложения (с кодом)

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

Зачем использовать SDK push-уведомлений для iOS в вашем приложении

Вы можете напрямую общаться с APNs — зарегистрировать токен устройства, создать отправитель, самостоятельно обрабатывать обратные вызовы доставки. То, что вы получаете от необработанных APNs, — это доставка; то, чего вы не получаете, — это все, что нужно маркетингу: сегментация, запланированные и триггерные кампании, A/B-тестирование, аналитика и атрибуция доходов. SDK, такой как PushEngage, один раз подключает ваше приложение к этому уровню, поэтому кампании создаются на панели управления, а не в проекте Xcode. Практический результат: после недели интеграции push-кампании перестают быть задачами для инженеров.

Как установить SDK push-уведомлений PushEngage для iOS

Вам понадобится iOS 12+, Xcode 15+, ключ APNs, загруженный на вашу панель управления PushEngage, и примерно полдня. SDK поставляется в виде двух модулей: PushEngage для вашей целевой платформы приложения и PushEngageExtension для целевых платформ расширений уведомлений.

Шаг 1: Добавьте пакет

В Xcode перейдите в File → Add Package Dependencies и введите URL репозитория — или используйте CocoaPods:

# Swift Package Manager
https://github.com/awesomemotive/pushengage-ios-sdk

# CocoaPods
target 'YourApp' do
  pod 'PushEngage', '~> 1.0.0'
end
target 'YourNotificationServiceExtension' do
  pod 'PushEngageExtension', '~> 1.0.0'
end

Шаг 2: Настройте группу приложений

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

<key>PushEngage_App_Group_Key</key>
<string>group.com.yourcompany.yourapp</string>

Приложение и его расширения совместно используют состояние подписчика через этот контейнер. Пропуск этого шага — самая распространенная ошибка при интеграции; без него ваши расширения каждый раз при доставке запускаются пустыми.

Шаг 3: Инициализируйте и запросите разрешение

import PushEngage

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

// Later, at a value moment — not on first launch:
PushEngage.requestNotificationPermission { granted, error in
    if granted { /* subscribed */ }
}

Место, где вы размещаете этот вызов разрешения, важнее всего остального в этом руководстве — iOS предоставляет вам ровно один нативный запрос. Руководство по предварительному запросу разрешения охватывает шаблон мягкого запроса, который его защищает.

Как отправлять rich push-уведомления для iOS

Изображения, кнопки действий и пользовательские звуки требуют расширения службы уведомлений — небольшой целевой платформы, которая перехватывает каждое уведомление и добавляет медиафайлы перед отображением. Добавьте целевую платформу в Xcode, свяжите с ней PushEngageExtension и передайте два вызова жизненного цикла:

import PushEngageExtension

class NotificationService: UNNotificationServiceExtension {
    override func didReceive(_ request: UNNotificationRequest,
                             withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        PushEngageExtension.didReceiveNotificationExtensionRequest(request,
                                                                   bestContentHandler: contentHandler)
    }

    override func serviceExtensionTimeWillExpire() {
        // hand back the best content prepared so far
    }
}

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

Как создавать персонализированные push-уведомления для iOS

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

// Identify the signed-in user (12 predefined fields supported)
PushEngage.identify(fields: [
    "first_name": "Priya",
    "email": "[email protected]",
    "profile_id": "user-42",
    "city": "Austin"
]) { success, error in }

// Attach custom attributes for segmentation
PushEngage.addSubscriberAttributes([
    "favorite_category": "outerwear",
    "loyalty_tier": "gold"
]) { success, error in }

// On sign-out, clear PII but keep the anonymous subscription
PushEngage.logout(fieldNames: nil) { success, error in }

Повторные вызовы identify с неизмененными данными локально сокращают путь, поэтому вызов на каждом запуске безопасен. Как только атрибуты будут переданы, сегментация происходит на панели управления — «покупатели верхней одежды премиум-класса в Техасе» становятся сохраненной аудиторией, а не SQL-запросом.

Как добавить глубокую ссылку в push-уведомления iOS

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

PushEngage.setNotificationOpenHandler { result in
    // actionID is nil when the SDK already opened the URL itself
    guard let deepLink = result.notificationAction.actionID else { return }
    DispatchQueue.main.async {
        router.navigate(to: deepLink)   // e.g. myapp://cart
    }
}

Маркетолог вставляет глубокую ссылку в форму кампании; ваш обработчик выполняет маршрутизацию. Полные шаблоны — включая универсальные ссылки и опцию автоматического открытия — находятся в руководстве по глубоким ссылкам.

Как запускать кампании на основе событий приложения

Вызов trackEvent в SDK версии 1.0 превращает любое внутриигровое действие в триггер кампании — брошенную корзину, завершенный шаг онбординга, просмотренную категорию:

PushEngage.trackEvent(name: "cart_updated",
                      properties: ["cart_value": 89.50, "item_count": 2],
                      profileId: currentUserId,
                      provider: nil, eventType: nil) { _, _ in }

Инструментируйте событие один раз; маркетинг создает и итерирует кампании на его основе бесконечно. Руководство по кампаниям, запускаемым событиями, содержит полную таксономию и настройку корзины, онбординга и возврата клиентов.

Что делать после установки SDK для push-уведомлений iOS

Интеграция — это начало, а не финишная прямая. Последовательность, которая окупается быстрее всего: защитите свой процент согласия с помощью продуманного потока разрешений, запустите последовательность брошенных корзин (кампания с самой высокой рентабельностью для коммерческих приложений), добавьте отслеживание целей, чтобы каждая кампания сообщала о доходах вместо открытий, а затем постройте жизненный цикл — серию онбординга на фронтенде, возврат клиентов на бэкенде. Руководство по маркетингу push-уведомлений в приложениях охватывает этот слой стратегии от начала до конца, а документация по настройке проведет вас по каждому экрану панели управления. На каждый платный план действует 14-дневная гарантия возврата денег — а SDK имеет лицензию MIT на GitHub, поэтому вы можете точно видеть, что вы устанавливаете.

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

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

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

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

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