Saltar al contenido

Transporte gRPC

El módulo PushwooshGRPC proporciona una capa de transporte gRPC opcional que puede mejorar el rendimiento de la red para la comunicación con los servidores de Pushwoosh. Cuando está disponible, el SDK utiliza automáticamente gRPC para los métodos de API compatibles y recurre a REST si gRPC no está disponible.

Cómo funciona

Anchor link to

Por defecto, el SDK de Pushwoosh se comunica con los servidores utilizando la API REST sobre HTTPS. El módulo PushwooshGRPC añade un transporte gRPC alternativo que ofrece varias ventajas:

  • Menor latencia — gRPC utiliza HTTP/2 con conexiones persistentes
  • Tamaño de carga útil más pequeño — Los Protocol Buffers son más compactos que JSON
  • Multiplexación — Se pueden enviar múltiples solicitudes a través de una única conexión

Recurso automático (fallback)

Anchor link to

El módulo incluye resiliencia incorporada:

EscenarioComportamiento
gRPC disponibleUsa el transporte gRPC
gRPC no disponibleRecurre a REST
Error de redReintenta con REST

Requisitos

Anchor link to
RequisitoVersión
iOS13.0+
Xcode14.0+
Swift5.0+

Instalación

Anchor link to

Swift Package Manager

Anchor link to

Añade PushwooshGRPC a tu objetivo (target) al integrar el SDK de Pushwoosh:

  1. En Xcode, ve a File → Add Package Dependencies
  2. Introduce la URL del paquete: https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. Selecciona PushwooshGRPC además de los frameworks requeridos
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Añade el subspec de gRPC a tu Podfile:

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

Luego ejecuta:

Terminal window
pod install

No se requieren cambios en el código. Una vez que añades el módulo PushwooshGRPC a tu proyecto, funciona automáticamente:

  1. En el lanzamiento de la aplicación, el SDK detecta que el transporte gRPC está disponible
  2. Las llamadas a la API se enrutan a través de gRPC cuando es posible
  3. Si gRPC falla, el SDK recurre automáticamente a REST

Métodos compatibles

Anchor link to

Los siguientes métodos de API son compatibles con el transporte gRPC:

MétodoSoporte gRPC
Registro de dispositivo
Tags (set/get)
Seguimiento de apertura de la aplicación
Estadísticas de push

Casos de uso

Anchor link to

El módulo PushwooshGRPC es particularmente útil para:

  • Seguimiento de eventos de alta frecuencia — Sobrecarga reducida para aplicaciones que envían muchos eventos
  • Aplicaciones en tiempo real — Menor latencia para operaciones sensibles al tiempo
  • Entornos con ancho de banda limitado — Tamaños de carga útil más pequeños que ahorran datos

Solución de problemas

Anchor link to

Verificar que el módulo está activo

Anchor link to

Revisa los registros de la consola de Xcode cuando tu aplicación se inicie. Deberías ver un mensaje de registro como:

[Pushwoosh] gRPC transport: ENABLED

Forzar el transporte REST

Anchor link to

Si necesitas deshabilitar gRPC temporalmente para depuración, puedes eliminar el módulo PushwooshGRPC de tu objetivo (target). El SDK utilizará automáticamente el transporte REST cuando gRPC no esté disponible.