위치 정보 액세스 권한 요청 및 개인정보 보호 권장사항 페이지에 설명된 대로 앱은 사용자에게 표시되는 기능에 중요한 위치 정보 액세스 권한 유형만 요청하고 이를 사용자에게 적절하게 공개해야 합니다. 대부분의 사용 사례는 사용자가 앱을 사용하고 있을 때만 위치 정보를 요청합니다. 앱에서 지오펜싱을 구현할 때와 같이 백그라운드 위치 정보를 요구한다면 그 정보는 앱의 핵심 기능에 필요하며 사용자에게 분명한 혜택을 제공하고 명확한 방식으로 실행되어야 합니다.
참고: Google Play 스토어는 기기 위치 관련 정책을 업데이트하여 핵심 기능에 필요한 앱의 백그라운드 위치 액세스를 제한하고 관련 정책 요구사항을 충족합니다. 이러한 권장사항을 채택한다고 해서 Google Play가 백그라운드에서 앱의 위치 사용을 승인하는 것은 아닙니다.
기기 위치와 관련된 정책 변경사항에 관해 자세히 알아보세요.
백그라운드 위치 정보 액세스 체크리스트
다음 체크리스트를 사용하여 백그라운드에서 실행되는 잠재적인 위치 정보 액세스 로직을 식별합니다.
앱의 매니페스트에서
ACCESS_COARSE_LOCATION
권한 및ACCESS_FINE_LOCATION
권한을 확인합니다. 앱에 이러한 위치 정보 액세스 권한이 필요한지 확인합니다.- 앱에서 Android 10(API 수준 29) 이상을 타겟팅한다면
ACCESS_BACKGROUND_LOCATION
권한도 확인합니다. 이 권한이 필요한 기능이 앱에 있는지 확인합니다.
- 앱에서 Android 10(API 수준 29) 이상을 타겟팅한다면
다음 구성과 같은 코드 내에서 Fused Location Provider API, Geofencing API 또는 LocationManager API와 같은 위치 정보 액세스 API의 사용을 찾아보세요.
- 백그라운드 서비스
JobIntentService
객체WorkManager
또는JobScheduler
작업AlarmManager
작업- 앱 위젯에서 호출된 대기 중인 인텐트
앱에서 위치 정보에 액세스하는 SDK 또는 라이브러리를 사용한다면 이 액세스는 앱에서 발생한 것으로 간주합니다. SDK 또는 라이브러리에서 위치 정보 액세스가 필요한지 확인하려면 라이브러리 문서를 참조하세요.
백그라운드 위치 정보 액세스 평가
앱이 백그라운드에서 위치 정보에 액세스하는 것을 알았다면 다음 작업을 실행하는 것을 고려해야 합니다.
- 백그라운드 위치 정보 액세스가 앱의 핵심 기능에 필요한지 평가합니다.
백그라운드에서 위치 정보 액세스가 필요하지 않다면 삭제합니다.
앱이 Android 10(API 수준 29) 이상을 타겟팅한다면 앱 매니페스트에서
ACCESS_BACKGROUND_LOCATION
권한을 삭제합니다. 이 권한을 삭제하면 Android 10을 실행하는 기기에서는 앱이 항상 위치 정보에 액세스하는 것을 지원하지 않습니다.사용자가 앱이 백그라운드에서 위치에 액세스하고 있음을 알도록 해야 합니다. 이는 사용자에게 명확하지 않은 경우에 특히 중요합니다.
가능하면 앱 활동이 사용자에게 표시될 때만 위치를 요청하도록 위치 정보 액세스 로직을 리팩터링합니다.
백그라운드 위치 액세스 업데이트 제한
앱에 백그라운드 위치 정보 액세스가 필요하다면 Android는 Android 8.0(API 수준 26) 이상을 실행하는 기기에서 백그라운드 위치 액세스 제한을 설정하여 기기의 배터리 수명을 절약한다는 점에 유의하시기 바랍니다. 이러한 Android 버전에서는 앱이 백그라운드에서 실행 중인 경우 시간당 몇 번만 위치 업데이트를 받을 수 있습니다. 백그라운드 위치 액세스 제한에 관해 자세히 알아보세요.
추가 리소스
다음 자료에서 백그라운드 위치 액세스 사용법에 관해 자세히 알아보세요.
동영상
사용 가능한 백그라운드 위치 정보 액세스 사용법을 찾는 방법
샘플
앱이 백그라운드에 있을 때 위치 액세스에 관한 권장사항을 보여주는 샘플입니다.