PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile (earlier versions) → Récupération push token iOS
Récupération push token iOS
Started by jauzanne, Apr., 14 2017 5:26 PM - 10 replies
Registered member
5 messages
Posted on April, 14 2017 - 5:26 PM
Bonjour,

Je rencontre un problème sur la récupération et le formatage du push token iOS
J'utilise NotifPushActive avec la récupération d"un buffer
Afin de l'envoyer en texte à un webservice, je fais un BufferVersHexa(AnsiVersUnicode(bufToken),4) mais j'ai une différence entre le token vu sur XCode (et qui recoit bien les notifications) et celui obtenu dans ma base
sous Xcode, j'ai <63f7040b 1b5c17dc 7f002e0e fbfb67e0 07b139c5 c99df5e5 99e8074c a9bc1e6b>
Et dans ma base avec le traitement ci-dessus j'obtiens :
00000063 000000F7 00000004 0000000B
0000001B 0000005C 00000017 000000DC
0000007F 00000000 0000002E 0000000E
000000FB 000000FB 00000067 000000E0
00000007 000000B1 00000039 000000C5
000000C9 0000009D 000000F5 000000E5
00002122 000000E8 00000007 0000004C
000000A9 000000BC 0000001E 0000006B

qui correspond en tout point au pusk token sauf sur l'avant dernière ligne, premier segment où j'ai une différence (99 <> 00002122)
Est ce un problème de codage ?

Merci pour toute aide

Jerome
Registered member
29 messages
Posted on June, 07 2017 - 5:42 PM
Bonjour,
As-tu trouvé une solution ? j’ai le même problème merci
Posted on June, 07 2017 - 6:48 PM
Effectivement, j'ai pu, avec le support, trouver une solution. Je mets cela en ligne demain
Registered member
29 messages
Posted on June, 09 2017 - 10:02 AM
Merci beaucoup c'est super gentil :-)
Posted on June, 10 2017 - 6:48 PM
Bonjour,

Je viens de reprendre mon code

1) procédure WLangage saveToken
procedure saveToken(bufToken est un buffer)
Dans une chaine, je récupère BufferVersHexa(bufToken,4)
J'envoie cela en chaine brut à mon webservice php ($vtokentxt)

2) webservice php avec la variable envoyée $vtokentxt
$vtokentxt = preg_replace('/[\r\n]+/', ' ', $vtokentxt);

//Working on vtokentxt, explode by space and littleToBigEndian for each part
$tokenArray = explode(" ",$vtokentxt);

$res="";

for ($i=0;$i<count($tokenArray);$i++) {
$res .= littleToBigEndian($tokenArray[$i])." ";
}

res est mon token bien formaté :-)
Du style
63F7040B 1B5C17DC 7F002E0E FBFB67E0 07B139C5 C99DF5E5 99999999 A9BC1E6B

Enfin l'envoi du pushmessage passe par le création d'un message
Ca ressemble à

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(mb_strlen($payload)) . $payload;

Amicalement,

Jerome
Registered member
29 messages
Posted on June, 11 2017 - 4:16 PM
Super !!!!
Je te remercie grandement d'avoir pris le temps de repondre

Merci beaucoup !!!
Registered member
29 messages
Posted on June, 22 2017 - 2:31 PM
salut dsl de t’embêter encore .. :p

mais a tu la fontion littleToBigEndian( string )

car pour ce que j'ai trouvé ça remet presque tout dans l'ordre mais ça garde le 00 excessif mais aussi il y a toujours le problème du style (99 <> 00002122) comme dans ton annonce :-/

merci par avance : merci:
Message modified, June, 22 2017 - 2:31 PM
Registered member
29 messages
Posted on June, 22 2017 - 2:42 PM
Les 00 c'est mo qui me suis tromper :p
Posted on June, 22 2017 - 3:07 PM
C'est bon, ca fonctionne ?
Registered member
29 messages
Posted on June, 22 2017 - 3:53 PM
c'est bon au final tus simplement :

chaine_token est une chaîne = BufferVersHexa(Token)
chaine_token = ChaîneSupprime(chaine_token,RC)
chaine_token = ChaîneSupprime(chaine_token," ")
Token = UnicodeVersAnsi(chaine_token)

merci :) :merci: :p :D
Registered member
140 messages
Popularité : +6 (6 votes)
Posted on April, 16 2020 - 10:28 AM
Bonjour,

Comment transformer le token du format HEXADECIMAL vers le format de token Firebase pour IOS. Format semblable à celui qu'on obtient pour Android.

Merci