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 toPor 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 toEl módulo incluye resiliencia incorporada:
| Escenario | Comportamiento |
|---|---|
| gRPC disponible | Usa el transporte gRPC |
| gRPC no disponible | Recurre a REST |
| Error de red | Reintenta con REST |
Requisitos
Anchor link to| Requisito | Versión |
|---|---|
| iOS | 13.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
Instalación
Anchor link toSwift Package Manager
Anchor link toAñade PushwooshGRPC a tu objetivo (target) al integrar el SDK de Pushwoosh:
- En Xcode, ve a File → Add Package Dependencies
- Introduce la URL del paquete:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Selecciona
PushwooshGRPCademás de los frameworks requeridos
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshGRPC— Transporte gRPCPushwooshKeychain— ID de dispositivo persistentePushwooshLiveActivities— Soporte para Live ActivitiesPushwooshVoIP— Notificaciones push VoIPPushwooshForegroundPush— Notificaciones personalizadas en primer plano
CocoaPods
Anchor link toAñade el subspec de gRPC a tu Podfile:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshGRPC'endLuego ejecuta:
pod installNo se requieren cambios en el código. Una vez que añades el módulo PushwooshGRPC a tu proyecto, funciona automáticamente:
- En el lanzamiento de la aplicación, el SDK detecta que el transporte gRPC está disponible
- Las llamadas a la API se enrutan a través de gRPC cuando es posible
- Si gRPC falla, el SDK recurre automáticamente a REST
Métodos compatibles
Anchor link toLos siguientes métodos de API son compatibles con el transporte gRPC:
| Método | Soporte gRPC |
|---|---|
| Registro de dispositivo | Sí |
| Tags (set/get) | Sí |
| Seguimiento de apertura de la aplicación | Sí |
| Estadísticas de push | Sí |
Casos de uso
Anchor link toEl 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 toVerificar que el módulo está activo
Anchor link toRevisa los registros de la consola de Xcode cuando tu aplicación se inicie. Deberías ver un mensaje de registro como:
[Pushwoosh] gRPC transport: ENABLEDForzar el transporte REST
Anchor link toSi 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.