PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Notification Windev Mobile (Androïd)
Notification Windev Mobile (Androïd)
Started by Meudes, Jun., 22 2018 12:31 PM - 2 replies
Registered member
10 messages
Posted on June, 22 2018 - 12:31 PM
Bonjour à tous,

Afin de faire des notifications sur des utilisateurs ciblés, je tente de lier en base de données le tocken google à l'id de mon utilisateur.

Voici la description des échanges :

Code de l'initialisation de l'appli mobile :

glIdentifiantMobile est un Buffer
glTypeService est un entier


// -- Notification fonction de callback
NotifPushProcedure(RéceptionNotifPush)

IF ExeInfo(exeLancement) <> exeNotificationPush THEN
NotifPushActive(activationNotifPush)
END


Code de la procédure de activationNotifPush:
Procedure activationNotifPush(bufIdentifiant est un Buffer, sErreur est une chaîne)

SI Taille(bufIdentifiant) > 0 ALORS


glIdentifiantMobile=bufIdentifiant
glTypeService=SysVersionAndroid()

// Informe le serveur d’application du nouvel identifiant
WD_Serveur_Push.AjouteIdentifiantAndroid(bufIdentifiant,SysVersionAndroid())

SI ErreurDétectée() ALORS
// Erreur
Erreur("Echec de l'appel au service Web",ErreurInfo())
FIN
SINON
// Remonte l’erreur renvoyée par le service
Erreur("Erreur d’enregistrement : ", sErreur)
FIN


Voici le code de la page login :

(...)
HLitRecherchePremier(IdentifiantPush,IdentifiantServiceTypeService,[glIdentifiantMobile,glTypeService])
SI HTrouve(IdentifiantPush) ALORS
Info("trouve")
IdentifiantPush.IDMembre=Utilisateur.IDUtilisateur
HModifie(IdentifiantPush)
ELSE
Info("pas trouve")
END
(...)


Hors, il est impossible de trouver le tocken dans la base de données (qui est bien présent en base).

J'ai affiché via un info mon glIdentifiantMobile et glTypeService

glIdentifiantMobile est en caractère chinois avec un info sur l'appli mobile, j'imagine que c'est donc un problème de "buffer vers chaine" ?

Ainsi, J'ai tenté de créer une méthode dans mon webservice (renvoyant l'IDUtilisateur), mais il ne trouve pas le tocken.

Qu'en pensez-vous ?
Message modified, June, 22 2018 - 12:34 PM
Registered member
946 messages
Popularité : +102 (110 votes)
Posted on June, 22 2018 - 1:00 PM
Bonjour,
«glIdentifiantMobile est en caractère chinois» surement problème d'une chaine unicode/ansi
Registered member
10 messages
Posted on June, 22 2018 - 1:09 PM
Contourné,j 'ai modifié la fonction du webservice d'enregistrement des tockens qui elle fonctionne.
Cependant, le mystère reste entier.

Procedure PRIVÉE __AjouteIdentifiant(bufIdentifiant est un Buffer, sInfoPerso est une chaîne, nTypeService est entier) : chaîne

SI Taille(bufIdentifiant) = 0 ALORS
RENVOYER -1
FIN
HLitRecherchePremier(IdentifiantPush,IdentifiantServiceTypeService,[bufIdentifiant, nTypeService])
SI HTrouve(IdentifiantPush) ALORS
// doublon
RENVOYER IdentifiantPush.IDMembre
FIN

IdentifiantPush.IdentifiantService = bufIdentifiant
IdentifiantPush.InfoPerso = sInfoPerso
IdentifiantPush.TypeService = nTypeService

// Ajout dans la base
SI PAS HAjoute(IdentifiantPush) ALORS
ExceptionDéclenche(1,"Echec de l'ajout de l'identifiant")
FIN

RENVOYER Vrai