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