Транспорт gRPC
Модуль PushwooshGRPC предоставляет опциональный транспортный уровень gRPC, который может улучшить производительность сети при обмене данными с серверами Pushwoosh. При наличии, SDK автоматически использует gRPC для поддерживаемых методов API и переключается на REST, если gRPC недоступен.
Как это работает
Anchor link toПо умолчанию Pushwoosh SDK обменивается данными с серверами, используя REST API через HTTPS. Модуль PushwooshGRPC добавляет альтернативный транспорт gRPC, который предлагает несколько преимуществ:
- Меньшая задержка — gRPC использует HTTP/2 с постоянными соединениями
- Меньший размер полезной нагрузки — Protocol Buffers более компактны, чем JSON
- Мультиплексирование — несколько запросов могут быть отправлены по одному соединению
Автоматический переход на резервный вариант
Anchor link toМодуль имеет встроенную отказоустойчивость:
| Сценарий | Поведение |
|---|---|
| gRPC доступен | Используется транспорт gRPC |
| gRPC недоступен | Переход на REST |
| Сетевая ошибка | Повторная попытка с использованием REST |
Требования
Anchor link to| Требование | Версия |
|---|---|
| iOS | 13.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
Установка
Anchor link toSwift Package Manager
Anchor link toДобавьте PushwooshGRPC в ваш таргет при интеграции Pushwoosh SDK:
- В Xcode перейдите в File → Add Package Dependencies
- Введите URL пакета:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Выберите
PushwooshGRPCв дополнение к обязательным фреймворкам
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshGRPC— транспорт gRPCPushwooshKeychain— постоянный ID устройстваPushwooshLiveActivities— поддержка Live ActivitiesPushwooshVoIP— VoIP push-уведомленияPushwooshForegroundPush— кастомные уведомления на переднем плане
CocoaPods
Anchor link toДобавьте subspec gRPC в ваш Podfile:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshGRPC'endЗатем выполните:
pod installИспользование
Anchor link toИзменения в коде не требуются. После добавления модуля PushwooshGRPC в ваш проект, он начинает работать автоматически:
- При запуске приложения SDK определяет, что транспорт gRPC доступен
- Вызовы API по возможности направляются через gRPC
- Если gRPC не срабатывает, SDK автоматически переключается на REST
Поддерживаемые методы
Anchor link toСледующие методы API поддерживают транспорт gRPC:
| Метод | Поддержка gRPC |
|---|---|
| Регистрация устройства | Да |
| Теги (установка/получение) | Да |
| Отслеживание открытия приложения | Да |
| Статистика по пушам | Да |
Сценарии использования
Anchor link toМодуль PushwooshGRPC особенно полезен для:
- Высокочастотного отслеживания событий — снижение накладных расходов для приложений, отправляющих много событий
- Приложений реального времени — меньшая задержка для операций, чувствительных ко времени
- Сред с ограниченной пропускной способностью — меньшие размеры полезной нагрузки экономят данные
Устранение неполадок
Anchor link toПроверка активности модуля
Anchor link toПроверьте логи в консоли Xcode при запуске вашего приложения. Вы должны увидеть лог-сообщение, подобное этому:
[Pushwoosh] gRPC transport: ENABLEDПринудительное использование REST-транспорта
Anchor link toЕсли вам нужно временно отключить gRPC для отладки, вы можете удалить модуль PushwooshGRPC из вашего таргета. SDK автоматически будет использовать транспорт REST, когда gRPC недоступен.