Google zaleca używanie w aplikacjach, które wymagają usług lokalizacyjnych, interfejsów API lokalizacji i kontekstu w Usługach Google Play. Jeśli Twoja aplikacja korzysta z interfejsów API lokalizacji platformy, warto przejść na Usługi Google Play, aby korzystać z najnowszych funkcji opartych na technologii Google.
Korzystanie z Usług Google Play jest preferowanym sposobem uzyskiwania usług lokalizacyjnych w aplikacji z tych powodów:
- Usługi Google Play zapewniają prosty interfejs i bardziej przejrzysty interfejs API.
- Określasz żądaną jakość usługi, a interfejsy API zarządzają za Ciebie podstawowymi technologiami.
- Interfejsy API usług Google Play są zoptymalizowane pod kątem wydajności i zużycia baterii.
- Interfejsy API usług Google Play są aktywnie obsługiwane. Google stale ulepsza algorytmy i dodaje nowe funkcje.
Zaktualizuj aplikację
Poniżej opisujemy proces aktualizacji aplikacji, aby korzystała z interfejsów API lokalizacji i kontekstu:
- Skonfiguruj usługi Google Play w projekcie.
- Użyj interfejsu Location Settings API, aby sprawdzić bieżące ustawienia lokalizacji.
- korzystać z Usług Google Play w przypadku złożonych funkcji, takich jak geofencing, rozpoznawanie aktywności i świadomość kontekstowa;
- Zastąp użycie interfejsu API lokalizacji platformy interfejsem API dostawcy połączonej lokalizacji.
- Usuń odniesienia do interfejsu API lokalizacji platformy.
Konfigurowanie usług Google Play w projekcie
Aby udostępnić interfejsy API lokalizacji i kontekstu w swoim projekcie, musisz dodać odwołanie do repozytorium Google Maven i zadeklarować zależność od wymaganych interfejsów API. Więcej informacji znajdziesz w artykule Konfigurowanie usług Google Play.
Korzystanie z interfejsu Location Settings API
Korzystając z interfejsu API ustawień lokalizacji, aplikacje zapewniają żądany poziom jakości usług, a interfejs API prosi użytkownika o wprowadzenie odpowiednich zmian w ustawieniach systemu. Aby używać w aplikacji interfejsu API ustawień lokalizacji, wykonaj te czynności:
- Poproś o dostęp do lokalizacji w pliku manifestu aplikacji.
- Skonfiguruj obiekt
LocationRequest
, który określa żądany poziom jakości usług. - Aby sprawdzić bieżące ustawienia, użyj interfejsu Location Settings API.
Więcej informacji znajdziesz w artykule Zmiana ustawień lokalizacji lub w przykładach kodu dotyczących lokalizacji w Google Play.
Korzystanie z Usług Google Play w przypadku złożonych funkcji
Biblioteki usług Google Play pomagają wdrażać nowe funkcje, które wykorzystują kontekst i świadomość otoczenia użytkownika. Różne biblioteki lokalizacji i kontekstu korzystają z dodatkowych czujników, a nie tylko z lokalizacji, i robią to w energooszczędny sposób, dzięki czemu Twoja aplikacja otrzymuje dokładniejsze dane przy mniejszym wpływie na czas pracy baterii.
Zamiast pisać własne rozwiązania niestandardowe, włącz do aplikacji te biblioteki:
Zastąpienie interfejsu API lokalizacji platformy interfejsem Fused Location Provider API
Za pomocą interfejsu API połączonego dostawcy lokalizacji możesz uzyskiwać dane o lokalizacji, takie jak szerokość i długość geograficzna. Interfejs API połączonego dostawcy lokalizacji używa obiektu Location
– podobnie jak interfejs API platformy lokalizacji – do reprezentowania lokalizacji geograficznej. Interfejs API udostępnia funkcje
do nasłuchiwania aktualizacji lokalizacji, a także do uzyskiwania ostatniej znanej lokalizacji. Wszystkie te funkcje sprawiają, że interfejs Fused Location Provider API jest dobrym kandydatem do zastąpienia komponentów, które korzystają z interfejsu Location API, przy minimalnych zmianach w pozostałej części aplikacji.
Pobieranie ostatniej znanej lokalizacji to dobry punkt wyjścia w przypadku wielu funkcji, ponieważ jest to szybka operacja, która wykorzystuje dane o lokalizacji żądane przez dowolnego klienta na urządzeniu. Aby okresowo śledzić lokalizację, aplikacja może subskrybować otrzymywanie aktualizacji lokalizacji, co zapewnia aktualne dane i umożliwia bardziej złożone funkcje.
Usuwanie odwołań do interfejsu API lokalizacji platformy
Zastąp odwołania do klas w pakiecie com.google.android.location
klasami z pakietu com.google.android.gms.location
, z wyjątkiem odwołań do klasy Location
, której używa interfejs API połączonego dostawcy lokalizacji. Z aplikacji możesz zwykle usunąć komponenty, które zarządzają różnymi dostawcami, np. GPS i Wi-Fi. Interfejsy API lokalizacji i kontekstu automatycznie zarządzają tymi dostawcami.
Testowanie aplikacji
Aby uruchomić aplikację, która korzysta z najnowszej wersji Usług Google Play, musisz mieć urządzenie z zainstalowaną aplikacją Sklep Play i zalogowane konto Google. Na potrzeby programowania możesz użyć tych opcji:
- Urządzenie fizyczne połączone ze środowiskiem programistycznym za pomocą kabla USB.
- emulator z zainstalowaną aplikacją Sklep Play;
Więcej informacji o podłączaniu urządzenia fizycznego do środowiska deweloperskiego znajdziesz w artykule Uruchamianie aplikacji na urządzeniu sprzętowym. Aby utworzyć emulator z aplikacją Sklep Play, zapoznaj się z artykułem Tworzenie wirtualnych urządzeń i zarządzanie nimi.