Transport gRPC
Le module PushwooshGRPC fournit une couche de transport gRPC optionnelle qui peut améliorer les performances réseau pour la communication avec les serveurs Pushwoosh. Lorsqu’il est disponible, le SDK utilise automatiquement gRPC pour les méthodes d’API prises en charge et se rabat sur REST si gRPC n’est pas disponible.
Comment ça marche
Anchor link toPar défaut, le SDK Pushwoosh communique avec les serveurs en utilisant l’API REST via HTTPS. Le module PushwooshGRPC ajoute un transport gRPC alternatif qui offre plusieurs avantages :
- Latence plus faible — gRPC utilise HTTP/2 avec des connexions persistantes
- Taille de charge utile plus petite — Les Protocol Buffers sont plus compacts que le JSON
- Multiplexage — Plusieurs requêtes peuvent être envoyées sur une seule connexion
Repli automatique
Anchor link toLe module inclut une résilience intégrée :
| Scénario | Comportement |
|---|---|
| gRPC disponible | Utilise le transport gRPC |
| gRPC indisponible | Se rabat sur REST |
| Erreur réseau | Réessaie avec REST |
Prérequis
Anchor link to| Prérequis | Version |
|---|---|
| iOS | 13.0+ |
| Xcode | 14.0+ |
| Swift | 5.0+ |
Installation
Anchor link toSwift Package Manager
Anchor link toAjoutez PushwooshGRPC à votre cible lors de l’intégration du SDK Pushwoosh :
- Dans Xcode, allez dans File → Add Package Dependencies
- Entrez l’URL du package :
https://github.com/Pushwoosh/Pushwoosh-XCFramework - Sélectionnez
PushwooshGRPCen plus des frameworks requis
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshGRPC— transport gRPCPushwooshKeychain— ID d’appareil persistantPushwooshLiveActivities— Support des Live ActivitiesPushwooshVoIP— Notifications push VoIPPushwooshForegroundPush— Notifications personnalisées en premier plan
CocoaPods
Anchor link toAjoutez le sous-spec gRPC à votre Podfile :
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshGRPC'endPuis exécutez :
pod installUtilisation
Anchor link toAucune modification de code n’est requise. Une fois que vous avez ajouté le module PushwooshGRPC à votre projet, il fonctionne automatiquement :
- Au lancement de l’application, le SDK détecte que le transport gRPC est disponible
- Les appels API sont acheminés via gRPC lorsque c’est possible
- Si gRPC échoue, le SDK se rabat automatiquement sur REST
Méthodes prises en charge
Anchor link toLes méthodes d’API suivantes prennent en charge le transport gRPC :
| Méthode | Support gRPC |
|---|---|
| Enregistrement de l’appareil | Oui |
| Tags (définir/obtenir) | Oui |
| Suivi d’ouverture de l’application | Oui |
| Statistiques des notifications push | Oui |
Cas d’utilisation
Anchor link toLe module PushwooshGRPC est particulièrement utile pour :
- Suivi d’événements à haute fréquence — Surcharge réduite pour les applications qui envoient de nombreux événements
- Applications en temps réel — Latence plus faible pour les opérations sensibles au temps
- Environnements à bande passante limitée — Des tailles de charge utile plus petites permettent d’économiser des données
Dépannage
Anchor link toVérifier que le module est actif
Anchor link toVérifiez les journaux de la console Xcode lorsque votre application se lance. Vous devriez voir un message de journal comme :
[Pushwoosh] gRPC transport: ENABLEDForcer le transport REST
Anchor link toSi vous devez désactiver gRPC temporairement pour le débogage, vous pouvez supprimer le module PushwooshGRPC de votre cible. Le SDK utilisera automatiquement le transport REST lorsque gRPC n’est pas disponible.