이 섹션에는 Android용 Driver SDK 출시 노트가 포함되어 있습니다.
공지사항: API 수준 23, 24, 25 지원 중단
모바일 OS 버전 지원 정책에 따라 향후 Android용 Driver SDK의 주요 버전에서 Android 6 및 7 (API 수준 23, 24, 25)에 대한 지원이 중단됩니다.
2025년 4분기부터 출시되는 Android용 Driver SDK 버전은 최소 Android 8 (API 수준 26)을 지원합니다. 이전 SDK 버전은 Android 6 및 7을 계속 지원합니다.
종속 항목에서 버전 번호를 지정하지 않으면 IDE에서 최신 SDK 버전을 로드하고 앱의 새 빌드에서 Android 6 및 7을 지원하지 않습니다.
새 버전의 앱에 지원되는 최소 OS를 올릴 시점을 제어하려면 애플리케이션의 빌드 종속 항목에서 Android용 Driver SDK 버전을 지정하세요.
v6.0.0 (2024년 11월 25일)
버그 수정
- 드라이버가 'INTERNAL' 코드와 'Panic! 버그입니다.' 설명을 추가합니다.
- 특히 기기가 네트워크를 전환할 때 위치 업데이트 연결 오류를 줄이기 위한 내부 개선사항 출시가 통합되면 점진적으로(0%부터 시작) 출시됩니다.`
API 업데이트
- 지원 중단된 인터페이스
StatusListener
를 삭제했습니다.
종속 항목 및 구성 변경사항
- POM.xml에서
glide:cronet-integration
종속 항목 삭제 - Navigation SDK 지원 범위 버전을 v5.x로 업데이트했습니다.
- Android용 Driver SDK 버전 6.0.0부터 앱은 Kotlin 2.0으로 업그레이드해야 합니다.
- targetSdk가 이제 API 수준 34입니다. 이는 2024년 8월부터 Google Play 스토어에 배포되는 모든 앱에 적용되는 요구사항입니다. Google Play의 대상 API 수준 요구사항 충족하기를 참고하세요.
v5.99.0 (2024년 9월 20일)
버그 수정
- 드라이버가 'INTERNAL' 코드와 'Panic! 버그입니다.' 설명을 추가합니다. 출시가 통합되면 점진적으로 (0%부터 시작) 출시될 예정입니다.
- 특히 기기가 네트워크를 전환할 때 위치 업데이트 연결 오류를 줄이기 위한 내부 개선사항 출시가 통합되면 점진적으로(0%부터 시작) 출시됩니다.`
종속 항목 및 구성 변경사항
- POM.xml에서
glide:cronet-integration
종속 항목 삭제
v5.0.0 (2023년 9월 12일)
종속 항목 및 구성 변경사항
- Navigation SDK를 v5.x로 업데이트했습니다.
minSdkVersion
를 API 23으로 업그레이드했습니다.- Kotlin 버전을 1.9.0으로 업그레이드했습니다.
- Room에 대한 종속 항목을 추가했습니다.
* 이제 Driver SDK를 사용하는 앱은 API 31 이상의
targetSdkVersion
를 보유해야 합니다. - 이제 Driver SDK를 사용하는 앱은 Java 8 라이브러리 지원을 사용 설정해야 합니다. 업데이트 안내는 https://developer.android.com/studio/write/java8-support를 참고하세요.
- Proguard 또는 Dexguard를 사용하는 앱은 R8으로 이전해야 합니다. 자세한 내용은 https://developer.android.com/build/shrink-code를 참고하세요.
- Driver SDK를 사용하는 앱은 디슈가링을 사용 설정해야 합니다. 자세한 내용은 https://developer.android.com/studio/write/java8-support#library-desugaring을 참고하세요.
버그 수정
- disableLocationTracking 동기화 관련 문제를 수정했습니다.
- 예외 상태 업데이트에서 원인을 보고하는 새로운 DriverStatusListener 인터페이스를 도입했습니다.
- 운전자가 정지 상태로 유지되는 문제 수정 (v4.99.0부터 사용 가능).
v4.99.0 (2023년 8월 9일)
- NavSDK 종속 항목의 다양한 버전을 지원합니다. ** v4.5.0~v5.0.0 (미포함)을 지원합니다.
- 차량이 정차되어 있을 때 예상 도착 시간이 저절로 감소하지 않도록 합니다. 이 변경사항은 실험으로 점진적으로 출시되므로 일부 애플리케이션에는 이 변경사항이 동시에 표시되지 않을 수 있습니다.
v4.5.0 (2023년 5월 12일)
- Navigation SDK 종속 항목을 v4.5로 업데이트합니다. Navigation SDK의 그룹 및 아티팩트 ID가 변경되었습니다.
v4.4.3 (2023년 3월 20일)
종속 항목 변경
- Navigation SDK 종속 항목을 v4.4.1로 업그레이드합니다.
v4.4.2 (2023년 2월 15일)
버그 수정
SDK에 일시적인 연결 문제가 발생할 때 네트워크 복구 시간이 개선되었습니다. 이는 실험용 수정사항입니다.
'원시' 위치만 포함된
UpdateVehicle
요청을 삭제합니다.'경로 개요' ALPHA API의 경합 상태를 수정했습니다.
v4.4.1 (2022년 11월 18일)
버그 수정
- 트래픽 업로드 로직의 버그를 수정했습니다.
기타 변경사항
- 요청 헤더 및 상태 코드 보고의 내부 개선사항
v4.4.0 (2022년 9월 21일)
버그 수정
- API 인스턴스가 삭제되지 않으면 'Google 지도로 운전' 알림이 삭제되지 않는 버그가 수정되었습니다.
종속 항목 변경
- Navigation SDK 종속 항목을 v4.2.2로 업그레이드합니다.
v4.3.0 (2022년 8월 24일)
내부 개선사항
공지사항: Android 5 지원 중단 (2022년 7월 21일)
최신 SDK 버전 (v4.2.0)의 경우 Android 5에서 실행되는 앱에 대해 API 수준 21 및 22 모두를 대상으로 1년간 추가 지원을 제공합니다.
이 기능의 작동 방식은 다음과 같습니다.
- Android 앱에서 실행되는 Navigation SDK 및 Driver SDK는 2023년 6월 30일까지 Android 5 (API 수준 21) 이상을 지원합니다.
- 2023년 6월 30일 이후에는 Android API 수준 23 이상만 지원됩니다. 즉, 이 날짜 이후 모든 SDK 버전에서 Android API 수준 21 및 22 지원이 중단됩니다. 즉, SDK 버전 (4.x 포함)에서 Android 21 또는 22와 관련된 버그는 수정되지 않으며 SDK가 올바르게 작동한다고 보장할 수 없습니다.
이 알림은 2021년 6월 21일의 Android 21 및 22 지원 중단 알림과 2021년 10월 18일의 Android 23, 24, 25 지원 중단 알림을 재정의합니다.
v4.2.0 (2022년 6월 8일)
종속 항목 변경
- Nav SDK 종속 항목을 v4.1.3으로 업그레이드합니다.
- 지원되는 최소 Android API 수준을 21로 다운그레이드합니다.
v4.1.0 (2022년 4월 28일)
API 업데이트
Task
객체의parentId
속성 이름이trackingId
로 변경되었습니다. 이전 속성은 당분간 계속 존재하지만 지원 중단되었습니다.
v4.0.0 (2021년 11월 29일)
이 출시에서 지원되는 최소 Android API 수준은 23입니다.
API 업데이트
이 출시에서는 Android용 Driver SDK가 다음과 같이 업데이트되었습니다.
VehicleStops API 변경사항
이제 VehicleStop
객체는 Task
객체 목록 대신 TaskInfo
객체 목록을 참조합니다. 태스크 상태가 필요한 경우 애플리케이션 코드에서 추적하는 것이 좋습니다.
새 클래스
TaskInfo
를 추가했습니다.VehicleStop
의getTasks
함수를getTaskInfoList
함수로 대체했습니다.VehicleStop.Builder
의setTasks
함수를setTaskInfoList
함수로 대체했습니다.
비정상 종료 모니터링
SDK 안정성을 개선하기 위해 비정상 종료 모니터링 및 보고가 추가되었습니다.
이 기능은 기본적으로 사용 설정되어 있지만 SDK를 초기화하기 전에 setAbnormalTerminationReportingEnabled()
를 호출하고 false
값을 전달하면 사용 중지할 수 있습니다.
DriverApi
에setAbnormalTerminationReportingEnabled
함수를 추가했습니다.
비동기 getRemainingVehicleStops
DeliveryVehicleReporter
의getRemainingVehicleStops
함수를 변경하여 List<VehicleStop> 대신 Future<List<VehicleStop>>을 반환합니다.
인증
AuthTokenContext
인터페이스에서 불필요한 속성을 삭제했습니다.
ServiceType
가 지원 중단되었습니다. 이제 ServiceType
를 사용하는 대신 포함된 차량 ID 및 작업 ID에 대한 소유권 주장만 가져오면 됩니다.
AuthTokenContext
에서ServiceType
를 삭제했습니다.AuthTokenContext
에서getServiceType()
를 삭제했습니다.AuthTokenContext.Builder
에서setServiceType
를 삭제했습니다.
2021년 10월 18일 - API 수준 23, 24, 25 지원 중단
10월 18일 공지사항 읽기
내부 종속 항목의 변경사항에 따라 2022년 3분기부터 Android용 내비게이션 및 드라이버 SDK의 새 버전에서 Android API 수준 23, 24, 25 (Android 6, 7.0, 7.1)가 지원되지 않습니다.
2022년 3분기부터 출시되는 Android 버전의 내비게이션 및 드라이버 SDK는 최소 Android API 수준 26을 실행하는 기기만 지원합니다.
Android용 내비게이션 및 드라이버 SDK v4.x 이하로 빌드된 앱 버전은 Android API 수준 25 이하를 실행하는 기기에서 계속 작동합니다.
v3.0.4 (2021년 7월 28일)
기능
이 버전에서는 Driver SDK가 Navigation SDK와 공식적으로 분리됩니다. 자세한 내용은 이전 가이드를 참고하세요.
API 업데이트
다음 메서드가 추가되었습니다.
`RidesharingDriverApi.getDriverSdkVersion()`안정성 및 버그 수정
PERMISSION_DENIED
오류를 연결 오류로 분류하는 대신 보고합니다.
지원 중단 공지 (2021년 6월 21일)
이 공지사항에서는 위에 나열된 날짜부터 Android용 Driver SDK 및 Android용 Navigation SDK의 지원 중단에 대해 설명합니다. 이 공지는 영향을 받는 고객에게 필수 서비스 공지 (MSA)로도 전송되었습니다.
Android용 Nav/Driver SDK가 Android용 Navigation SDK v3.x 및 Android용 Driver SDK v3.x (분할 바이너리)로 변경됩니다.
고객 통합을 간소화하고 유용한 기능을 더 빠르게 제공하기 위해 Android용 Navigation SDK와 Android용 Driver SDK를 두 가지 바이너리로 분할합니다.
- Android용 Navigation SDK: 운전자에게 내비게이션/경로 탐색 기능을 제공합니다.
- Android용 Driver SDK: 운전 경로 또는 작업 진행 상황 및 할당에 Fleet Engine 상태 웹 서비스를 활용할 수 있습니다.
Android용 Driver SDK에는 핵심 라우팅 기능을 위한 Android용 Navigation SDK에 대한 필수 종속 항목이 있습니다.
변경사항은 무엇인가요?
v3의 주요 변경사항은 다음과 같습니다.
- 하나가 아닌 두 개의 바이너리
- Android 클래스의 Driver SDK에 관한 더 명확한 패키지 정의
- Android용 Navigation SDK에는 패키징의 일부로 Android용 Maps SDK가 포함되어 있습니다 (Android용 Navigation SDK v2 기준).
- 이렇게 하면 지도와 내비게이션 기능이 동일한 지도에 공존할 수 있으며 (예: NavigationView에 다중선 그리기) 두 개가 아닌 단일 지도가 사용되므로 메모리 사용량이 줄어듭니다.
- Android용 Navigation SDK 3.0은 Android용 Navigation SDK와 완전한 기능 일치를 이루지 못하지만 v3.2에서는 대부분의 문제가 해결됩니다. 자세한 내용은 어떤 작업을 언제 할 수 있나요?를 참고하세요.
- Google에서 발생할 수 있는 문제를 더 쉽게 디버그할 수 있도록 로깅
이전에 지원 중단된 것으로 표시되었으며 이미 대체 솔루션이 있는 다음 메서드도 v3에서 삭제되었습니다.
- 다음 Nav/Driver SDK 메서드는 2020년 8월 10일에 출시된 v1.16에서 지원 중단되었으며 v3.0에서 삭제되었습니다.
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- 완결성과 명확성을 위해 v1에서 v2로 전환할 때 여러 메서드가 삭제되었습니다. 대부분은 Android용 Navigation SDK와 Android용 Maps SDK 간에 중복된 클래스를 통합한 것입니다. 이러한 변경사항을 더 잘 이해하려면 이전 가이드를 참고하세요.
Android용 Driver SDK 및 Android용 Navigation SDK v1.x 지원 중단
Nav/Driver SDK v1은 2018년에 출시되었으며 v3 버전이 곧 출시될 예정이므로 여러 주요 버전을 지원하는 비 지속 가능성을 피하기 위해 v1을 지원 중단해야 합니다.
이 추가 버전을 지원하지 않아도 되므로 절약된 시간을 통해 최신 주요 버전을 더 효과적으로 지원하고 고객에게 중요한 더 많은 기능을 빌드할 수 있습니다.
따라서 Nav/Driver SDK v1.x는 지원 중단되었으며 2022년 6월 21일 이후에는 더 이상 유지보수되지 않습니다.
SDK 버전의 지원 중단이 작동하는 방식을 잠시 살펴보세요.
Navigation and Driver SDK Android 21 및 22 지원 종료
취소된 공지사항 읽기
향후 Android용 Navigation SDK 및 Android용 Driver SDK v4.0은 최소 [Android 6.0 (API 수준 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}을 지원합니다. 현재 지원되는 최소 버전은 Android 5.0 (API 수준 21)입니다. 2021년 4분기에 v4.0이 출시될 예정입니다. 이는 다음을 의미합니다.
- v4.x보다 이전 버전으로 빌드된 앱 버전은 Android 21 및 22 기기에서 계속 작동합니다. 현재 SDK를 통합한 드라이버 앱은 Android 21 이상을 실행하는 기기에서 계속 작동합니다. 이전과 동일합니다.
- Android용 Driver SDK 및 Android용 Navigation SDK v4.x (2021년 4분기 타겟팅, 변경될 수 있음) 및 이후 버전으로 빌드된 앱 버전은 Android 21 및 22를 실행하는 기기에 설치할 수 없습니다. v4.x는 최소 Android 6.0 (API 수준 23)에서 실행되므로 향후 v4.x로 빌드된 앱 버전은 Android 23 이상이 설치된 기기의 운전자에게만 수신될 수 있습니다. 다시 말해, Google의 SDK 관련 변경사항과 개발자가 적용한 앱 변경사항 모두 Android 21 및 22를 실행하는 기기의 운전자에게 도달하지 않습니다.
업그레이드할 Android용 Navigation SDK v3 및 Android용 Driver SDK v3 버전은 다음 표에 출시 일정과 함께 설명되어 있습니다.
어떤 Driver 플랫폼 기능을 사용하시나요? | 이러한 기능을 사용하고 계신가요? | 그런 다음 업그레이드해야 하는 첫 번째 버전은 다음과 같습니다. | 예상 사용 가능 날짜 (변경될 수 있음) |
이전 링크 |
---|---|---|---|---|
탐색 전용 (NavSDK 메서드) |
아니요 | NavSDK v3.0.1 | 현재 | 가이드 |
예 | NavSDK v3.5 (예상) | 2021년 9월 | ||
내비게이션 및 Fleet Engine 추적 (NavSDK 및 DriverSDK 메서드) | 아니요 | Nav SDK v3.0 및 Driver SDK v3.0 | 출시 시 드라이버 v3.0 이전 가이드 제공 | |
예 | NavSDK v3.x 및 DriverSDK v3.0 |
삭제된 메서드를 계속 사용하려면 v1.x를 유지할 수 있지만 2022년 6월 21일 이후에는 지원이나 유지보수가 제공되지 않습니다 (다음 섹션 참고).
v3.x로 이전하는 것이 좋습니다. 이는 다음을 의미합니다.
* v1.x의 마지막 출시는 2021년 4분기에 진행되며, 그때부터 v1은 '기능 동결'됩니다.
* 이 최종 출시는 이후 6개월 동안(2022년 6월 21일까지) 패치될 수 있습니다. 이 기간이 지나면 v1.x의 버그 또는 기능 요청에 응답해 드릴 수 없습니다.
이러한 변경사항을 탐색하는 데 도움이 되도록 다음 표와 [이전 가이드](/maps/documentation/navigation-sdk-android/v2/migration)를 잠시 검토해 보세요.
언제까지 어떻게 해야 하나요?
현재 사용 중인 요금제가... | 이러한 기능을 사용하고 계신가요? | 지금 업그레이드하기 | 2021년 9월 업그레이드 | 이전 링크 |
---|---|---|---|---|
v1.x (FleetEngine.java / Driver 기능을 사용하지 않음) |
아니요 | NavSDK v3.0 | 가이드 | |
예 | 옵션 없음 | NavSDK 3.x | ||
v1.x (FleetEngine.java / Driver 기능 사용) |
아니요 | 옵션 없음 | NavSDK 3.x + DriverSDK 3.x |
위의 가이드와 출시 시 제공되는 Driver v3.0 이전 가이드 |
예 |
Android용 Driver SDK 및 Android용 Navigation SDK 버전 v4.x 이상을 운전자 앱에 통합하기 전에 Android 21 및 22 기기를 사용하는 운전자에게 최신 버전의 Android (최소 Android 6.0)로 업그레이드하라고 알리는 것이 좋습니다.
v1.15.3 (2020년 10월 9일)
API 업데이트
- 이제 Driver SDK는 Fleet Engine API로 전송되는 교통 업데이트를 위해 Navigation SDK를 구독합니다.
안정성 및 버그 수정
- gRPC 런타임 비정상 종료 문제를 수정했습니다.
v1.15.2
기능
지속적인 알림을 중지하는 기능이 추가되었습니다. Fleet Engine 인스턴스에서 위치 보고가 중지되면 Navigator
에서 안내가 중지되고 모든 내비게이션 리스너가 등록 취소되며 NavigationFragment
또는 NavigationView
가 일시중지됩니다.
안정성 및 버그 수정
- Fleet Engine 인스턴스가 삭제되면 예외가 발생하는 버그가 수정되었습니다.
v1.15.1 (2020년 5월 12일)
기능
1.15.0 데이터의 예비 분석 결과 안정적인 위치 보고가 크게 개선되었습니다('중단된' 위치 감소). 이 패치 수정사항을 통해 향상된 위치 보고를 계속할 수 있습니다. ANR 문제는 이러한 개선사항과 관련이 없습니다.
안정성 및 버그 수정
- 경로 시작 부분에 직선이 소비자 앱에 표시되는 버그가 수정되었습니다.
- SDK에서 위치를 보고할 때 ANR이 발생할 수 있는 버그를 수정했습니다. 이는 잠금 경합에 취약한
onArrival()
개선사항으로 인해 발생했습니다. 특정 상황에서 ANR을 안정적으로 재현할 수 있었으며 수정사항으로 문제가 해결되었음을 확인할 수 있었습니다. 수정 후 ANR을 생성하도록 수정된 테스트 앱이 ANR 없이 8시간 동안 실행되었습니다.
v1.15.0 (2019년 3월 23일)
기능
- 차량 위치 추적을 개선하기 위해 시작, 경로 이탈, 도착 이벤트에 내비게이션 안내 상태를 도입했습니다.
- 내비게이션 상태와 관계없이 도로 스냅 위치를 계속 가져오는 기능이 추가되었습니다.
- 정확성과 같은 도로 이전 위치에 관한 추가 정보가 추가되었습니다.
안정성 및 버그 수정
- navsdk의 minSdkVersion을 19로 높였습니다.
- 서버 측 역지오코딩이 실패할 때 lat/lng 웨이포인트 이름이 적용되지 않는 버그가 수정되었습니다.
v1.14.2 출시 (2019년 2월 2일)
기능
- DriverSDK가 0,0 위치를 Fleet Engine으로 전송하지 못하도록 합니다 (더 나은 여정 공유 및 할당 위치 입력).
- 중단된 위치 문제를 개선하고 경로 공유의 대체를 줄이기 위한 추가 로깅
- 간격이 변경되지 않는 한
setLocationReportingInterval()
의 반복 호출을 무시합니다. - 사용되는 간격에 비해 이 메서드를 높은 비율로 반복적으로 호출하지 못하도록 하기 위해
setReportingInterval()
메서드의 javadoc을 업데이트했습니다. - Api 29 위치 안정성이 개선되었습니다.
v1.13.0
안정성 및 버그 수정
- 클라이언트가 gradle 빌드에 추가해야 하는 okhttp 종속 항목을 추가합니다.
v1.11.7 (2019년 10월 18일)
안정성 및 버그 수정
- 이제 지정된 대상에 대해
onArrival()
이 실행된 후에도 위치 업데이트가 계속됩니다. - 기본 알림 (자유 탐색 모드의 상수 문자열)은 내비게이션 알림에 설정된 색 구성표와 일치합니다. 자세한 내용은 공유 영구 알림을 참고하세요.
- 지연된 위치 업데이트 이벤트로 인해 가짜 위치 업데이트가 발생하여 경로 시작 부분에 직선과 같은 아티팩트가 생기는 문제를 해결했습니다.
v1.11.6 (2019년 10월 4일)
API 업데이트
- 네트워크 장애 후 Driver SDK가 위치 업데이트를 빠르게 재개하도록 하는 일련의 변경사항을 도입했습니다. 네트워크 연결이 복원되면 다음으로 예약된 위치 업데이트에서 위치 업데이트가 다시 시작됩니다.
안정성 및 버그 수정
- 이제
setVehicleState()
가 즉시 반환됩니다. 이제 FleetEngine 업데이트가 백그라운드 스레드에서 실행됩니다. 애플리케이션 응답 없음 (ANR) 문제를 해결합니다. - 이전 버전의 Consumer SDK를 사용하여 경로 공유 경로가 직선으로 표시되는 문제를 수정했습니다. Driver SDK가 경로에 일회성 경유지를 추가하지 않도록 합니다.