회사에서 서비스하는 어플에 Place Autocomplete, Current Place 등을 사용하고 있습니다.
이런 기능들을 제공하던 place-services-places Places SDK 가 2019년 7월 29일 서비스가 종료되었습니다.
그래서, 최근 회사에 새롭게 바뀐 Places SDK 로 교체했습니다.
혹시 아직 교체 안하신 분이 있을까 해서 포스팅합니다.
1. 요약
Google Play Services 버전의 Places SDK(com.google.android.gms:play-services-places)가 2019년 1월 29일부터 deprecated 되고, 2019년 7월 29일부터 서비스가 종료됩니다. 따라서, 새로운 버전의 Places SDK 버전으로 교체해야합니다.
2. 사전 준비사항
Google Cloud Platform Console에서 Maps SDK와 Places SDK API Key 발급.
Places SDK 사용을 위해 결제가 되어 있어야 함.
사용하고 있는 프로젝트에 Places API가 사용할 수 있도록 설정되어 있어야 함.
3. 교체방법
교체방법에는 기존 SDK와 SDK를 사용하는 로직을 완전히 걷어내고, 새로운 Places SDK와 이를 활용하여 로직을 새로 구성하는 방법과 호환성을 위해서 제공해주는 compatibility SDK를 이용하는 방법이 있습니다.
저는 릴리즈해야 할 시간이 부족 했기에 compatibility SDK를 이용했고, 이 방법을 포스팅하겠습니다.
신규로 사용하거나 새로운 SDK를 이용해 로직까지 새롭게 구성하실 분은 Developer 사이트를 참조 부탁드립니다.
(https://developers.google.com/places/android-sdk/client-migration)
호환성 라이브러리는 앱의 기본 기능의 변경 없이, 몇 가지 작은 변경으로 새로운 Places SDK 클라이언트 이전을 지원하기 위해서 제공됩니다. 그리고, 호환성 라이브러리는 최신 Task 기반 API 만 지원하며 이전 PendingResult 모델에서는 작동하지 않습니다.
그래서, 저희 회사에서 Place Autocomplete, Current Place 등 Result를 받는 부분은 Reference를 참고하여 수정을 했습니다.,
참고로, Place Picker 기능은 호환성 라이브러리에서만 지원되고, Android service console 에서 이전 Places SDK 기능을 사용하게 설정했다면 disable 해서는 안됩니다.
(1) app-level의 build.gradle 파일에 dependencies를 아래와 같이 추가합니다.
dependencies {
implementation 'com.google.android.libraries.places:places-compat:2.0.0'
}
그리고, 기존에 사용하던 'com.google.android.gms:play-services-places' 는 삭제합니다.
(2) Gradle을 동기화 합니다.
(3) gms Places 패키지를 아래처럼 모두 변경을 합니다.
import com.google.android.gms.location.places.Place; // OLD
import com.google.android.libraries.places.compat.Place; // NEW,
(4) 'Powered by Google' assets도 교체합니다.
@drawable/powered_by_google_light // OLD
@drawable/places_powered_by_google_light // NEW
@drawable/powered_by_google_dark // OLD
@drawable/places_powered_by_google_dark // NEW
특별한 것이 없으면 여기까지 따라하신 뒤 빌드를 하고 실행하시면 정상 동작 되는 것을 확인 할 수 있습니다.
상세한 변경사항 및 Reference는 구글 개발자 사이트를 참조하시면 알 수 있습니다.
(https://developers.google.com/places/android-sdk/client-migration)
그리고, 앞으로 안드로이드 및 Google Play 의 업데이트 일정 입니다.
업데이트 일정에 관련되서 상세 참조 URL은 아래와 같습니다.
https://developer.android.com/distribute/play-policies
참조하셔서 운영하시는 서비스에 차질 없이 대응하시길 바라겠습니다.
감사합니다.
'Tech & Programming > 모바일(Android, Flutter)' 카테고리의 다른 글
안드로이드 가로/세로모드 고정하는 방법 (0) | 2019.09.13 |
---|---|
구성변경(Configuration)에 따른 엑티비티 재시작 (0) | 2019.09.13 |
View의 내용을 어떻게 이미지 파일로 만들었나요? (0) | 2019.05.07 |
ViewHolder 가 무엇인가요? (4) | 2019.04.30 |
안드로이드 http 프로토콜 접속 시 예외발생 조치 (ERR CLEARTEXT NOT PERMITTED) (18) | 2019.01.23 |