Перейти к содержанию

Транспорт 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
ТребованиеВерсия
iOS13.0+
Xcode14.0+
Swift5.0+

Установка

Anchor link to

Swift Package Manager

Anchor link to

Добавьте PushwooshGRPC в ваш таргет при интеграции Pushwoosh SDK:

  1. В Xcode перейдите в File → Add Package Dependencies
  2. Введите URL пакета: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. Выберите PushwooshGRPC в дополнение к обязательным фреймворкам
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Добавьте subspec gRPC в ваш Podfile:

target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshGRPC'
end

Затем выполните:

Terminal window
pod install

Использование

Anchor link to

Изменения в коде не требуются. После добавления модуля PushwooshGRPC в ваш проект, он начинает работать автоматически:

  1. При запуске приложения SDK определяет, что транспорт gRPC доступен
  2. Вызовы API по возможности направляются через gRPC
  3. Если 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 недоступен.