PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → nouvelle api v1 notification
nouvelle api v1 notification
Débuté par Laurent HERMANN, 17 juil. 2025 13:00 - 2 réponses
Membre enregistré
342 messages
Posté le 17 juillet 2025 - 13:00
bonjour,

nous envoyons une notification push vers mobile au travers de l' api V1 firebase avec fonction notifpushenvoi

on arrive à se connecter mais le format du token n'est pas le bon
le token est stocké en chaine binaire comme l'exemple wdm serveur push

dans la fenetre test api, nous avons cette erreur

Échec envoi : Le service Firebase n'a pas pu traiter la notification (vérifiez que les tokens identification sont valides)


dans quel format est le token ? ?

merci

--
LH
Membre enregistré
278 messages
Posté le 17 juillet 2025 - 16:36
Bonjour Laurent,

Il y a énormément de sujets qui traitent de ce problème. C'est récurrent.
Bien souvent, c'est lié à un problème de conversion du token entre la partie Mobile et la partie Windows

Voici en gros les étapes par lesquelles je passe :

1) Dans l'application mobile, il faut récupérer le token (buffer) renvoyé par la procédure callback de NotifPushActive() et la transmettre au webservice (ou autre application Windev) en le transformant en chaine Hexa
Exemple :
sToken est une chaîne = BufferVersHexa(<token reçu>, SansRegroupement, BigEndian+SansLigne)


2) Dans le webservice Windev (ou l'application qui envoi les notifications), récupérer le token reçu (sous forme de chaine Hexa) et le repasser en Buffer avec HexaVersBuffer()
Il suffit ensuite d'utiliser ce buffer dans NotifPushEnvoie()

Cdlt
Membre enregistré
7 messages
Posté le 07 août 2025 - 17:09
Bonjour,
J’ai bien suivi cette méthode justement.

Sur l’appli mobile, je récupère bien le token via NotifPushToken() dans la callback de NotifPushActive(), puis je le convertis en hexa avec BufferVersHexa(...).
Je l’envoie ensuite à mon webservice et je le stocke en base (champ chaîne taille 1024, donc pas de troncation).

Côté serveur, je récupère ce token (vérifié, il est complet), je le reconvertis avec HexaVersBuffer() puis je le passe à NotifPushEnvoie() dans un tableau de buffer avec la clé Firebase V1.
Et c’est à ce moment-là que j’ai l’erreur :

"Le service Firebase n’a pas pu traiter la notification (vérifiez que les tokens identification sont valides)"

Le token vient tout juste d’être généré, donc il ne peut pas être expiré. Je pense pas que ce soit un souci de conversion, mais plutôt peut-être un problème avec la clé Firebase V1 ou un paramètre que j’ai raté.


Cordialement.