Tech & Programming/모바일(Android, Flutter)

[안드로이드] Migrating to the New Places SDK Client (구 버전은 2019.7.29 종료)

소스코드 요리사 2019. 8. 5. 23:57

회사에서 서비스하는 어플에 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 의 업데이트 일정 입니다.

구글 PLAY-Service 및 안드로이드 정책 업데이트 일정

업데이트 일정에 관련되서 상세 참조 URL은 아래와 같습니다.

https://developer.android.com/distribute/play-policies

 

Google Play Policies

developer.android.com

참조하셔서 운영하시는 서비스에 차질 없이 대응하시길 바라겠습니다.

 

감사합니다.