PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Notification Windev Mobile (Androïd)
Notification Windev Mobile (Androïd)
Débuté par Meudes, 22 juin 2018 12:31 - 2 réponses
Membre enregistré
10 messages
Posté le 22 juin 2018 - 12:31
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 modifié, 22 juin 2018 - 12:34
Membre enregistré
945 messages
Popularité : +102 (110 votes)
Posté le 22 juin 2018 - 13:00
Bonjour,
«glIdentifiantMobile est en caractère chinois» surement problème d'une chaine unicode/ansi
Membre enregistré
10 messages
Posté le 22 juin 2018 - 13:09
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