Google Play 서비스 위치 및 컨텍스트 API로 이전
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Google은 위치 서비스가 필요한 앱에서 Google Play 서비스의 위치 및 컨텍스트 API를 사용할 것을 권장합니다. 앱에서 프레임워크 위치 API를 사용하는 경우 최신 Google 기능을 활용하려면 Google Play 서비스로 이전해야 합니다.
Google Play 서비스를 사용하는 것이 앱에서 위치 서비스를 받는 더 좋은 방법인 이유는 다음과 같습니다.
- Google Play 서비스는 간단한 인터페이스와 더 깔끔한 API 노출 영역을 제공합니다.
- 원하는 서비스 품질을 지정할 수 있고, API가 기본 기술을 관리합니다.
- Google Play 서비스 API는 성능 및 배터리 사용에 최적화되어 있습니다.
- Google Play 서비스 API는 적극적으로 유지 관리됩니다. Google은 지속적으로 알고리즘을 개선하고 더 많은 기능을 추가하고 있습니다.
앱 업데이트
다음 단계에서는 위치 및 컨텍스트 API를 사용하도록 앱을 업데이트하는 프로세스를 설명합니다.
- 프로젝트에서 Google Play 서비스를 설정합니다.
- 위치 설정 API를 사용하여 현재 위치 설정을 확인합니다.
- 지오펜싱, 활동 감지, 인식과 같은 복잡한 기능에 Google Play 서비스를 사용합니다.
- 프레임워크 위치 API 사용을 통합 위치 정보 제공자 API로 교체합니다.
- 프레임워크 위치 API 참조를 삭제합니다.
프로젝트에서 Google Play 서비스 설정
프로젝트에서 위치 및 컨텍스트 API를 사용하려면 Google Maven 저장소 참조를 추가하고 필수 API에 대한 종속 항목을 선언해야 합니다. 자세한 내용은 Google Play 서비스 설정을 참고하세요.
위치 설정 API 사용
위치 설정 API를 사용하면, 앱은 적절한 QoS 수준을 제공하고 API는 사용자에게 시스템 설정을 적절히 변경하도록 요청합니다. 앱에서 위치 설정 API를 사용하려면 다음 단계를 따르세요.
- 앱 매니페스트에서 위치 정보 액세스 권한을 요청합니다.
- 적절한 QoS 수준을 지정하는
LocationRequest
객체를 설정합니다.
- 위치 설정 API를 사용하여 현재 설정을 확인합니다.
자세한 내용은 위치 설정 변경 또는 코드 예의 Google Play 위치 샘플을 참고하세요.
복잡한 기능에 Google Play 서비스 사용
Google Play 서비스 라이브러리를 사용하면 사용자 주변 환경의 컨텍스트 및 인식을 중심으로 새로운 사용자 환경을 구현할 수 있습니다. 다양한 위치 및 컨텍스트 라이브러리는 위치뿐만 아니라 추가 센서를 전력 효율적인 방식으로 활용하므로 앱에 더 정확한 데이터를 제공하면서도 배터리 수명에 미치는 영향은 줄입니다.
자체 맞춤 솔루션을 작성하는 대신 다음 라이브러리를 앱에 통합하세요.
프레임워크 위치 API를 통합 위치 정보 제공자 API로 교체
통합 위치 정보 제공자 API를 사용하여 위도 및 경도와 같은 위치 데이터를 가져올 수 있습니다. 통합 위치 정보 제공자 API는 프레임워크 위치 API와 마찬가지로 Location
객체를 사용하여 지리적 위치를 나타냅니다. API는 위치 업데이트를 수신 대기하고 마지막으로 알려진 위치를 가져오는 기능을 제공합니다. 이러한 모든 기능으로 인해 통합 위치 정보 제공자 API는 앱의 나머지 변경을 최소화하면서 프레임워크 위치 API를 사용하는 구성요소를 교체하는 데 사용하기 좋습니다.
마지막으로 알려진 위치 가져오기는 기기에서 클라이언트가 요청한 위치 데이터를 사용하는 빠른 작업이기 때문에 많은 환경에서 좋은 출발점이 됩니다. 위치를 주기적으로 추적하기 위해 앱은 구독을 통해 위치 업데이트를 수신할 수 있습니다. 위치 업데이트를 수신하면 최신 데이터가 제공되므로 더 복잡한 환경을 구현할 수 있습니다.
프레임워크 위치 API 참조 삭제
com.google.android.location
패키지의 클래스 참조를 com.google.android.gms.location
패키지의 클래스로 교체합니다(통합 위치 정보 제공자 API에서 사용하는 Location
클래스 참조는 제외). 보통 GPS, Wi-Fi와 같은 여러 제공자를 관리하는 구성요소를 앱에서 삭제할 수 있습니다. 위치 및 컨텍스트 API는 이러한 제공자를 자동으로 관리합니다.
앱 테스트
Google Play 서비스의 최신 버전을 사용하는 앱을 실행하려면 Play 스토어 앱이 설치된 기기가 필요하며 Google 계정으로 로그인해야 합니다. 개발이 목적인 경우에는 다음 옵션을 사용할 수 있습니다.
- USB 케이블을 사용하여 개발 환경에 연결된 실제 기기
- Play 스토어 앱이 설치된 에뮬레이터
실제 기기를 개발 환경에 연결하는 방법에 관한 자세한 내용은 하드웨어 기기에서 앱 실행을 참고하세요. Play 스토어 앱이 포함된 에뮬레이터를 만들려면 가상 기기 만들기 및 관리를 참조하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Migrate to Google Play services location and context APIs\n\nGoogle recommends using the [location and context\nAPIs](https://developers.google.com/location-context/) in Google Play services\nin apps that require location services. If your app uses the [framework location\nAPIs](/reference/android/location/package-summary) it's important to\nmigrate to Google Play services to take advantage of the latest Google-powered\nfeatures.\n\nUsing Google Play services is the preferred option to get location services in\nyour app for the following reasons:\n\n1. Google Play services provide a simple interface and a cleaner API surface.\n2. You specify a desired quality of service and the APIs manage the underlying technologies for you.\n3. The Google Play services APIs are optimized for performance and battery usage.\n4. The Google Play services APIs are actively maintained. Google is constantly improving the algorithms and adding more features.\n\nUpdate your app\n---------------\n\nThe following steps describe the process to update an app to use the location\nand context APIs:\n\n1. Set up Google Play services in your project.\n2. Use the location settings API to validate the current location settings.\n3. Use Google Play services for complex features like geofencing, activity recognition, and awareness.\n4. Replace usage of the framework location API with the fused location provider API.\n5. Remove references to the framework location API.\n\n### Set up Google Play services in your project\n\nTo make the location and context APIs available to your project you must add a\nreference to the Google maven repository and declare a dependency to the\nrequired APIs. For more information, see [Set Up Google Play\nservices](https://developers.google.com/android/guides/setup).\n\n### Use the location settings API\n\nBy using the location settings API, apps provide the desired QoS level and the\nAPI requests the user for the appropriate changes to the system settings. Take\nthe following steps to use the location settings API in your app:\n\n1. [Request location permissions](/training/location/permissions) in the app manifest.\n2. Set up a [`LocationRequest`](https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest.html) object, which specifies the desired QoS level.\n3. Use the location settings API to check the current settings.\n\nFor more information, see [Changing Location\nSettings](/training/location/change-location-settings#location-request) or\nsee the [Google Play Location samples](https://github.com/android/platform-samples/tree/main/samples/location/src/main/java/com/example/platform/location)\nfor example code.\n\n### Use Google Play services for complex features\n\nGoogle Play services libraries help you implement novel user experiences around\ncontext and awareness of the user's surroundings. The various [location and\ncontext](https://developers.google.com/location-context/) libraries leverage\nadditional sensors beyond just location, and do so in a power-efficient way,\nproviding your app with more accurate data while reducing the impact on battery\nlife.\n\nIncorporate these libraries in your app instead of writing custom solutions of\nyour own:\n\n- [Geofencing API](https://developers.google.com/location-context/geofencing)\n- [Activity Recognition API](https://developers.google.com/location-context/activity-recognition)\n- [Google Awareness API](https://developers.google.com/awareness)\n\n### Replace the framework location API with the fused location provider API\n\nYou can use the fused location provider API to get location data, such as\nlatitude and longitude. The fused location provider API uses a [`Location`](/reference/android/location/Location) object---just like the location\nframework API---to represent geographic location. The API provides features\nto listen for location updates as well as to get the last known location. All\nthese features make the fused location provider API a good candidate to replace\nthe components that use the framework location API with minimal changes to the\nrest of the app.\n\n[Getting the last known location](/training/location/retrieve-current) is a\ngood starting point for many experiences because it's a fast operation that uses\nlocation data requested by any client on the device. To periodically track\nlocation, your app can subscribe to\n[receive location updates](/training/location/receive-location-updates),\nwhich provides up-to-date data and enables more complex experiences.\n\n### Remove references to the framework location API\n\nReplace references to classes in the `com.google.android.location` package with\nclasses from the `com.google.android.gms.location` package, except references to\nthe [`Location`](/reference/android/location/Location) class, which the\nfused location provider API uses. You can usually remove the components that\nmanage the different providers, such as GPS and Wi-Fi, from your app. The\nlocation and context APIs automatically manage these providers.\n\nTest your app\n-------------\n\nTo run an app that uses the latest version of Google Play services, you need a\ndevice that has the Play Store app installed and a Google Account must be signed\nin. For development purposes you can use the following options:\n\n- A physical device connected to your development environment using a USB cable.\n- An emulator with the Play Store app installed.\n\nFor more information about connecting a physical device to your development\nenvironment, see [Run Apps on a Hardware Device](/studio/run/device). To\ncreate an emulator that includes the Play Store app, see [Create and Manage\nVirtual Devices](/studio/run/managing-avds)."]]