|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Notification Push Androïd : token invalide |
Débuté par ChouLAGH, 06 oct. 2017 11:22 - 6 réponses |
| |
| | | |
|
| |
Membre enregistré 251 messages Popularité : +1 (1 vote) |
|
Posté le 06 octobre 2017 - 11:22 |
Bonjour, Je me permets de republier ce sujet (publier sur forum Windev 22), car je n'ai reçu aucune réponse et je stresse : =========================================== Bonjour à tous,j'ai regardé le webinaire sur les notifications Push Androïd et j'ai fait, il me semble la même chose. Mais j'ai toujours un token invalide ====================== contexte ======================= 1) j'ai un webservice windev 22 qui reçoit un token et le stocke dans un fichier HF C/S (Cloud PC Soft) 2) J'ai une appli mobile windev 22 android qui se connecte au serveur Google et reçoit un token par NotifPushActive() et l'envoie à mon webservice tout ce passe bien car le token est bien dans le fichier.
3) J'ai une application Windev 22 qui appelle le service Web, récupère le token et tente d'envoyer une notification ainsi :
============================= // // appeler le WS pour recevoir le token // bufTokenDest est un Buffer tabTokens est un tableau de Buffers tabTokensInvalides est un tableau de Buffers bufTokenDest=recupereToken(gsIdWS,gsPwdWS,gscodeEcoleUser,sIdPersonne) SI bufTokenDest<>"" ALORS TableauAjoute(tabTokens,bufTokenDest) // Définition de la notification MaNotif est une Notification MaNotif.Titre = SansEspace(SAI_titreNotif) MaNotif.Message = SansEspace(SAI_messageNotif) MaNotif.MessageSecondaire =SansEspace(SAI_SousMessageNotif) // Android 4.1 MaNotif.TexteDéroulant = "" MaNotif.Contenu=""
sRepBool est un booléen // Envoie la notification sRepBool=NotifPushEnvoie(MaNotif, tabTokens, gsApiKey, tabTokensInvalides,npeFirebase) SI sRepBool=Vrai ALORS Info("Notifiction envoyée") Erreurinfo() SINON Info("Pb Envoi ") FIN FIN ========================== la fonction NotifPushEnvoie() me renvoie vrai mais quand je débogue : le token que j'ai donné se retrouve dans le tableau tabTokensInvalides !!!! et Donc aucune notif n'est envoyée !!!!!
Erreurinfo() m'affiche : Le serveur ne répond pas. Y a t il un serveur HTTP sur la machine cible ? un problème a été détecté pendant l'envoi d'informations sur la Socket.
=== Précision : je travaille avec la version FireBase de Google. j'ai bien vérifié la clé de l'API. tout semble normal. ====
Si vous pouvez me donner des pistes svp. je sèche depuis 5 jours
Cordialement
-- Chouaïb
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 06 octobre 2017 - 13:38 |
Bonjour Chouaïb,
Pas de panique ! Le déboggage ne doit pas stresser et doit être prit comme un jeu Non, je plaisante. Moi ce qui me stresse c'est les bogues PC Soft !
Dans votre cas, il faudrait vraiment s'assurer que les tokens soient bons, la façon dont vous stocker les tokens utilisateurs (champ texte, memo ?...) forcés en ANSI ou autres (ça peut jouer), si la clé API Google est correcte... Bref, beaucoup de choses.
Le mieux, et de créer un petit projet "test" depuis zéro, qui n'intègre que les fonctionnalités PUSH. Vraiment, c'est ultra simple et rapide à faire. Merci PC soft
Une fois fonctionnel, ça devient facile de comprendre ou est l'erreur dans le projet initial.
Bon courage.
Cdlt, Eric.
-- Eric DELATTRE http://www.yoosite.fr
EDIT : Tiens... je m'aperçois que c'est l'application WD qui envoie le push ? Pourquoi n'est pas directement le WS ?Message modifié, 06 octobre 2017 - 13:44 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 251 messages Popularité : +1 (1 vote) |
|
Posté le 06 octobre 2017 - 14:53 |
Merci Eric pour votre réponse. J'ai essayé au début de faire envoyer le PUSH par le WS mais comme cela ne marchait pas, j'ai essayé par une appli sur PC. je vais suivre votre conseil : faire 3 applis ultra simples : mobile, WS et PC pour tester. Je vais aussi stoker le token du côté smartphone et du côté WS et comparer. ======================== J'AI UN DOUTE ========================= C'est juste l'appli mobile Androïd qui doit être enregistrée sur la console FireBase ? ou faut inscrire quelque part aussi l'appli PC ou WS qui envoie le PUSH ? =========================
Donc je reviendrai ici après les tests. Merci encore.
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 06 octobre 2017 - 19:21 |
Bonsoir,
Juste enregistrer l'application mobile suffit sachant que c'est le web service qui enverra les notifications. Il faut juste récupérer la bonne clé "serveur" qui sera passée en paramètre à NotifPushEnvoie.
Le plus simple est encore de suivre les directives step by step donnée ici : http://doc.pcsoft.fr/?1000022215&name=notification_push_configuration_android_firebase
Attention : ne plus suivre les anciennes directives qui figurent encore dans l'aide en ligne ! Mais PC Soft met clairement en garde là-dessus.
Ensuite attention aux tokens utilisateurs. Perso, je les stocke dans un memo. Ainsi, je m'affranchis d'un potentiel changement de longueur du token, sait-on jamais.
Bon dev, Eric.
-- Eric DELATTRE http://www.yoosite.frMessage modifié, 06 octobre 2017 - 19:23 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 251 messages Popularité : +1 (1 vote) |
|
Posté le 07 octobre 2017 - 11:53 |
Bonjour, Je cherche toujours. deux questions me viennent : ===== Eric, vous dites que vous stocker le token dans un memo ? est ce type texte et sous-type memo texte et donc la rubrique a une longueur de 8? car moi je stocke le token dans une rubrique de type "son,image, binaire" !!! ====== mon appli Mobile à été déployée il y a plusieurs semaines sur la Play store avec une version n et elle n'avait pas à l'époque la notification PUSH à gérer ni donc le fichier .json intégré.
Aujourd'hui je teste avec une version n+1 avec la notification PUSH et un nouveau fichier .json : MAIS Le test ne se fait que sur mon Smartphone relié à mon PC. est ce que FieBase vérifie les infos sur l'appli de mon Smartphone ou vérifie sur la version ancienne sur le Play Store ?
Merci pour une réponse. Bon weekend
Cordialement
-- Chouaïb |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages Popularité : +64 (70 votes) |
|
Posté le 07 octobre 2017 - 14:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 251 messages Popularité : +1 (1 vote) |
|
Posté le 08 octobre 2017 - 17:49 |
Bonsoir, Vous avez raison : c'est le token qui déconnait. Je l'ai stocké mal dans mon fic HF C/S : rubrique déclarée en "son, image, binaire" mais avec longueur 50.
J'ai remis cette rubrique en "son, image, binaire" longueur 256 et sous-type "chaîne binaire"
Et tout re fonctionne. Ce qui m'a fait perdre du temps :
J'avais l'habitude d'aller chercher les exemples dans le dossier Windev 22/Exemples/.... et je cherchais l'exemple WS serveur Push car cet exemple il y a la description du fichier HF or cet exemple est niché dans Windev 22 Mobile/Exemples/Multiplateforme/Push Mobile/.....
J'ai été persuadé que je ne le trouvais car il faisait partie d'une LST !!!!
Qu'il était doux ce son de la 1ère notification
Encore Merci à Eric et à François.
Cordialement
-- Chouaïb |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|