achas que algo não funciona na aplicação?
Algumas viagens não estão a ser detectadas?

Aqui estão alguns truques e dicas que ajudam o SenseMyCity a funcionar melhor (ou qualquer outra aplicação que necessita de recolher dados em segundo plano).

 

Permissões obrigatórias (e pedidas):

  • Localização. É uma aplicação de recolha de dados de localização…
  • Contas (no Android <8.0). A aplicação requer essa permissão para obter o e-mail da conta Google registada do smartphone. Sem ela, a plataforma não pode realizar a autenticação de utilizador, não providenciando acesso aos seus dados recolhidos e, portanto, não pode recolher nenhum dado. Não se preocupe, nós não armazenamos o e-mail, apenas uma versão com hash.
    O Android 8.0+ permite-nos solicitar um e-mail válido na primeira execução sem esta permissão.

 

Configurações necessárias do Android:

  • Os serviços de localização devem estar activados. Não dá para evitar isto.
  • O Google Services deve estar instalado. A aplicação deve pedir para instalá-lo/actualizá-lo, caso seja necessário. Estes fornecem serviços de localização, de reconhecimento de actividades e de visualização do mapa.

 

Configurações recomendadas:

  • Serviços de localização configurados para Alta Precisão. O detector de movimento apenas solicita localizações passivos ou com baixo consumo de energia, mas depois do movimento ser detectado a nossa aplicação solicita novas localizações com alta precisão e frequência, até o utilizador parar de se mover.
  • Dados móveis activos. A aplicação por definição apenas transmite dados por wifi. Os Google Services, no entanto, podem utilizar ligações móveis esporadicamente para obter uma localização com baixo custo de bateria (utilizando a lista de redes wifi e torres celulares próximas). A nossa aplicação aproveita essas actualizações de localização para detectar o movimento do usuário.
  • Histórico de localização do Google. Nas “Contas” -> “Google” -> “Privacidade” -> Menu “Controlo de Actividade”. Essa opção permite que o Google recolha esporadicamente a tua localização, activa a Timeline do Google Maps, e envia-te e-mails mensais assustadores, listando os lugares que visitaste. Esta funcionalidade com que uma nova localização com baixo custo de bateria seja obtida a cada 60s, fornecendo-a também a qualquer aplicação que necessite, diminuindo o consumo de energia. Alternativamente:
  • Configuração do SenseMyCity: “Aumentar a sensibilidade do Det. de Movimento”. Sem actualizações de localização fornecidas pelo “Histórico de localização do Google”, a aplicação conta com o Reconhecimento de actividades do Google para detectar movimentos, que tem uma precisão que varia muito entre modelos de smartphones e do software. Em alternativa, esta configuração informa a nossa aplicação para fazer um pedido de localização com baixo custo de bateria a cada 60s, o que requer uma conexão activa de Internet, mas melhora muito o detector de movimento.

 

Alguns problemas conhecidos:

Alguns fabricantes de smartphones usam técnicas agressivas de poupança de bateria, que podem afectar os serviços em segundo plano.

Alguns fabricantes utilizam definições de segurança de rede que não segue a documentação do Android e bloqueiam ligações UDP/TCP.

Muitas sugestões podem ser vistas aqui:
https://sleep.urbandroid.org/documentation/faq/alarms-sleep-tracking-dont-work/

 

Ficam aqui algumas sugestões para corrigir os problemas nos smartphones mais comuns:

 

 

serviços de segundo plano restritos:

Esse recurso impede que os aplicativos sejam executados após a tela do smartphone ser desativada.

Huawei: http://nine-faq.9folders.com/articles/15792-how-to-turn-off-the-lock-screen-cleanup-on-the-huawei-devices

OnePlus: http://nine-faq.9folders.com/articles/12302-how-to-turn-off-background-restriction-on-the-oneplus-devices

Xiaomihttp://nine-faq.9folders.com/articles/8772-how-to-manage-autostart-service-on-the-xiaomi-devices

Asushttps://www.asus.com/support/FAQ/1013752/

 

Restrições nas ligações de rede:

Alguns fabricantes de smartphones utilizam versões do Android “diferentes”, que em algumas situações podem prevenir as aplicações de criar ligações de rede.

Se respondeste a alguns “questionários de modo de transporte” nos dias anteriores, e mesmo assim ainda não vês os gráficos no ecrã principal, provavelmente tens uma versão destas.

Para confirmar, liga-te a uma rede wifi e vai a SenseMyFEUP -> Configurações -> Relatório da DB , e vê se existem sessões armazenadas localmente por exportar.
Se session > 0 , clica em SenseMyFEUP -> Configurações -> Forçar uma exportação.
Após um minuto volta a SenseMyFEUP -> Configurações -> Relatório da DB.
Se session > 0 , tens uma dessas versões…
Para solucionar, possivelmente terás de desligar a opção Exportar apenas por Wifi, e força novamente uma exportação.
Poderás ter de desligar da rede wifi e exportar utilizando uma rede de dados móveis.
Nota: O SenseMyFEUP envia cerca de 1MB de dados por cada hora de viagem recolhida.

 

Optimização da bateria:

A nossa aplicação segue as directrizes da Google e, portanto, deve ser compatível com as técnicas padrão de poupança de bateria, como o Doze.

Mas se continuares com problemas ou com viagens não detectadas depois de seguir as recomendações desta página, dá uma olhadela nestas sugestões para desactivar a optimização da bateria na nossa aplicação:

http://nine-faq.9folders.com/categories/2758-troubleshooting 

 

Entra em contacto connosco:

Se mesmo assim a aplicação não detectar muitas viagens, por favor:

  • Vai ao menu de configurações da aplicação;
  • Abre o Diagnose, aguarda 10 segundos para que alguns valores sejam preenchidos;
  • Tira um Screenshot;
  • Envia-nos, juntamente com uma descrição.
  • Muito obrigado!