search

Found

info Aperçu

Générez côte à côte les payloads JSON FCM (HTTP v1) et APNs. Inclut badge, son et données personnalisées — JSON prêt à copier, sans envoi serveur.

📘 Mode d'emploi

  1. Saisissez le titre, le corps et le compteur de badge
  2. Configurez le son et ajoutez des paires clé-valeur personnalisées
  3. Vérifiez les payloads JSON générés pour FCM et APNs

Générateur de Payload JSON pour Notifications Push (FCM / APNs)

Copié !
Copié !
Article

Générateur de Payload JSON pour Notifications Push FCM et APNs

Construisez des payloads de test pour les notifications push mobiles aux formats Firebase Cloud Messaging (FCM HTTP v1) et Apple Push Notification service (APNs) en parallèle. Saisissez le titre, le corps, le compteur de badge, l'option son et les données clé-valeur personnalisées dans un seul formulaire, puis copiez le JSON résultant directement dans Postman, curl ou votre backend. Pratique pour valider la structure d'une notification avant d'intégrer le Firebase Admin SDK ou l'endpoint HTTP/2 d'APNs.

💡 À propos de cet outil

FCM et APNs encodent la même notification avec des structures JSON différentes. FCM HTTP v1 place les champs communs sous message.notification.title/body, transporte les données personnalisées dans message.data (valeurs string uniquement) et expose les overrides par plateforme via message.android.notification et message.apns.payload.aps. Le payload APNs autonome imbrique l'alerte sous aps.alert.title/body, place badge et sound directement dans aps, et attend les données personnalisées à la racine — hors du dictionnaire aps. Passer manuellement d'un format à l'autre conduit fréquemment à des erreurs, c'est pourquoi ce générateur affiche les deux dispositions à partir d'une seule saisie.

🧐 Questions fréquentes

Q: La sortie est-elle compatible avec l'API legacy /fcm/send de FCM ? A: Non. L'outil émet des payloads pour l'endpoint FCM HTTP v1 (https://fcm.googleapis.com/v1/projects/{project}/messages:send). L'endpoint legacy a été déprécié en juin 2024 et le format de réponse, l'authentification et le wrapper message ont tous changé en v1.

Q: Les valeurs des données personnalisées peuvent-elles être des nombres ou des objets JSON imbriqués ? A: L'outil émet toutes les valeurs en tant que strings. FCM HTTP v1 exige que les valeurs du map data soient des strings ; y passer des nombres ou des objets imbriqués renvoie un 400. APNs au niveau racine est plus permissif, mais le code multiplateforme garde généralement tout en string par symétrie.

Q: Peut-on définir aps.sound sur un fichier audio personnalisé ? A: Le toggle émet ici "sound": "default". Pour utiliser un fichier .caf embarqué dans l'application, copiez le JSON et remplacez "default" par le nom du fichier. Pour les alertes critiques, remplacez la string par le dictionnaire {name, critical, volume} documenté dans la spécification APNs.

Q: Quelle est la différence entre laisser badge vide et le mettre à 0 ? A: Laisser le champ vide omet la propriété badge, le badge actuel de l'application reste inchangé. Envoyer "badge": 0 l'efface explicitement — utile quand l'utilisateur a lu les messages et que vous voulez réinitialiser le compteur. Ajoutez le 0 manuellement après la copie si ce comportement est nécessaire.

Q: Le JSON généré peut-il être envoyé tel quel ? A: La structure du payload respecte la spécification, mais il faut encore joindre un bearer token OAuth 2.0 pour FCM v1 ou un header JWT et un device token APNs avant l'envoi. L'outil génère uniquement le corps, pas le transport.

📚 Choisir entre FCM, APNs direct, et alternatives européennes

Les équipes ayant déjà configuré Firebase envoient souvent toutes leurs notifications — Android, iOS, Web Push — via FCM HTTP v1, car un seul endpoint unifie la livraison multi-plateforme et le Firebase Admin SDK abstrait OAuth 2.0 et la gestion des topics. Cependant, certaines équipes européennes préfèrent passer par APNs directement ou par des fournisseurs locaux pour des raisons de souveraineté des données : Firebase implique un transit par les serveurs Google, et le RGPD exige une analyse d'impact sur les transferts hors UE quand les notifications contiennent des données personnelles dans le corps ou les champs data.

Le champ apns-priority (10 = immédiat, 5 = économe en énergie) et l'en-tête apns-push-type (alert, background, voip, complication, fileprovider, mdm) sont des contrôles granulaires qu'APNs expose nativement et que FCM résume dans des abstractions plus haut niveau. Pour les applications VoIP ou utilisant Live Activity sur iOS, construire directement le payload APNs reste nécessaire — ce générateur affiche exactement la structure qu'attend le serveur d'Apple. Côté Android, des SDK européens comme Batch ou OneSignal acceptent le même format data que FCM mais ajoutent des champs propriétaires pour le ciblage ; le panneau FCM ici sert alors de base que vous enrichissez après copie.