Android용 드라이버 SDK 출시 노트

이 섹션에는 Android용 드라이버 SDK의 출시 노트가 포함되어 있습니다.

v5.0.0 (2023년 9월 12일)

종속 항목 및 구성 변경사항

  • Navigation SDK가 v5.x로 업데이트되었습니다.
  • minSdkVersion를 API 23으로 업그레이드했습니다.
  • Kotlin 버전이 1.9.0으로 업그레이드되었습니다.
  • Room의 종속 항목이 추가되었습니다.
  • 이제 Driver SDK를 사용하는 앱에는 API 31 이상의 targetSdkVersion가 있어야 합니다.
  • 이제 드라이버 SDK를 사용하는 앱에서 자바 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까지 지원 (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 요청을 삭제합니다.

  • 'Route Overview' 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 및 드라이버 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와 관련된 버그가 수정되지 않으며 Google에서는 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로 변경했습니다. 이전 속성은 현재 여전히 존재하지만 지원 중단되었습니다.

  • 일부 반환 유형이 Future에서 좀 더 구체적인 ListenableFuture로, List에서 좀 더 구체적인 ImmutableList로 변경되었습니다.

v4.0.0 (2021년 11월 29일)

이 버전에서 지원되는 최소 Android API 수준은 23입니다.

API 업데이트

이 버전의 경우 Android용 Driver SDK가 다음과 같은 변경사항과 함께 업데이트되었습니다.

VehicleStops API 변경사항

VehicleStop 객체는 이제 Task 객체 목록 대신 TaskInfo 객체 목록을 참조합니다. 작업 상태가 필요한 경우 애플리케이션 코드에서 추적하는 것이 좋습니다.

  • 새 클래스 TaskInfo를 추가했습니다.

  • VehicleStopgetTasks 함수를 getTaskInfoList 함수로 대체했습니다.

  • VehicleStop.BuildersetTasks 함수를 setTaskInfoList 함수로 대체했습니다.

비정상 종료 모니터링

SDK 안정성을 개선하기 위해 비정상 종료 모니터링 및 보고가 추가되었습니다. 이 기능은 기본적으로 사용 설정되어 있지만 SDK를 초기화하기 전에 setAbnormalTerminationReportingEnabled()를 호출하고 false 값을 전달하는 경우 사용 중지할 수 있습니다.

비동기 getRemainingVehicleStops

인증

AuthTokenContext 인터페이스에서 불필요한 속성을 삭제했습니다. ServiceType가 지원 중단되었습니다. 이제 ServiceType에 의존하는 대신 포함된 차량 ID와 작업 ID에 관한 클레임만 가져오면 됩니다.

2021년 10월 18일: API 수준 23, 24, 25 지원 중단

10월 18일 공지사항 읽기

내부 종속 항목의 변경에 따라 2022년 3분기부터 새 버전의 Android용 Navigation and Driver SDK에서 Android API 수준 23, 24, 25 (Android 6, 7.0, 7.1)가 지원되지 않습니다.

2022년 3분기부터 출시되는 Android 버전용 Navigation 및 Driver SDK는 Android API 수준 26 이상을 실행하는 기기만 지원합니다.

Android용 Navigation and Driver SDK v4.x 이하로 빌드된 앱 버전은 Android API 수준 25 이하를 실행하는 기기에서 계속 작동합니다.

v3.0.4 (2021년 7월 28일)

기능

이 출시에서는 드라이버 SDK가 탐색 SDK에서 공식적으로 분리되었습니다. 자세한 내용은 이전 가이드를 참고하세요.

API 업데이트

다음 메서드를 추가했습니다.

DeliveryDriverApi.getDriverSdkVersion()

안정성 및 버그 수정

PERMISSION_DENIED 오류를 연결 오류로 분류하는 대신 보고합니다.

지원 중단 공지 (2021년 6월 21일)

이 공지사항에서는 위에 나열된 날짜를 기준으로 Android용 Driver SDK 및 Android용 Navigation SDK의 지원 중단에 관해 설명합니다. 이 공지사항은 영향을 받는 고객에게 필수 서비스 공지 (MSA)로도 전송되었습니다.

고객 통합을 간소화하고 유용한 기능을 제공하는 기능을 가속화하기 위해 Android용 Navigation SDK와 Android용 Driver SDK를 두 개의 서로 다른 바이너리로 분할합니다.

  • Android용 Navigation SDK를 사용합니다. 이 SDK는 드라이버에 탐색/라우팅 기능을 제공합니다.
  • 이동 또는 작업 진행 및 할당에 Fleet Engine 스테이트풀(Stateful) 웹 서비스를 활용할 수 있게 해주는 Android용 Driver SDK

Android용 Driver SDK에는 핵심 라우팅 기능을 위해 Android용 Navigation SDK에 필요한 종속 항목이 있습니다.

변경사항

v3의 주요 변경사항은 다음과 같습니다.

  • 1개가 아닌 2개의 바이너리
  • Android용 Driver SDK 클래스의 패키지 정의가 더 명확해졌습니다.
  • Android용 Navigation SDK에는 Android용 Maps SDK가 패키징의 일부로 포함되어 있습니다 (Android용 Navigation SDK v2부터).
    • 이렇게 하면 지도와 탐색 기능이 동일한 지도에 공존할 수 있으며(예: NavigationView에 다중선 그리기) 두 개 대신 단일 지도가 사용되므로 메모리 사용량이 줄어듭니다.
    • Android 3.0용 Navigation SDK는 Android용 Navigation SDK와 전체 기능 패리티가 없지만 v3.2에서 대부분의 문제를 해결합니다. 자세한 내용은 언제 어떻게 해야 하나요?를 참고하세요.
  • 로깅하면 발생할 수 있는 문제를 더 쉽게 디버그할 수 있습니다.

다음 메서드도 v3에서 삭제되었습니다. 이전에 지원 중단된 것으로 표시되었으며 대체 솔루션이 이미 있는 메서드입니다.

  • 다음 Nav/Driver SDK 메서드는 v1.16에서 지원 중단되고 2020년 8월 10일에 출시되었으며 v3.0에서 삭제되었습니다.
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • 완전성과 명확성을 위해 v1에서 v2로 전환하는 과정에서 여러 메서드가 삭제되었습니다. 대부분은 Android용 Navigation SDK와 Android용 Maps SDK 간 중복 클래스 통합이었습니다. 이러한 변경사항을 자세히 알아보려면 이전 가이드를 참고하세요.

Android용 드라이버 SDK 및 Android용 Navigation SDK v1.x 지원 중단

Nav/Driver SDK v1은 2018년에 출시되었으며 v3 버전이 곧 출시됨에 따라 v1을 지원 중단하여 여러 메이저 버전을 계속 지원해야 하는 상황을 피할 수 있습니다.

이 추가 버전을 지원할 필요가 없어 시간을 절약할 수 있으므로 최신 메이저 버전을 더 효과적으로 지원하고 고객에게 중요한 기능을 더 많이 빌드할 수 있습니다.

따라서 Nav/Driver SDK v1.x는 현재 지원 중단되었으며 2022년 6월 21일 이후에는 더 이상 유지보수되지 않습니다.

잠시 시간을 내어 SDK 버전의 지원 중단 작동 방식을 확인하세요.

취소된 공지사항 읽기

곧 출시될 Android용 Navigation SDK v4.0과 Android용 드라이버 SDK는 최소 [Android 6.0 (API 수준 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}을 지원합니다. 현재 지원되는 최소 버전은 Android 5.0 (API 수준 21)입니다. v4.0은 2021년 4분기에 출시될 예정입니다. 이는 다음을 의미합니다.

  • v4.x 이전 버전으로 빌드된 앱 버전은 Android 21 및 22 기기에서 계속 작동합니다. 현재 SDK를 통합한 드라이버 앱은 Android 21 이상을 실행하는 기기에서 계속 작동합니다. 이는 이전과 동일합니다.
  • Android용 드라이버 SDK 및 Android용 Navigation SDK v4.x (2021년 4분기 타겟팅, 변경될 수 있음) 이후에는 Android 21 및 22를 실행하는 기기에 설치할 수 없습니다. v4.x는 최소 Android 6.0 (API 수준 23)에서 실행되므로, 향후 v4 드라이버로 빌드된 앱 버전 2와 v4 이상의 드라이버로 빌드된 앱 버전 2의 경우 v4 이상의 드라이버로 빌드된 앱 버전 2와 v4 이상의 드라이버가 모두 적용될 수 있습니다.

업그레이드할 Android v3용 Navigation SDK 및 Android v3용 Driver SDK 버전은 다음 표에 제공되는 시기와 함께 설명되어 있습니다.

어떤 드라이버 플랫폼 기능을 사용하시나요? 사용 중인 기능 업그레이드가 필요한 첫 번째 버전은 다음과 같습니다. 예상 사용 가능 여부
(변경될 수 있음)
이전 링크
탐색 전용
(NavSDK 메서드)
아니요 NavSDK v3.0.1 현재 가이드
지원됨 NavSDK v3.5 (예상) 2021년 9월
내비게이션 및 Fleet 엔진 추적 (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 / 드라이버 기능을 사용하지 않음)
아니요 NavSDK v3.0 가이드
지원됨 옵션 없음 NavSDK 3.x
v1.x
(FleetEngine.java / 드라이버 기능 사용)
아니요 옵션 없음 NavSDK 3.x +
DriverSDK 3.x
위의 가이드 및 출시 시점에 제공되는 Driver v3.0 이전 가이드입니다.
지원됨

Android용 드라이버 SDK 및 Android용 Navigation SDK 버전 v4.x 이상을 드라이버 앱에 통합하기 전에 Android 21 및 22 기기가 있는 드라이버에 최신 Android 버전 (최소 Android 6.0)으로 업그레이드하도록 알리는 것이 좋습니다.

v1.15.3 (2020년 10월 9일)

API 업데이트

  • 이제 Driver SDK가 트래픽 업데이트를 위해 Navigation SDK를 구독하며 이 업데이트는 Fleet Engine API로 전송됩니다.

안정성 및 버그 수정

  • 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로 늘렸습니다.
  • 서버 측 역 지오코딩에 실패할 때 위도/경도 경유지 이름이 적용되지 않는 버그가 수정되었습니다.

v1.14.2 출시 (2019년 2월 2일)

기능

  • DriverSDK가 0,0개의 위치를 Fleet Engine으로 전송하지 못하게 합니다 (개선된 여정 공유 및 할당 위치 입력).
  • 멈춘 위치 문제를 개선하고 여정 공유의 대체를 줄이기 위한 추가 로깅
  • 간격이 변경되지 않는 한 setLocationReportingInterval()의 반복 호출을 무시합니다.
  • 사용되는 간격에 비해 높은 속도로 이 메서드를 반복적으로 호출하지 않도록 하기 위해 setReportingInterval() 메서드의 javadocs를 업데이트했습니다.
  • 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가 경로에 일회성 경유지를 추가하지 않도록 합니다.