Transporte gRPC
O módulo PushwooshGRPC fornece uma camada de transporte gRPC opcional que pode melhorar o desempenho da rede para comunicação com os servidores Pushwoosh. Quando disponível, o SDK usa automaticamente o gRPC para os métodos de API suportados e recorre ao REST se o gRPC não estiver disponível.
Como funciona
Anchor link toPor padrão, o SDK da Pushwoosh se comunica com os servidores usando a API REST sobre HTTPS. O módulo PushwooshGRPC adiciona um transporte gRPC alternativo que oferece várias vantagens:
- Menor latência — o gRPC usa HTTP/2 com conexões persistentes
- Tamanho de payload menor — os Protocol Buffers são mais compactos que o JSON
- Multiplexação — várias solicitações podem ser enviadas por uma única conexão
Fallback automático
Anchor link toO módulo inclui resiliência integrada:
| Cenário | Comportamento |
|---|---|
| gRPC disponível | Usa o transporte gRPC |
| gRPC indisponível | Recorre ao REST |
| Erro de rede | Tenta novamente com REST |
Requisitos
Anchor link to| Requisito | Versão |
|---|---|
| iOS | 13.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
Instalação
Anchor link toSwift Package Manager
Anchor link toAdicione PushwooshGRPC ao seu target ao integrar o SDK da Pushwoosh:
- No Xcode, vá para File → Add Package Dependencies
- Insira a URL do pacote:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Selecione
PushwooshGRPCalém dos frameworks necessários
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshGRPC— transporte gRPCPushwooshKeychain— ID de dispositivo persistentePushwooshLiveActivities— Suporte a Live ActivitiesPushwooshVoIP— Notificações push VoIPPushwooshForegroundPush— Notificações personalizadas em primeiro plano
CocoaPods
Anchor link toAdicione o subspec gRPC ao seu Podfile:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshGRPC'endEm seguida, execute:
pod installNenhuma alteração de código é necessária. Depois de adicionar o módulo PushwooshGRPC ao seu projeto, ele funciona automaticamente:
- No lançamento do aplicativo, o SDK detecta que o transporte gRPC está disponível
- As chamadas de API são roteadas através do gRPC quando possível
- Se o gRPC falhar, o SDK recorre automaticamente ao REST
Métodos suportados
Anchor link toOs seguintes métodos de API suportam o transporte gRPC:
| Método | Suporte gRPC |
|---|---|
| Registro de dispositivo | Sim |
| Tags (set/get) | Sim |
| Rastreamento de abertura de aplicativo | Sim |
| Estatísticas de push | Sim |
Casos de uso
Anchor link toO módulo PushwooshGRPC é particularmente útil para:
- Rastreamento de eventos de alta frequência — Overhead reduzido para aplicativos que enviam muitos eventos
- Aplicações em tempo real — Menor latência para operações sensíveis ao tempo
- Ambientes com largura de banda limitada — Tamanhos de payload menores economizam dados
Solução de problemas
Anchor link toVerificando se o módulo está ativo
Anchor link toVerifique os logs do console do Xcode quando seu aplicativo for iniciado. Você deve ver uma mensagem de log como:
[Pushwoosh] gRPC transport: ENABLEDForçando o transporte REST
Anchor link toSe você precisar desativar o gRPC temporariamente para depuração, pode remover o módulo PushwooshGRPC do seu target. O SDK usará automaticamente o transporte REST quando o gRPC não estiver disponível.