PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 26 → ACCESS_BACKGROUND_LOCATION : l'idée de géni !
ACCESS_BACKGROUND_LOCATION : l'idée de géni !
Débuté par Pascal BOULESTEIX, 21 mar. 2021 10:01 - 9 réponses
Membre enregistré
360 messages
Posté le 21 mars 2021 - 10:01
Bonjour à tous
Une bien belle matinée ce dimanche:) ; il fait beau et une de mes applications a été mise en ligne avec le fameux ABL !
Comment j'ai fait ?
Depuis fin décembre, j'ai essayé des dizaines de fois de mettre mon application en ligne pour des tests internes, avec autant de refus.
Le seul restant est le fameux "Prominent disclosure not found".
Vendredi, j'ai décidé de mettre ma mise à jour directement en production (au cas ou le validateur serait différent !)
Et bingo, ce matin, elle est disponible dans le Play Store !
Par contre, je n'ai pas reçu de message m'indiquant le changement de statut (ou alors c'est juste Apple qui en envoie un ?)
Je vais essayé avec mon autre application !
A suivre.
Membre enregistré
68 messages
Posté le 21 mars 2021 - 13:18
Je suis impatient Pascal, pour moi j'ai mis le message apple et mon application dans les mains du support de pcsoft et j'attends une réponse...
à suivre
Posté le 22 mars 2021 - 09:59
Bonjour,

Merci Pascal pour ce retour.
J'ai moi même essayé de mettre directement en production et même refus à 2 reprises.

Pourrais-tu nous mettre le code que tu as mis dans l'initialisation de ton rojet et la vidéo que tu as posté pour qu'on puisse s'en inspirer ?

J'ai tout essayé de mon côté et je n'ai que des refus...

Par avance merci.
Posté le 22 mars 2021 - 12:55
Bonjour,

Merci Pascal pour ce retour.
J'ai moi même essayé de mettre directement en production et même refus à 2
reprises.

Pourrais-tu nous mettre le code que tu as mis dans l'initialisation de ton
rojet et la vidéo que tu as posté pour qu'on puisse s'en inspirer ?

J'ai tout essayé de mon côté et je n'ai que des refus...

Par avance merci.


excusez moi mais vous parlez du play store et de Apple ???

donc l'accèss_background_location est un pb Android si j'ai bien
compris
donc quid de apple ?


et si j'ai toujours bien compris, c'est si et seulement si on utilise
la geolocalisation ?
Merci de me confirmer car je vais bient^t en avoir besoin pour une
appli

--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Membre enregistré
68 messages
Posté le 22 mars 2021 - 15:56
oui tu as parfaitement raison on parle bien d'apple et de l'accèss_background_location
Membre enregistré
68 messages
Posté le 22 mars 2021 - 15:59
grrrrrrrrr ! oui tu as parfaitement raison on parle bien d'ANDROID et de l'accèss_background_location

mon clavier a fourché....;(
Membre enregistré
360 messages
Posté le 22 mars 2021 - 17:18
Voici le code

Au tout début de l'init projet
// pas de titre suivant car bug dans l'init projet sinon TitreSuivant("Politique de confidentialité")
nRC =gPROC_DEMANDE_AUTORISATION_LOCALISATION(Faux)

SELON nRC
CAS 0
gbMyAcceptationGeolocalisation=Faux
CASE 1
gbMyAcceptationGeolocalisation=Vrai
gPROC_INIT_GPS()
CAS -1
gbMyAcceptationGeolocalisation=Vrai
FIN


Procédure globale
PROCÉDURE gPROC_DEMANDE_AUTORISATION_LOCALISATION(bParmSilencieux est un booléen=Faux)

nRC est un entier=0

SI fFichierExiste(gsRepEnCoursLorsInit+[fSep()]+"localisation.txt") ALORS
RENVOYER -1
FIN

SI bParmSilencieux=Faux ALORS

nRC=Dialogue("AVERTISSEMENT"+RC+RC+"Cette application utilise votre localisation pour vous situer sur la carte et vous guidez sur les parcours."+RC+RC+"Votre localisation est stockée sur votre appareil uniquement quand vous enregistrez un parcours (même si l'application est inactive ou en arrière-plan) ou un point d'intérêt."+RC+RC+"Quand l'enregistrement d'un parcours est activé, une notification est affichée."+ RC +RC + "Votre localisation n'est jamais partagées sans action de votre part.",["Ok","Annuler"],1,2,dlgIcôneInfo)

SINON
nRC=Oui
FIN

SI nRC=Oui ALORS
QUAND EXCEPTION DANS

lnNumFichier = fOuvre(gsRepEnCoursLorsInit+[fSep()]+"localisation.txt",foCréation)
fEcritLigne(lnNumFichier,"1")
fFerme(lnNumFichier)
RENVOYER 1
FAIRE
RENVOYER 0
FIN

SINON
RENVOYER 0
FIN
Membre enregistré
360 messages
Posté le 31 mars 2021 - 11:55
Salut à tous
La fin d'un calvaire : mes deux applications sont en ligne avec les recettes précédemment évoquées.
Reste le point suivant : je pense que les valideurs des versions de prod se sont attachés à la forme et non au fond.
En effet, un psychorigide comme moi fait une différence entre afficher une 'popop alert', le grief du rejeté pour les versions internes, et l'affichage d'une fenêtre qui ressemble à une popup alerte.
Il est vrai que fin décembre quand j'ai soumis ma nouvelle version en version interne, on était loin de l'ergonomie actuelle et que ma politique de confidentialité n'était pas aux normes.
Je pense que le valideur de l'époque est entré plus en avant dans le code pour rechercher l'affichage de cette satanée "popup alert" et à rejeté systématiquement mes mises à jour.
Pour l'avenir, et pour lever toute ambigüité, j'ai demandé à PCSoft qu'une nouvelle instruction WL soit ajoutée : AffichePoppuAlert("mon texte").
A suivre
Membre enregistré
2 messages
Posté le 12 avril 2021 - 15:55
Bonjour,

je développe actuellement une application qui a besoin de la localisation en arrière-plan et enregistre le trajet de l'utilisateur en windev 25 (je vais passer en W26 dans la semaine). Le problème est que la fonction GPSSuitDéplacement marche correctement en arrière-plan sur iOS mais pas en Android. Avez-vous rencontré ce problème sur Android ? Utilisez-vous une autre fonction pour suivre la localisation de l'utilisateur ? Je veux éviter d'utiliser un ThreadPersistant. Merci.
Membre enregistré
360 messages
Posté le 13 avril 2021 - 08:32
Oui. Il faut ajouter un thread permanent pour que cela fonctionne en arrière-plan sous Android.

Voici comment j'initialise ce thread

QUAND EXCEPTION DANS

ThreadExécute("gTHREAD_TRACE_GPS_START", threadContexteGlobal, gTHREAD_TRACE_GPS_START)

// Crée la notification à afficher pendant la lecture du morceau de musique
Notif est une Notification
Notif..Titre = "Pour info : capture d'une trace en cours"
//Notif..ActionClic = gTHREAD_TRACE_GPS_STOP_BY_NOTIFICATION



// tant que le thread n'est pas terminé
ThreadPersistant("gTHREAD_TRACE_GPS_START", Notif)

FAIRE
//Info ("Thread déjà lancé","*"+gsTheadSignal+"*")
gsTheadSignal=""
FIN


gbTraceActive=Vrai

PROCÉDURE gTHREAD_TRACE_GPS_START()
BOUCLE
SI ThreadAttendSignal() = Vrai ALORS
// SI OuiNon("Voulez-vous arrêter la prise de trace en cours ?")=Oui ALORS
// ToastAffiche("Arrêt GPS arrière-plan")

// SELON FenEtat(FI_CHRONO)
// CAS Actif
SI gsTheadSignal="Arrêt par notification" ALORS
gPROC_TRACE_ENREGISTREMENT_TRACE("Appel depuis le thread")
FIN
// ExécuteTraitement(FI_CHRONO.BTN_TRACE_ARRET, trtClic)
// FIN
gsTheadSignal=""
ThreadFin()

SORTIR
// FIN
FIN
FIN
RETOUR


Le plus dur sera de gérer la fin de la capture de la trace (envoie d'un signal au thread), le début de capture (le thread précédent n'est pas fermé), ...

Une copie de ma fenêtre de gestion