Dans une petite application, une migration du SDK OneSignal consiste à remplacer 1 appel d’initialisation et un gestionnaire de clic. Dans une grande application, OneSignal est présent à des dizaines d’endroits : des tags définis dans le module profil, un external user ID dans l’authentification, des gestionnaires de clic dans la navigation, des déclencheurs in-app quelque part dans le tunnel de commande.

Oubliez 1 seul de ces appels et rien ne plante. Les segments dérivent sans bruit, les deep links ouvrent l’écran d’accueil, et la notification push qui faisait revenir les utilisateurs n’arrive plus.

Ce guide présente 9 outils qui sécurisent la migration du SDK push, regroupés selon les 5 étapes d’une migration : cartographier, remplacer, tester, déployer et surveiller.

Pour la partie fournisseur, consultez notre guide complet de migration de OneSignal vers Pushwoosh.

Pourquoi les migrations de SDK push échouent dans les grandes applications

Un SDK push touche une plus grande partie du code que la plupart des bibliothèques tierces. 4 choses tournent généralement mal :

  • Des appels dispersés. Tags, external user IDs et gestionnaires de clic vivent dans des modules différents, parfois dans des dépôts différents. Une recherche textuelle sur «OneSignal» trouve les appels évidents et passe à côté des wrappers.
  • Des dépendances cachées. Événements analytics, deep links et tests A/B reposent souvent sur des callbacks du SDK. Supprimez le callback, et un tableau de bord en aval tombe à plat.
  • 2 SDK, 1 build. 2 SDK push dans 1 même app se disputent les mêmes callbacks de notification. C’est pourquoi le guide de migration Pushwoosh recommande de retirer le SDK OneSignal dans la même version que celle qui ajoute le nouveau.
  • Des échecs silencieux. Une notification push non délivrée ne déclenche aucune erreur. Les rapports de crash restent propres.

Le processus de migration, étape par étape

Chaque étape a son propre mode d’échec et ses propres outils.

ÉtapeCe qui peut mal tournerOutils
1. CartographierUn appel ou une dépendance OneSignal est oubliéCodeAlive
2. RemplacerTokens, tags ou user IDs ne sont pas reprisPushwoosh
3. TesterL'enregistrement ou les payloads cassent avant la mise en productionApple Push Notifications Console, Firebase Cloud Messaging, Proxyman
4. DéployerUn mauvais build atteint tous les utilisateurs d'un coupfastlane, phased release de l'App Store et staged rollouts de Google Play
5. SurveillerDes crashs ou des baisses de délivrabilité passent inaperçusFirebase Crashlytics, statistiques de messages Pushwoosh
Étape
1 / 5
1. Cartographier
Ce qui peut mal tourner
Un appel ou une dépendance OneSignal est oublié
Outils
CodeAlive
Étape
2 / 5
2. Remplacer
Ce qui peut mal tourner
Tokens, tags ou user IDs ne sont pas repris
Outils
Pushwoosh
Étape
3 / 5
3. Tester
Ce qui peut mal tourner
L'enregistrement ou les payloads cassent avant la mise en production
Outils
Apple Push Notifications Console, Firebase Cloud Messaging, Proxyman
Étape
4 / 5
4. Déployer
Ce qui peut mal tourner
Un mauvais build atteint tous les utilisateurs d'un coup
Outils
fastlane, phased release de l'App Store et staged rollouts de Google Play
Étape
5 / 5
5. Surveiller
Ce qui peut mal tourner
Des crashs ou des baisses de délivrabilité passent inaperçus
Outils
Firebase Crashlytics, statistiques de messages Pushwoosh

9 outils pour une migration du SDK OneSignal en toute sécurité

OutilÉtapeCe qu'il résoutOffre gratuiteModèle de tarification
CodeAliveCartographierTrouve chaque appel OneSignal et ses dépendances dans les grandes bases de code, donne aux agents IA le contexte completOui : 1 utilisateur, 25 Mo de dépôts, 100 requêtes de chat/moisÀ partir de 15 $/mois, selon l'usage
PushwooshRemplacerPlateforme push cible avec import d'audience et SDK pour apps natives et cross-platform1 000 premiers MAU gratuits sur l'offre push-only7 $ pour 1 000 MAU (Push only)
Apple Push Notifications ConsoleTesterEnvoie des push de test via APNs, valide les tokens, affiche les logs de délivranceInclus dans l'abonnement Apple Developer ProgramAucun coût séparé
Firebase Cloud MessagingTesterEnvoie un message de test à un token FCM précisOui, sans fraisGratuit
ProxymanTesterInspecte le trafic réseau et les payloads du SDKGratuit avec limites (essai de 2 semaines pour un usage professionnel)À partir de 89 $ en paiement unique
fastlaneDéployerAutomatise les mises en production avec phased release et rolloutOpen sourceOpen source
App Store phased release / Google Play staged rolloutsDéployerLimite un nouveau build à une partie des utilisateursIntégré aux storesInclus
Firebase CrashlyticsSurveillerCrashs et erreurs non fatales après le remplacementOui, sans fraisGratuit
Statistiques de messages PushwooshSurveillerEnvois, délivrances, ouvertures et erreurs par plateformeInclus avec PushwooshInclus
Outil
1 / 9
CodeAlive
Étape
Cartographier
Ce qu'il résout
Trouve chaque appel OneSignal et ses dépendances dans les grandes bases de code, donne aux agents IA le contexte complet
Offre gratuite
Oui : 1 utilisateur, 25 Mo de dépôts, 100 requêtes de chat/mois
Modèle de tarification
À partir de 15 $/mois, selon l'usage
Outil
2 / 9
Pushwoosh
Étape
Remplacer
Ce qu'il résout
Plateforme push cible avec import d'audience et SDK pour apps natives et cross-platform
Offre gratuite
1 000 premiers MAU gratuits sur l'offre push-only
Modèle de tarification
7 $ pour 1 000 MAU (Push only)
Outil
3 / 9
Apple Push Notifications Console
Étape
Tester
Ce qu'il résout
Envoie des push de test via APNs, valide les tokens, affiche les logs de délivrance
Offre gratuite
Inclus dans l'abonnement Apple Developer Program
Modèle de tarification
Aucun coût séparé
Outil
4 / 9
Firebase Cloud Messaging
Étape
Tester
Ce qu'il résout
Envoie un message de test à un token FCM précis
Offre gratuite
Oui, sans frais
Modèle de tarification
Gratuit
Outil
5 / 9
Proxyman
Étape
Tester
Ce qu'il résout
Inspecte le trafic réseau et les payloads du SDK
Offre gratuite
Gratuit avec limites (essai de 2 semaines pour un usage professionnel)
Modèle de tarification
À partir de 89 $ en paiement unique
Outil
6 / 9
fastlane
Étape
Déployer
Ce qu'il résout
Automatise les mises en production avec phased release et rollout
Offre gratuite
Open source
Modèle de tarification
Open source
Outil
7 / 9
App Store phased release / Google Play staged rollouts
Étape
Déployer
Ce qu'il résout
Limite un nouveau build à une partie des utilisateurs
Offre gratuite
Intégré aux stores
Modèle de tarification
Inclus
Outil
8 / 9
Firebase Crashlytics
Étape
Surveiller
Ce qu'il résout
Crashs et erreurs non fatales après le remplacement
Offre gratuite
Oui, sans frais
Modèle de tarification
Gratuit
Outil
9 / 9
Statistiques de messages Pushwoosh
Étape
Surveiller
Ce qu'il résout
Envois, délivrances, ouvertures et erreurs par plateforme
Offre gratuite
Inclus avec Pushwoosh
Modèle de tarification
Inclus

Étape 1. Cartographier chaque appel OneSignal

1. CodeAlive : le meilleur pour cartographier les appels SDK dans les bases de code volumineuses et multi-dépôts

CodeAlive, moteur de contexte pour bases de code

CodeAlive fournit aux agents IA de développement un contexte précis sur l’ensemble de la base de code et réduit les tokens qu’ils dépensent à le chercher. C’est un moteur de contexte conçu pour les bases de code de plus de 1 million de lignes : recherche sémantique et graphe de relations entre fichiers, symboles, appels, dépendances et tests, exposés via MCP et API.

Son rôle dans la migration : avant que quiconque ne modifie le code, vous demandez à CodeAlive où OneSignal est utilisé et ce qui en dépend. Le graphe de relations fait apparaître les appels au-delà des évidents : wrappers, callbacks sur lesquels reposent les analytics, tests qui simulent le SDK. Le même contexte est transmis à l’agent IA qui effectue le remplacement.

Fonctionnalités clés :

  • Recherche hybride : recherche sémantique, correspondance lexicale et parcours de graphe en 1 seule requête
  • Index mis à jour à chaque push, pour que la cartographie reste à jour pendant que la branche de migration évolue
  • Outils MCP, dont semantic_search, grep_search et chat, pour Cursor, Claude Code, Codex, Windsurf, Zed, Continue et Cline
  • Revue de pull requests par IA qui tient compte de l’ensemble du système
  • Fournisseurs Git : GitHub, GitLab, Bitbucket, Azure DevOps, Gitea. IDE : VS Code et JetBrains

Points forts :

  • Cartographie les dépendances entre dépôts
  • Fonctionne dans les agents et IDE que votre équipe utilise déjà

Étape 2. Remplacer le SDK et transférer l’audience

2. Pushwoosh : la meilleure plateforme cible avec import d’audience

Plateforme d'engagement client Pushwoosh

Pushwoosh est une plateforme d’engagement client avec push, in-app, e-mail, SMS et WhatsApp. Lors d’une migration, l’équipe Pushwoosh importe votre audience pendant que vos développeurs livrent le nouveau SDK. Pour les éditeurs français et européens, la plateforme est conforme au RGPD et dispose de centres de données en UE et aux États-Unis, ce qui simplifie la conversation avec votre DPO au moment de changer de fournisseur.

Son rôle dans la migration : les tokens push iOS, Android et Huawei sont importés et continuent de fonctionner, car ils appartiennent à votre app et à vos clés. Les abonnés e-mail et SMS sont également repris dans l’import. L’external_user_id est mappé sur le User ID Pushwoosh (demandez cette colonne dans votre export OneSignal, elle n’est pas dans l’export par défaut), et les tags sont recréés à partir de votre export. Le web push fait exception : aucun fournisseur ne peut transférer les abonnements navigateur, donc le Web SDK Pushwoosh réabonne les visiteurs de façon silencieuse.

Fonctionnalités clés :

  • SDK pour iOS et Android, ainsi que React Native, Flutter, Unity, Capacitor, Cordova, MAUI, Expo et d’autres
  • Import d’audience mené en parallèle de la sortie du SDK, pour que les appareils soient joignables avant même que les utilisateurs mettent l’app à jour
  • Appareils de test pour prévisualiser les push sur un vrai appareil avant l’envoi

Points forts :

  • L’import n’attend pas l’adoption de la nouvelle version sur les stores
  • Environ une journée de travail SDK pour 1 développeur, selon le guide de migration

Tarifs : l’offre push-only coûte 7 $ pour 1 000 MAU, les 1 000 premiers MAU étant gratuits. Comparez avec votre facture actuelle grâce au calculateur de coûts OneSignal.

👉

Comparez les plateformes côte à côte : Pushwoosh vs OneSignal, ou consultez la liste élargie des alternatives à OneSignal comparées par prix et limites.

Étape 3. Tester l’enregistrement et la délivrance

3. Apple Push Notifications Console : le meilleur pour tester la délivrance iOS via APNs

Apple Push Notifications Console

La Push Notifications Console est l’outil web d’Apple pour envoyer des notifications de test via APNs. C’est un moyen rapide d’écarter le fournisseur quand une notification push iOS n’arrive pas.

Son rôle dans la migration : vous envoyez un push directement à un token d’appareil et vérifiez si APNs l’a accepté et délivré. S’il arrive par ce biais mais pas depuis votre nouveau fournisseur, vérifiez d’abord la configuration côté fournisseur.

Fonctionnalités clés :

  • Notifications de test vers un appareil, avec renvoi après modification des attributs
  • Logs de délivrance qui montrent le parcours d’une notification dans APNs, pour l’environnement de développement
  • Validation de token pour un environnement et un type de push donnés
  • Métriques de délivrance pour les notifications de test et de production

Points forts :

  • Directement chez Apple, sans intermédiaire
  • Valide les tokens push avant que vous ne mettiez en cause le SDK

4. Firebase Cloud Messaging : le meilleur pour tester les push Android par token

Message de test Firebase Cloud Messaging

Sur les appareils équipés des services Google Play, les push Android passent par Firebase Cloud Messaging (les appareils Huawei sans services Google utilisent HMS Push Kit). La console Firebase peut envoyer un message de test à 1 token d’enregistrement, ce qui en fait un outil simple pour tester les notifications push sur vos builds Android. Sur un marché comme la France, où iOS et Android se partagent les utilisateurs à peu près à parts égales, testez systématiquement les deux plateformes.

Son rôle dans la migration : une fois qu’un appareil est enregistré par le nouveau SDK, vous collez son token FCM dans la console et envoyez un test. S’il arrive, le token et la configuration Firebase sont corrects.

Fonctionnalités clés :

  • Envoi d’un message de test à un token d’enregistrement FCM précis depuis la console
  • Aucun code nécessaire pour une vérification rapide, à part la lecture du token sur l’appareil

Points forts :

  • Cloud Messaging s’utilise sans frais
  • Les push Android y transitent déjà

5. Proxyman : le meilleur pour inspecter le trafic et les payloads du SDK

Proxyman, proxy de débogage HTTP

Proxyman est un proxy de débogage HTTP pour macOS, Windows et Linux. Il montre ce que le SDK push envoie réellement : appels d’enregistrement, mises à jour du user ID, requêtes de tags.

Son rôle dans la migration : vous lancez l’app avec le nouveau SDK et observez ses requêtes. Si un tag ne quitte jamais l’appareil, vous le voyez ici, bien avant qu’un segment ne ressorte vide.

Fonctionnalités clés :

  • Capture du trafic HTTPS des apps sur appareils, simulateurs et émulateurs
  • Capture en un clic sur le simulateur iOS et l’émulateur Android dans les offres payantes
  • Breakpoints et Map Local/Remote pour modifier requêtes et réponses

Étape 4. Déployer par étapes

6. fastlane : le meilleur pour automatiser les déploiements progressifs

Automatisation des mises en production avec fastlane

fastlane est une plateforme open source qui automatise le déploiement iOS et Android. Pour une migration, son intérêt tient à 2 paramètres que vous pouvez intégrer à votre lane de mise en production.

Son rôle dans la migration : upload_to_app_store accepte phased_release: true, qui déploie la mise à jour sur 7 jours. upload_to_play_store accepte une valeur rollout, la fraction d’utilisateurs qui reçoivent le build (0.1 pour 10 % ; 1 termine le déploiement). La version de migration suit ainsi le même chemin progressif à chaque fois, et personne n’oublie de cocher la case.

Fonctionnalités clés :

  • deliver / upload_to_app_store avec phased_release
  • supply / upload_to_play_store avec rollout et release_status (y compris halted)
  • 1 seule lane pour les deux stores

Points forts :

  • Open source
  • Fait du déploiement progressif la norme plutôt qu’une étape manuelle

7. Phased release de l’App Store et staged rollouts de Google Play : le meilleur pour limiter l’impact d’un mauvais build

Paramètres de phased release de l'App Store
Paramètres de staged rollout de Google Play

Les deux stores permettent de livrer une mise à jour d’abord à une partie de vos utilisateurs. Quel que soit votre outillage de mise en production, c’est le filet de sécurité d’un remplacement de SDK push.

Son rôle dans la migration : le nouveau build avec Pushwoosh atteint une petite part des utilisateurs. Si les délivrances ou le taux de crash semblent anormaux, vous arrêtez le déploiement avant qu’il n’atteigne tout le monde. Pendant ce temps, OneSignal continue d’envoyer aux utilisateurs qui n’ont pas mis à jour, et personne ne manque une campagne.

Fonctionnalités clés :

  • App Store : déploiement sur 7 jours à 1 %, 2 %, 5 %, 10 %, 20 %, 50 %, puis 100 % des utilisateurs ayant activé les mises à jour automatiques. Vous pouvez mettre en pause jusqu’à 30 jours au total ou publier pour tous à tout moment
  • Google Play : vous fixez le pourcentage et l’augmentez manuellement. Vous pouvez interrompre puis reprendre le déploiement, et les utilisateurs déjà à jour conservent le build
  • Échantillonnage aléatoire des utilisateurs sur les deux stores

Points forts :

  • Intégré aux stores
  • Un mauvais build peut s’arrêter à 1 % des utilisateurs

Étape 5. Surveiller les crashs et la délivrance

8. Firebase Crashlytics : le meilleur pour détecter les crashs après le remplacement

Tableau de bord Firebase Crashlytics

Firebase Crashlytics remonte les crashs et les erreurs non fatales des apps Android, Apple, Flutter et Unity. Gardez-le actif pendant tout le déploiement et comparez le nouveau build au précédent.

Son rôle dans la migration : un crash dans un gestionnaire de notification ou pendant l’initialisation du SDK apparaît ici en premier. Les événements non fatals aident à repérer les problèmes plus discrets : enregistrez un non-fatal quand l’enregistrement push échoue, et vous le verrez par build.

Fonctionnalités clés :

  • Rapports de crash regroupés en issues, filtrables par build
  • Événements non fatals, enregistrés sur l’appareil et envoyés au lancement suivant de l’app
  • SDK officiels pour Android, Apple, Flutter et Unity

9. Statistiques de messages Pushwoosh : le meilleur pour repérer les baisses de délivrance silencieuses

Statistiques des notifications push Pushwoosh

Les rapports de crash ne vous diront pas que les push n’arrivent plus. Les statistiques push de Pushwoosh, si.

Son rôle dans la migration : pour chaque push, vous voyez l’entonnoir de l’audience à l’envoi, aux délivrances et aux ouvertures, par plateforme, plus un onglet dédié aux erreurs. Comparez les premières campagnes après le changement avec vos chiffres OneSignal d’avant. Si les délivrances iOS sont en retrait par rapport à Android, vérifiez les identifiants avant de vérifier le code.

Un plan de migration en 5 étapes pour les grandes applications

Inventoriez chaque appel OneSignal avant de toucher au code

Listez chaque appel SDK, wrapper, callback et test, dans tous les dépôts. Cette liste devient la checklist du remplacement et de la revue de code.

Regroupez le push derrière 1 interface interne

Faites passer chaque appel push par un service interne unique : login, logout, tags, gestion des notifications. La migration modifie alors 1 implémentation au lieu de 50 points d’appel, et le prochain changement de fournisseur devient lui aussi plus simple.

protocol PushService {
func login(userId: String)
func setTags(_ tags: [String: Any])
func handleNotificationOpen(_ payload: [AnyHashable: Any])
}

Remplacez les SDK dans 1 seule version

Ajoutez le SDK Pushwoosh et retirez le SDK OneSignal dans le même build. 2 SDK push dans 1 même app se disputent les callbacks de notification. Pendant le déploiement du nouveau build, continuez d’envoyer depuis OneSignal aux utilisateurs restés sur l’ancienne version.

Déployez par étapes et comparez les métriques de délivrance

Commencez par une petite part des utilisateurs via le phased release ou le staged rollout. Surveillez les crashs dans Crashlytics et les délivrances dans les statistiques Pushwoosh, puis élargissez le déploiement.

N’arrêtez les envois OneSignal qu’une fois la délivrance vérifiée

Tant que vous n’avez pas arrêté les envois depuis OneSignal, revenir en arrière signifie simplement continuer à envoyer depuis OneSignal. Coupez-le une fois la délivrance Pushwoosh et l’import d’audience confirmés.

🛠️

Avec Pushwoosh, notre équipe s’occupe de la partie fournisseur : vous envoyez vos identifiants push et un export d’audience, et vous livrez le nouveau SDK dans votre prochaine version. Voir le guide de migration complet

FAQ

Le changement de SDK lui-même prend environ une journée pour 1 développeur, selon le guide de migration Pushwoosh. Dans une grande application, ajoutez le temps de cartographier chaque appel, de tester et de déployer par étapes. L'adoption complète du SDK par vos utilisateurs prend des semaines, car elle dépend des mises à jour de l'app, mais l'import d'audience rend les appareils joignables avant cela.

Pushwoosh Team
Équipe contenu chez Pushwoosh
Partager

Articles connexes

Tout voir