Géolocalisation sur téléphone mobile

Géolocalisation sur téléphone mobile - Divers - Programmation

Marsh Posté le 16-06-2014 à 16:23:33    

Bonjour,
 
Je me permets de créer un topic reprenant le message suivant que j'ai posté sur un autre topic, mais dans une section plus hardware. J'ai un problème avec une appli que l'on vend avec le téléphone fourni : par moments les fonctionnalités utilisant la géolocalisation n'aboutissent pas.
 
L'application est développée avec Cordova (anciennement PhoneGap), qui permet de faire une web app en full HTML/CSS/Javascript, et tourne sous Android.
 
 
Je sèche devant le problème mais je ne vois pas d'où ça vient, je vous livre donc divers informations sur les tests que j'ai pu faire.
 
 
Première étape :
 
Nous fournissons une application mobile interfacée avec un logiciel de bureau. L'application utilise la géolocalisation pour certaines fonctionnalités. Nous testons le téléphone chez nous mais en utilisant l'environnement bureautique (serveur + BDD) des clients. Tout fonctionne parfaitement, on envoie le téléphone au client A et au client B.  
 
Deuxième étape :
 
Les clients réceptionnent les téléphones. On les guide à distance en vocal pour les initier à l'application. Arrivé à la partie qui géolocalise, rien ne se passe. Le reste des fonctionnalités utilisant des web services avec le serveur fonctionne, ce sont uniquement les fonctionnalités utilisant la géolocalisation qui tournent dans le vide. Après plusieurs manip fastidieuses qu'on a fait faire aux clients pour réinstaller l'appli et compagnie, on leur demande finalement de renvoyer les téléphones.
 
Troisième étape :
 
On reçoit le téléphone du client A : il avait tout désinstallé pour des raisons de données personnelles. On réinstalle l'appli (qui a légèrement évoluée depuis) et on teste sur son environnement. Ça fonctionne. On se dit que c'est logique, ça fonctionnait déjà avant qu'on l'envoie, ça ne buguait que chez lui de toutes façons. Je me déplace chez le client pour tester directement dans les mêmes conditions. Ça fonctionne. Je me dis que ça vient des petites évolutions qu'on a faites entre temps, qui ont corrigé le bug qui survenait chez lui.
 
Quatrième étape :
 
On reçoit le téléphone du client B. Il n'avait rien désinstallé. On teste : ça fonctionne, mais logique encore une fois, ça fonctionnait avant qu'on l'envoie. J'installe la nouvelle version qui doit donc, d'après ce que j'en ai déduit, corriger ce bug qui n'apparaissait que chez le client. Je teste, ça fonctionne, mais là encore ça ne prouve rien vu que chez nous (même sur l'environnement du client) ça a toujours fonctionné.
 
Cinquième étape :
 
Quelques jours plus tard, on s'apprête à envoyer le téléphone au client B, mais je teste vite fait avant quand même, au cas où... Et là ça ne fonctionne pas (premier truc étrange). Bon, je suis content, j'ai enfin le bug en direct sous mes yeux, et je me lance alors dans des tests, avec d'un côté un téléphone à nous, et de l'autre le téléphone du client B (deux marques différentes, deux cartes sim différentes, deux opérateurs différents) :
 
1) Je lance la procédure de géolocalisation (avec la méthode geolocation.getCurrentPosition()) sans le Wi-Fi (GPS on, 3G on) : sur notre téléphone, ça fonctionne. Sur le téléphone B ça ne fonctionne pas.
2) J'active le Wi-Fi : même résultat.
3) Je désinstalle et réinstalle l'appli (dernière version, donc) : même résultat. Là c'est inquiétant vu que je pensais que les évolutions de l'appli avaient corrigé le bug.
4) J'éteins les deux téléphones pour échanger les cartes sim et refaire un test : ça fonctionne sur les deux.
5) J'éteins les deux téléphones pour remettre les cartes sim d'origine et refaire un test : ça fonctionne sur les deux.
 
Et maintenant impossible de reproduire le problème, ça fonctionne.
 
 
Voilà, je ne sais absolument pas où chercher, j'ai peur que le client A se retrouve de nouveau confronté au problème, et j'ai pas envie de renvoyer le téléphone au client B alors que je n'ai rien fait de particulier pour résoudre le problème, même si là tout de suite ça fonctionne chez nous. Et ma hiérarchie évidemment ne comprend pas que je ne trouve pas de solution.
 
J'ai peu d'espoir que quelqu'un ait déjà rencontré cette situation, mais sait-on jamais !
 
Merci.

Reply

Marsh Posté le 16-06-2014 à 16:23:33   

Reply

Marsh Posté le 17-06-2014 à 11:44:29    

Ca viendrait pas tout simplement d'un paramètre utilisateur du téléphone qui est positionné pour qu'on ne le localise pas ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 17-06-2014 à 11:49:25    

J'ai regardé les paramètres et ça ne semblait pas venir de là.

Reply

Marsh Posté le 23-06-2014 à 16:12:26    

Une piste ? http://stackoverflow.com/a/3885172

 

Edit : n'oublie pas les commentaires, du genre

 
Citation :

Nice one, I had the same issue (on a Samsung Galaxy Tab, 10.1, running Android 4.0.3), once I used the timeout param above, I was able to handle the issue.


Message édité par LeRiton le 23-06-2014 à 16:21:52
Reply

Marsh Posté le 23-06-2014 à 16:38:38    

Intéressant, j'avais pas dû tomber dessus.
 
Toutefois j'ai du nouveau : j'ai rencontré le problème par hasard sur le téléphone d'un client chez qui ça fonctionnait auparavant. J'en ai profité pour tester d'autres applis utilisant la géoloc genre Google Map, et elles ne fonctionnaient pas. J'ai juste redémarré le portable et ça fonctionnait.
 
Ça vient donc du portable a priori, et potentiellement à l'insertion d'une nouvelle carte sim si on recoupe les infos, mais pas certain.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed