Migracja do interfejsów API lokalizacji i kontekstu w Usługach Google Play

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:

  1. Usługi Google Play zapewniają prosty interfejs i bardziej przejrzysty interfejs API.
  2. Określasz żądaną jakość usługi, a interfejsy API zarządzają za Ciebie podstawowymi technologiami.
  3. Interfejsy API usług Google Play są zoptymalizowane pod kątem wydajności i zużycia baterii.
  4. 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:

  1. Skonfiguruj usługi Google Play w projekcie.
  2. Użyj interfejsu Location Settings API, aby sprawdzić bieżące ustawienia lokalizacji.
  3. korzystać z Usług Google Play w przypadku złożonych funkcji, takich jak geofencing, rozpoznawanie aktywności i świadomość kontekstowa;
  4. Zastąp użycie interfejsu API lokalizacji platformy interfejsem API dostawcy połączonej lokalizacji.
  5. 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:

  1. Poproś o dostęp do lokalizacji w pliku manifestu aplikacji.
  2. Skonfiguruj obiekt LocationRequest, który określa żądany poziom jakości usług.
  3. 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.