Zgodnie z opisem na stronach z prośbą o dostęp do lokalizacji i zasadami ochrony prywatności aplikacje powinny prosić tylko o dostęp do lokalizacji, który ma kluczowe znaczenie dla działania funkcji, oraz odpowiednio informować o tym użytkowników. W większości przypadków lokalizacja wymaga dostępu do lokalizacji tylko wtedy, gdy użytkownik korzysta z aplikacji. Jeśli aplikacja wymaga dostępu do lokalizacji w tle, np. przy wdrażaniu geofencingu, upewnij się, że jest ona kluczowa dla jej głównej funkcjonalności, zapewnia użytkownikowi wyraźne korzyści i działa w przejrzysty sposób.
Uwaga: Sklep Google Play zaktualizowaliśmy zasady dotyczące lokalizacji urządzenia, ograniczając dostęp do lokalizacji w tle aplikacjom, które potrzebują go do działania swojej głównej funkcji, i spełniały odpowiednie wymagania w zakresie zasad. Zastosowanie tych sprawdzonych metod nie gwarantuje, że Google Play zatwierdzi użycie lokalizacji w tle przez aplikację.
Dowiedz się więcej o zmianach zasad dotyczących lokalizacji urządzenia.
Lista kontrolna dostępu do lokalizacji w tle
Poniższa lista kontrolna pomoże Ci zidentyfikować potencjalne mechanizmy dostępu do lokalizacji w tle:
W pliku manifestu aplikacji sprawdź uprawnienie
ACCESS_COARSE_LOCATION
i uprawnienieACCESS_FINE_LOCATION
. Sprawdź, czy Twoja aplikacja wymaga tych dostępu do lokalizacji.- Jeśli Twoja aplikacja jest kierowana na Androida 10 (poziom interfejsu API 29) lub nowszego, sprawdź też uprawnienia
ACCESS_BACKGROUND_LOCATION
. Sprawdź, czy aplikacja ma funkcję, która tego wymaga.
- Jeśli Twoja aplikacja jest kierowana na Androida 10 (poziom interfejsu API 29) lub nowszego, sprawdź też uprawnienia
Poszukaj w kodzie interfejsów API dostępu do lokalizacji, takich jak Fused Location Provider API, Geofencing API lub LocationManager API, na przykład w tych formatach:
- Usługi w tle
JobIntentService
obiektów- Zadania
WorkManager
lubJobScheduler
- Operacje:
AlarmManager
- Intencje oczekujące, które są wywoływane z widżety aplikacji
Jeśli Twoja aplikacja korzysta z pakietu SDK lub biblioteki, które mają dostęp do lokalizacji, dostęp ten jest przypisany do niej. Aby określić, czy pakiet SDK lub biblioteka wymaga dostępu do lokalizacji, zapoznaj się z dokumentacją biblioteki.
Ocena dostępu do lokalizacji w tle
Jeśli okaże się, że aplikacja korzysta z lokalizacji w tle, wykonaj te czynności:
- Oceń, czy dostęp do lokalizacji w tle jest kluczowy dla głównej funkcji aplikacji.
Jeśli nie potrzebujesz dostępu do lokalizacji w tle, usuń go.
Jeśli Twoja aplikacja jest kierowana na Androida 10 (poziom interfejsu API 29) lub nowszego, usuń z pliku manifestu uprawnienie
ACCESS_BACKGROUND_LOCATION
. Jeśli usuniesz to uprawnienie, stały dostęp do lokalizacji nie będzie dostępny w przypadku aplikacji na urządzeniach z Androidem 10.Upewnij się, że użytkownik wie, że aplikacja korzysta z lokalizacji w tle. Jest to szczególnie ważne w przypadkach, które nie są oczywiste dla użytkowników.
Jeśli to możliwe, refaktoryzuj logikę dostępu do lokalizacji, aby przesyłać prośby o dostęp do lokalizacji tylko wtedy, gdy aktywność w aplikacji jest widoczna dla użytkowników.
Ograniczone aktualizacje lokalizacji w tle
Jeśli aplikacja ma dostęp do lokalizacji w tle, pamiętaj, że na urządzeniach z Androidem 8.0 (poziom interfejsu API 26) lub nowszymogranicza się dostęp do lokalizacji w tle. Jeśli aplikacja działa w tle w tych wersjach Androida, może otrzymywać aktualizacje lokalizacji tylko kilka razy na godzinę. Dowiedz się więcej o limitach lokalizacji w tle.
Dodatkowe materiały
Więcej informacji o używaniu lokalizacji w tle znajdziesz w tych materiałach:
Filmy
Jak znaleźć możliwe użycie lokalizacji w tle
Próbki
Przykład pokazujący sprawdzone metody uzyskiwania dostępu do lokalizacji, gdy aplikacja działa w tle.