PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile (versões anteriores) → Récupération push token iOS
Récupération push token iOS
Iniciado por jauzanne, abr., 14 2017 5:26 PM - 10 respostas
Membro registado
5 mensagems
Publicado em abril, 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
Membro registado
29 mensagems
Publicado em junho, 07 2017 - 5:42 PM
Bonjour,
As-tu trouvé une solution ? j’ai le même problème merci
Publicado em junho, 07 2017 - 6:48 PM
Effectivement, j'ai pu, avec le support, trouver une solution. Je mets cela en ligne demain
Membro registado
29 mensagems
Publicado em junho, 09 2017 - 10:02 AM
Merci beaucoup c'est super gentil :-)
Publicado em junho, 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
Membro registado
29 mensagems
Publicado em junho, 11 2017 - 4:16 PM
Super !!!!
Je te remercie grandement d'avoir pris le temps de repondre

Merci beaucoup !!!
Membro registado
29 mensagems
Publicado em junho, 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:
Mensagem modificada, junho, 22 2017 - 2:31 PM
Membro registado
29 mensagems
Publicado em junho, 22 2017 - 2:42 PM
Les 00 c'est mo qui me suis tromper :p
Publicado em junho, 22 2017 - 3:07 PM
C'est bon, ca fonctionne ?
Membro registado
29 mensagems
Publicado em junho, 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
Membro registado
140 mensagems
Popularité : +6 (6 votes)
Publicado em abril, 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