Passer au contenu

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 to

Par 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 to

Le module inclut une résilience intégrée :

ScénarioComportement
gRPC disponibleUtilise le transport gRPC
gRPC indisponibleSe rabat sur REST
Erreur réseauRéessaie avec REST

Prérequis

Anchor link to
PrérequisVersion
iOS13.0+
Xcode14.0+
Swift5.0+

Installation

Anchor link to

Swift Package Manager

Anchor link to

Ajoutez PushwooshGRPC à votre cible lors de l’intégration du SDK Pushwoosh :

  1. Dans Xcode, allez dans File → Add Package Dependencies
  2. Entrez l’URL du package : https://github.com/Pushwoosh/Pushwoosh-XCFramework
  3. Sélectionnez PushwooshGRPC en plus des frameworks requis
  • PushwooshFramework
  • PushwooshCore
  • PushwooshBridge

Ajoutez le sous-spec gRPC à votre Podfile :

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

Puis exécutez :

Terminal window
pod install

Utilisation

Anchor link to

Aucune modification de code n’est requise. Une fois que vous avez ajouté le module PushwooshGRPC à votre projet, il fonctionne automatiquement :

  1. Au lancement de l’application, le SDK détecte que le transport gRPC est disponible
  2. Les appels API sont acheminés via gRPC lorsque c’est possible
  3. Si gRPC échoue, le SDK se rabat automatiquement sur REST

Méthodes prises en charge

Anchor link to

Les méthodes d’API suivantes prennent en charge le transport gRPC :

MéthodeSupport gRPC
Enregistrement de l’appareilOui
Tags (définir/obtenir)Oui
Suivi d’ouverture de l’applicationOui
Statistiques des notifications pushOui

Cas d’utilisation

Anchor link to

Le 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 to

Vérifier que le module est actif

Anchor link to

Vérifiez les journaux de la console Xcode lorsque votre application se lance. Vous devriez voir un message de journal comme :

[Pushwoosh] gRPC transport: ENABLED

Forcer le transport REST

Anchor link to

Si 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.