-
Notifications
You must be signed in to change notification settings - Fork 5
Location API 선택하기
양성현 edited this page Dec 13, 2022
·
4 revisions
Fused Location Provider API는 구글에서 제공하는 위치 정보 제공 API이다.
GPS 및 WI-FI 등 기기의 다양한 센서에서 제공하는 신호를 활용해서 기기 위치를 결정한다.
- 특정 간격으로 업데이트된 위치 정보를
LocationCallback
을 통해 사용할 수 있다.
- GPS, WI-FI와 같은 사용할 소스를 결정할 필요 없이 LocationRequest.Bulder를 통해 쉽게 설정할 수 있다.
- 앱에서 필요로 하는 수준의 정확성/전력 소비를 설정할 수 있다.
- 업데이트 간격, 전달되는 최대 위치 업데이트 수, 일정 거리 이상일 때 업데이트하게 설정 등 다양한 조건들을 설정할 수 있다.
안드로이드 시스템 위치 서비스에 직접 접근 해서 장치의 지리적 위치 정보를 제공 받을수 있다.
-
LocationListener
를 통해 기기의 위치 변경 및 공급자의 활성화 여부를 받을 수 있다.
- API는 앱을 사용하는 기기에 Google Play 스토어가 설치 되어있어 Google Play Service를 사용할 수 있어야한다.
- gradle에 Google Play Service Location 라이브러리 의존성을 추가해야한다.
- API 승인이 필요없다.
-
LocationRequest
의 Priority를 설정하는것만으로 앱이 필요로하는 정책을 설정할 수 있다. - 업데이트 간격, 업데이트 최소 거리 등 다양한 조건을 Builder를 통해 쉽게 설정할 수 있다.
- Google Play Service API라서 Google이 지속적으로 업데이트할것을 기대할 수 있다.
- Android Developer 가이드는 Fused Location Provider로 설명 되어있기 때문에 정보를 얻는것이 Framework Location API보다 유리하다.
- 시스템의 위치 서비스를 직접 구현해야하기 때문에 API를 사용하는데 준비가 필요하지 않다.
- Location Provider를 설정할 수 있다.
- 사용하는 Location Provider에 따라 정확도, 배터리 소모가 다른데 이를 적절하게 사용할 수 있어야한다.
위치 서비스에서 중요한것은 위치 정확도와 배터리 최적화라고 생각한다.
Fused Locatioin Provider는 개발자가 복잡한 알고리즘을 만들 필요 없이 쉽고 빠르게 앱이 필요로하는 위치 서비스 품질을 선택하여 개발할 수 있게 해준다.
만약 특정 Location Provider를 사용할려면 Framework Location API가 유리하다.
Android Developer Guide에서 말하는 Google Play Service의 Location And Context APIs(Fused Location Provider 포함) 사용할 것을 권장하는 이유
- Google Play 서비스는 간단한 인터페이스와 더 깔끔한 API 노출 영역을 제공합니다.
- 원하는 서비스 품질을 지정할 수 있고, API가 기본 기술을 관리합니다.
- Google Play 서비스 API는 성능 및 배터리 사용에 최적화되어 있습니다.
- Google Play 서비스 API는 적극적으로 유지 관리됩니다. Google은 지속적으로 알고리즘을 개선하고 더 많은 기능을 추가하고 있습니다.