­čô▒ Aplikacja mobilna w wersji 1.4.0.GPS - opis zmian

Nowa wersja aplikacji mobilnej 1.4.0.GPS

zosta┼éa w┼éa┼Ťnie zg┼éoszona do publikacji w Google Play

image

dodali┼Ťmy j─ů te┼╝ do naszego serwisu OTA
https://powiedz.co/ota/

:key: Jest to wersja podpisana tym samym kluczem co wersja opublikowana przez Google Play. Dzi─Öki temu powinno da─ç si─Ö zaktualizowa─ç wersj─Ö zainstalowan─ů z Google Play, pobieraj─ůc z OTA (gdy wydana zostanie kolejna wersja przez Google Play, to te┼╝ si─Ö b─Ödzie automatycznie aktualizowa─ç).

Co nowego

Poprawki w raportowaniu lokalizacji

Nie odczytujemy ju┼╝ lokalizacji bezpo┼Ťrednio z GPS-a, prze┼é─ůczyli┼Ťmy si─Ö na API Android Fused Location Provider

Stosujemy takie parametry:

  • UPDATE_INTERVAL_IN_MILLISECONDS = 30000; // 30 sec
  • FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS = UPDATE_INTERVAL_IN_MILLISECONDS / 2;
  • LOCATION_DISTANCE = 10f;

Czyli zgłaszamy do API, że co 30 sekund chcemy otrzymać aktualizację lokalizacji (chyba że inna aplikacja [np nawigacja czy mapa] dostała aktualizacje lokalizacji to wtedy chcemy znać dostać aktualizację co 15 sekund). Raportujemy tylko zmiany większe niż 10 metrów.

Tu jest link do tego miejsca w kodzie gdyby kto┼Ť chcia┼é sobie skopiowa─ç to i eksperymentowa─ç z innymi parametrami:

O tym, że działa raportowanie lokalizacji informujemy w osobnej notyfikacji

mo┼╝na na tej notyfikacji:

  1. Zobaczyć ile zmian lokalizacji zostało wykrytych
  2. Zobaczyć ile zmian zostało zaraportowanych do bramki
  3. Zobaczy─ç aktualne wsp├│┼érz─Ödne urz─ůdzenia i dok┼éadno┼Ť─ç z jak─ů je znamy
  4. Wymusić pobranie i wysłanie aktualnej lokalizacji do bramki
  5. Wy┼é─ůczy─ç raportowanie lokalizacji do bramki

ilo┼Ťci 1. i 2. mog─ů by─ç r├│┼╝ne (2. mo┼╝e by─ç mniejsze od 1.), bo je┼╝eli w momencie, kiedy zarejestrowali┼Ťmy zmian─Ö lokalizacji, nie mamy transmisji danych, to pr├│ba wys┼éania si─Ö nie powiedzie. Nie buforujemy zmian lokalizacji i nie wysy┼éamy ich po wznowieniu transmisji danych, bo powodowa┼éoby niepotrzebne uruchamianie automatyzacji (zmiana strefy), co mog┼éoby by─ç gorsze ni┼╝ brak informacji.

Raportowanie statusu baterii

Dodali┼Ťmy raportowanie stanu baterii. Na pocz─ůtku dane o stanie baterii (ilo┼Ť─ç procent) raportujemy tylko w momencie wysy┼éania danych o lokalizacji. Z czasem dodamy porz─ůdniejsz─ů obs┼éug─Ö sensor├│w dost─Öpnych w telefonie i b─Ödziemy raportowa─ç zmiany online.

:warning: Rejestracj─Ö sensor├│w robimy przy logowaniu z aplikacji mobilnej - ┼╝eby pojawi┼é si─Ö sensor z bateri─ů trzeba wylogowa─ç si─Ö z aplikacji i zalogowa─ç ponownie.

tu powinni┼Ťmy mie─ç ju┼╝ now─ů encj─Ö - sensor bateria z telefonu:

oczywi┼Ťcie mo┼╝emy teraz zmieni─ç jej nazw─Ö i doda─ç do interfejsu

np na karcie typu obraz

oczywi┼Ťcie ze stosownym pi─Öknym obrazem z galerii :slight_smile:

po klikni─Öciu na ikonk─Ö baterii, mo┼╝emy mie─ç co┼Ť takiego

Oczywi┼Ťcie mo┼╝emy doda─ç sobie automatyzacj─Ö bazuj─ůc─ů na stanie baterii w telefonie i np. przed wyj┼Ťciem do pracy informowa─ç, ┼╝e stan baterii jest niski wi─Öc trzeba zabra─ç ┼éadowark─ÖÔÇŽ itp

Mo┼╝emy te┼╝ zapyta─ç o status baterii (tak samo jak o status ka┼╝dego sensora w systemie):

Wys┼éanie komendy (zapytania/┼╝─ůdania) do aplikacji mobilnej z bramki

Usługa ais_ai_service.mob_request pozwala na wysłanie komendy do aplikacji mobilnej.
Jest to realizowane tym samym mechanizmem ( Firebase Cloud Messaging) co us┼éuga ais_ai_service.mob_notify, z t─ů tylko r├│┼╝nic─ů, ┼╝e nie wysy┼éamy powiadomienia ale komend─Ö do wykonania. Wi─Öcej o FCM:

Obecnie (aplikacja mobilna w wersji 1.4.0.GPS) s─ů dost─Öpne:

komenda dane/parametry opis
micOn Zdalne w┼é─ůczenie mikrofonu na urz─ůdzeniu w celu odebrania komendy g┼éosowej
locationUpdate Wys┼éania ┼╝─ůdania aktualizacji lokalizacji, uruchomienie serwisu lokalizacji na 30 sekund
locationServiceOn Zdalne w┼é─ůczenie serwisu lokalizacji na telefonie
locationServiceOff Zdalne wy┼é─ůczenie serwisu lokalizacji na telefonie
hotWordServiceOn Zdalne w┼é─ůczenie serwisu nas┼éuchiwania s┼éowa aktywuj─ůcego komend─Ö g┼éosow─ů na telefonie
hotWordServiceOff Zdalne wy┼é─ůczenie serwisu nas┼éuchiwania s┼éowa aktywuj─ůcego komend─Ö g┼éosow─ů na telefonie
audioServiceOn Zdalne w┼é─ůczenie serwisu odtwarzacza audio na telefonie
audioServiceOff Zdalne wy┼é─ůczenie serwisu odtwarzacza audio na telefonie
sayIt { ÔÇťtextÔÇŁ: ÔÇťCze┼Ť─ç co s┼éycha─çÔÇŁ } Przes┼éanie do telefonu tekstu do powiedzenia
playAudio { ÔÇťurlÔÇŁ: ÔÇťhttps://an.cdn.eurozet.pl/ant-kat.mp3ÔÇŁ } Przes┼éanie do telefonu adresu audio do odtwarzania
playAudio { ÔÇťurlÔÇŁ: ÔÇťhttps://an.cdn.eurozet.pl/ant-kat.mp3ÔÇŁ } Przes┼éanie do telefonu adresu audio do odtwarzania
stopAudio Zdalne zatrzymanie odtwarzania audio na telefonie
findPhone Zdalne w┼é─ůczenie wyszukiwania telefonu - telefon zwi─Öksza g┼éo┼Ťno┼Ť─ç na 100%, m├│wi ÔÇťTu jestemÔÇŁ i dzwoni

Testowanie komendy

Działanie usługi można wypróbować w narzędziach deweloperskich

Dodanie komendy do automatyzacji

Komend─Ö wysy┼éan─ů do telefonu tak samo jak ka┼╝d─ů us┼éug─Ö mo┼╝emy uruchomi─ç w automatyzacji. Przyk┼éadowo dodajemy automatyzacj─Ö Zlokalizuj telefon Jolki kt├│ra wy┼Ťle do telefonu Jolki ┼╝─ůdanie aktualizacji lokalizacji i po 10 sekundach sprawdzi gdzie jest osoba o imieniu Jolka:

Ka┼╝d─ů automatyzacj─Ö mo┼╝emy uruchomi─ç komend─ů g┼éosow─ů: Uruchom <nazwa automatyzacji

4 polubienia

Za pomoc─ů us┼éug:

locationServiceOn Zdalne w┼é─ůczenie serwisu lokalizacji na telefonie
locationServiceOff Zdalne wy┼é─ůczenie serwisu lokalizacji na telefonie

Mo┼╝emy oczywi┼Ťcie optymalizowa─ç dzia┼éanie serwisu lokalizacji na telefonie, np. automatyzuj─ůc wy┼é─ůczenie o okre┼Ťlonej porze (gdy jeste┼Ťmy w domu czy w pracy). W ten spos├│b nie b─Ödziemy niepotrzebnie zu┼╝ywali baterii, gdy jeste┼Ťmy w miejscu, gdzie nie potrzebujemy raportowa─ç lokalizacji.

Pomysły

  1. Nie lokalizowa─ç gdy mamy po┼é─ůczenie WiFi

My┼Ťlimy nad tym, ┼╝eby zarz─ůdzanie us┼éug─ů lokalizacji zrobi─ç bardziej ÔÇťsmartÔÇŁ i prawdopodobnie (je┼╝eli to rozwi─ůzanie si─Ö sprawdzi w naszych testach) to zaimplementujemy automatyczne wy┼é─ůczanie us┼éugi lokalizacji w aplikacji mobilnej, gdy telefon b─Ödzie mia┼é po┼é─ůczenie wifi.
Przed wy┼é─ůczeniem wy┼Ťlemy lokalizacj─Ö, a gdy telefon straci po┼é─ůczenie wifi, to ponownie w┼é─ůczymy us┼éug─Ö lokalizacji.

wystarczy, że miejsca w których mamy wifi zdefiniujemy jako strefy i to powinno działać lepiej :slight_smile:

  1. Reverse geocoding

Wy┼Ťwietlanie wsp├│┼érz─Ödnych w powiadomieniu jest raczej ma┼éo czytelne. Dlatego docelowo chcemy zrobi─ç odwrotne geokodowanie - czyli zamian─Ö po┼éo┼╝enia na czytelny adres lub nazw─Ö miejsca.

Dzi─Öki temu ÔÇťZlokalizuj telefon JolkiÔÇŁ b─Ödzie mog┼éo zwraca─ç nazw─Ö strefy lub adres :tada:

Jeste┼Ťmy otwarci :slight_smile: Twoja pomoc jest mile widziana!

Kod aplikacji jest dost─Öpny w Github:

Prosimy o zg┼éaszanie b┼é─Öd├│w i pomys┼é├│w na usprawnienie aplikacji bezpo┼Ťrednio w Github - mile widziany jest wk┼éad, kt├│ry pomo┼╝e ulepszy─ç AIS :wave: . Dzi─Öki :heart:

2 polubienia

Testujemy, testujemyÔÇŽ :slight_smile: Wy┼é─ůczenie lokalizacji w strefie WiFi fajny pomys┼é. Z do┼Ťwiadczenia z GPSLoggerem faktycznie zdarza si─Ö ┼╝e b─Öd─ůc w domu gdy ilo┼Ť─ç satelit maleje pokazuje ┼╝e jestem np. 100m za stref─ů. Mo┼╝e zablokowa─ç raportowanie przy ma┼éej ilo┼Ťci satelit bo to ┼Ťwiadczy o tym ┼╝e jeste┼Ťmy w budynku.
Teraz to rozwi─ůza┼éem w ten spos├│b ┼╝e przy person mam GPSLoggera i Wifi i dzia┼éa idealnie.
U mnie powy┼╝szy pomys┼é chyba si─Ö nie sprawdzi bo w nocy wy┼é─ůczam WiFi. Oczywi┼Ťcie mo┼╝na to obej┼Ť─ç automatyzacj─ů ┼╝e raportowanie geolokalizacji wy┼é─ůcza si─Ö np. w danych godzinach nocnych ewentualnie lunatykowanie w nocy i otwarcie drzwi w┼é─ůcza raportowanie. :wink:
Problem te┼╝ b─Öd─ů mieli u┼╝ytkownicy kt├│rych dla oszcz─Ödzania energii wy┼é─ůcza si─Ö wifi nawet w ci─ůgu dnia.

Je┼Ťli chodzi o b┼é─Ödy to u mnie w Lenovo K6 Note jest inny problem. Aplikacja AIS dzia┼éaj─ůca w tle nagle znikaÔÇŽ Player oraz GPS. Wczoraj pobra┼éem aktualn─ů wersj─Ö i to samo. Z playerem tak by┼éo od pocz─ůtku a teraz GPS i to jest wi─Ökszy problem.
Tak jak pisa┼éem wcze┼Ťniej w telefonie wszystko sprawdzi┼éem kilka razy i mam takie same ustawienia jak przy GPSLogger kt├│ry nigdy nie znikn─ů┼é. Spr├│buj─Ö jeszcze wyczy┼Ťci─ç cache, odinstalowa─ç apke i zainstalowa─ç ponownie. Przychodzi mi jeszcze na my┼Ťl czy korzystanie z tych samych sensor├│w np. GPS nie ubija waszej aplikacji? Wiadomo ┼╝e nie powinno bo przy korzystaniu z GPSLogger np. google i inne te┼╝ korzystaj─ů z sensora GPS i wszystko jest ok.

Hej, dostali┼Ťmy kilka raport├│w b┼é─Öd├│w - dzi─Öki :slight_smile:

z dobrych wiadomo┼Ťci - w tej wersji nie mamy, ┼╝adnego zg┼éoszenia typu ARN (aplikacja nie odpowiada)

Mamy kilka crashes, w tym na Lenovo Lenovo TAB3 10 Plus (TB3-X70L), 2048MB RAM, Android 6.0

Przyjrzymy si─Ö temu. Je┼╝eli nie jest to spowodowane tym, ┼╝e Andoid ma za ma┼éo pami─Öci (bo s─ů uruchamiane inne procesy) i uruchamia LMK (Low Memory Killer) kt├│ry ubija co si─Ö da/rusza ┼╝eby nie wywali┼é si─Ö system https://source.android.com/devices/tech/perf/lmkd
to oczywi┼Ťcie poprawimy ten b┼é─ůd :slight_smile:

Dodali┼Ťmy:

  1. sprawdzanie adresu:

  2. automatyczne wy┼é─ůczanie us┼éugi lokalizacji gdy jest po┼é─ůczenie wifi

  3. automatyczne w┼é─ůczanie us┼éugi lokalizacji gdy nie ma wifi

Testujemy to jeszcze u siebie i wydamy kolejn─ů wersj─Ö z poprawkami jak b─Ödzie OK.

1 polubienie

Co┼Ť w p─Ötli wysy┼éaj─ůcej jest nie tak. Bo dok┼éadno┼Ť─ç jest ok np. 13m, Wykryte 46, po r─Öcznym klikaniu raportuj. Przy w┼é─ůczonym i wy┼é─ůczonym WiFi. Transmisja danych GSM w┼é─ůczona. Wys┼éanych TYLKO 5.