Aby szanować prywatność użytkowników, zachęcamy deweloperów aplikacji do przesyłania żądań tylko w przypadku przybliżonych wartości dostępu do lokalizacji. Aplikacje, które zwykle wymagają przybliżonej przybliżonej pozycji korzysta z uśrednionej lokalizacji sieciowej (FLP), ponieważ jest ona szybka i zużywa mniej energii. W porównaniu z urządzeniami mobilnymi z Androidem lokalizacja sieci w aplikacjach motoryzacyjnych może być trudniejsze. Możesz używać 2 interfejsów API Androida:
Interfejs API LocationManager wymaga
requestLocationUpdates
jawnie wskaż preferowanego dostawcę lokalizacji.Google Play Services API oferuje prostszy sposób praca z lokalizacją w
FusedLocationProviderClient
Wiele aplikacji motoryzacyjnych korzysta z FLP z interfejsu Google Play Services API zamiast
LocationManager
FLP wybiera optymalnego dostawcę lokalizacji na podstawie lokalizacji
kryteria żądania i zasady (moc i dokładność) wymagane przez pojazd.
Możesz też zdecydować się na użycie
NETWORK_PROVIDER
, a także
GPS_PROVIDER
za
precyzyjne pozycje, w których
android.permission.ACCESS_FINE_LOCATION
uprawnień. W Androidzie 12 (poziom interfejsu API 31) i nowszych
FUSED_PROVIDER
,
wcześniej była dostępna tylko przez interfejs Google Play Services API,
jako dostawca lokalizacji w sieci LocationManager
. Implementację FLP znajdziesz tutaj:
FusedLocationProvider.java
Chociaż można używać usługi GPS_PROVIDER
tylko z ogólnymi uprawnieniami –
system sztucznie pogarsza dokładność, aby dostosować się do oczekiwań.
nie ma sensu w przypadku deweloperów kierujących reklamy na telefony z Androidem,
jest niska i często wolniejsza w celu uzyskania przybliżonej pozycji.
Lokalizacja sieci w branży motoryzacyjnej
NETWORK_PROVIDER
używane na telefonach z Androidem (w Usługach mobilnych Google)
określa lokalizację na podstawie pobliskich nadajników telefonii komórkowej, punktów dostępu Wi-Fi oraz
beacony Bluetooth (BT), Dlatego aplikacja NETWORK_PROVIDER
może wymagać danych
połączenia.
W przypadku aplikacji motoryzacyjnych obowiązują inne ograniczenia dotyczące urządzeń. Ponieważ Gthe globalna nawigacja system satelitarny (GNSS) jest zwykle włączony, nie nakładamy kar zwiększone zużycie energii i baterii. W rezultacie czas działania IVI nie jest ograniczony. Staramy się ograniczać ilość danych wymienianych z naszymi serwerami.
Dlatego wiele aplikacji używa FLP z interfejsu Play API zamiast LocationManager
bezpośrednio, ponieważ FLP automatycznie wykonuje inteligentną rzecz, korzystając z lokalizacji.
dostawca najlepiej spełni kryteria/zasady dotyczące żądań lokalizacji (tj.
i dokładność).
W przeciwieństwie do urządzeń mobilnych pojazdy rzadko przeskakują z jednego miejsca do innego użytkownika. Położenie pojazdu jest zazwyczaj znane pod maską.
Dostawca lokalizacji sieciowej (NLP)
Większość pojazdów nie wdraża wymaganych interfejsów API telefonicznych, aby uzyskiwać potrzebne informacje dla identyfikatora stacji bazowej sieci komórkowej (i siły sygnału). Ze względu na to, że ograniczamy do minimum ilość danych, nie jest dostępna żadna dodatkowa implementacja NLP.
Dostawca uśrednionej lokalizacji
Mobilny FLP, oprócz inteligentnego wykorzystania dostawców sieciowych i GPS-a jako
łączy informacje z innych czujników, aby jeszcze bardziej ulepszyć
jakość lokalizacji. Obecne wdrożenie interfejsu FLP w branży motoryzacyjnej
korzysta z wspomnianych wcześniej założeń i wykorzystuje
GPS_PROVIDER
jako bazowe źródło przez cały czas. Powodują korygowanie pozycji
z GNSS, dodając kilka błędów, aby były bardziej niedokładne. Przykład:
gdy klient otrzymuje przybliżoną lokalizację.
Dlatego w bardzo nielicznych przypadkach czas oczekiwania na odpowiedź może być dłuższy niż zwykle które są dostępne na pierwszej pozycji. Na przykład, gdy pierwszy raz korzystasz z pojazdu dokładnym, jego podsystem lokalizacji jest używany lub po odholowaniu.
Projektowanie aplikacji z myślą o urządzeniach mobilnych i motoryzacjach
Aplikacje kierowane na urządzenia mobilne i urządzenia motoryzacyjne, które nie
wymagają większej precyzji, żądania
android.permission.ACCESS_COARSE_LOCATION
.
tylko i wrócić do używania FLP, gdy jest on dostępny. Możesz też użyć
GPS_PROVIDER
bezpośrednio z tymi samymi uprawnieniami. Platforma pogarsza
dokładności bazowej pozycji GNSS, aby dostosować ją do oczekiwań interfejsu API. Do
więcej informacji znajdziesz w sekcji Dokładność
w sekcji Poproś o dostęp do lokalizacji.
Dodatkowo w przypadku takich aplikacji należy jednoznacznie zadeklarować,
android.hardware.location.network
jako opcjonalne w pliku manifestu. Na przykład:
<uses-feature android:name="android.hardware.location.network" android:required="false" />
Takie podejście zapewnia maksymalną zgodność z urządzeniami w różnych branżach, więc maksymalna dostępność aplikacji bez różnic w kodzie w razie potrzeby.