Ghi chú phát hành SDK dành cho người dùng Android

Phần này chứa ghi chú phát hành cho SDK Người tiêu dùng dành cho Android.

Thông báo: Ngừng hỗ trợ cấp độ API 23, 24 và 25

Theo Chính sách hỗ trợ phiên bản hệ điều hành di động, chúng tôi sẽ ngừng hỗ trợ Android 6 và 7 (cấp độ API 23, 24 và 25) trong các phiên bản lớn sắp tới của SDK Người tiêu dùng cho Android.

Các phiên bản SDK Người tiêu dùng cho Android phát hành từ quý 4 năm 2025 sẽ hỗ trợ Android 8 (cấp độ API 26) trở lên. Các phiên bản SDK cũ hơn sẽ tiếp tục hỗ trợ Android 6 và 7.

Nếu các phần phụ thuộc của bạn không chỉ định số phiên bản, thì IDE sẽ tải phiên bản SDK mới nhất và các bản dựng mới của ứng dụng sẽ không hỗ trợ Android 6 và 7.

Chỉ định một phiên bản SDK Người tiêu dùng cho Android trong các phần phụ thuộc bản dựng của ứng dụng để kiểm soát thời điểm bạn nâng hệ điều hành tối thiểu được hỗ trợ cho các phiên bản mới của ứng dụng.

5.0.0 (ngày 9 tháng 11 năm 2026)

  • Thêm tính năng hỗ trợ cho chế độ đầy đủ của R8. Các quy tắc ProGuard của SDK hiện giữ lại các lớp nhà cung cấp gRPC được tải bằng phản chiếu, vì vậy, các ứng dụng bật chế độ đầy đủ R8 sẽ không còn gặp lỗi khi khởi động bằng Unable to load OkHttpChannelProvider.

Bản sửa lỗi

  • Khắc phục sự cố khiến các nỗ lực kết nối an toàn với Fleet Engine có thể vẫn ở trạng thái chờ vô thời hạn nếu proxy của nhà mạng trung gian bị đình trệ trong quá trình thiết lập kết nối, khiến trạng thái chuyến đi và thông tin cập nhật về việc theo dõi xe không làm mới được trên một số mạng di động. Giờ đây, SDK Người tiêu dùng sẽ thực thi thời gian chờ kết nối và tự động khôi phục khi có kết nối mới.

Thay đổi về phần phụ thuộc và cấu hình

Kể từ phiên bản 5.0.0 của SDK Người tiêu dùng cho Android, có các yêu cầu tối thiểu mới:

  • Phiên bản Android tối thiểu được hỗ trợ là Android 7.0 (cấp độ API 24).
  • Ứng dụng phải nâng cấp lên Kotlin 2.4.

SDK hiện được xây dựng bằng các công cụ sau:

  • Nâng cấp Trình bổ trợ Android cho Gradle lên phiên bản 9.2.0.
  • Nâng cấp Gradle lên phiên bản 9.4.1.

4.1.0 (ngày 26 tháng 5 năm 2026)

  • Cải tiến nội bộ: Di chuyển bộ nhớ dữ liệu nội bộ sang Jetpack DataStore.

Thay đổi về phần phụ thuộc và cấu hình

  • Nâng cấp phiên bản phần phụ thuộc Kotlin lên phiên bản 2.3.0.
  • Nâng cấp Trình bổ trợ Android cho Gradle lên phiên bản 8.13.2.
  • Nâng cấp Gradle lên phiên bản 8.13.
  • Nâng cấp thư viện Desugar lên phiên bản 2.1.5.
  • Nâng cấp SDK Bản đồ lên phiên bản 20.0.0 và cập nhật các phần phụ thuộc sau đây của GMS Core:
    • play-services-location: 21.3.0
    • play-services-tasks: 18.4.1
    • play-services-common: 18.1.0
    • play-services-basement: 18.1.0
  • Thêm các phần phụ thuộc Jetpack Datastore (androidx.datastore:datastore-core:1.2.0, androidx.datastore:datastore-guava:1.2.0).

4.0.0 (ngày 3 tháng 10 năm 2025)

  • Cải tiến nội bộ.

3.2.0 (ngày 26 tháng 6 năm 2025)

  • Cải tiến tính năng ghi nhật ký nội bộ.

Thay đổi về phần phụ thuộc và cấu hình

  • Kể từ phiên bản 3.2.0 của SDK Người tiêu dùng cho Android, các ứng dụng phải nâng cấp lên Kotlin 2.1.

Bản sửa lỗi

  • Sử dụng độ dài hình nhiều đường thay vì khoảng cách đường chim bay để đưa ra quyết định về ảnh động nội bộ.

3.1.0 (Ngày 10 tháng 3 năm 2025)

  • Cải tiến tính năng ghi nhật ký nội bộ.

3.0.0 (Ngày 6 tháng 12 năm 2024)

Thay đổi về phần phụ thuộc và cấu hình

2.99.0 (Ngày 25 tháng 11 năm 2024)

Bản sửa lỗi

  • Khắc phục lỗi ANR xảy ra khi ConsumerApi.cleanUp() mất quá nhiều thời gian để thực thi. Bản phát hành này sẽ được triển khai dần (bắt đầu từ 0%) sau khi được tích hợp.
  • Khắc phục vấn đề tài xế nhận được lỗi gRPC có mã "INTERNAL" và thông báo "Panic! Đây là một lỗi!". Bản phát hành này sẽ được triển khai dần (bắt đầu từ 0%) sau khi được tích hợp.

2.3.0 (Ngày 2 tháng 8 năm 2024)

Nội dung thay đổi đối với API

2.2.0 (ngày 7 tháng 5 năm 2024)

Nội dung thay đổi đối với API

  • Thêm API hỗ trợ cho việc tích hợp Jetpack Compose. Đây là một tính năng thử nghiệm. Để biết thông tin chi tiết về cách tích hợp với Jetpack Compose, hãy liên hệ với người đại diện của bạn.

2.1.0 (ngày 17 tháng 1 năm 2024)

Bản sửa lỗi

  • Khắc phục sự cố xảy ra khi SDK được khởi chạy nhiều lần trong suốt vòng đời của ứng dụng.

Nội dung thay đổi đối với API

  • Giới thiệu phương thức truy xuất thực thể GoogleMap do SDK tạo (ConsumerGoogleMap.getGoogleMap()).
  • Ra mắt API để truy xuất các thực thể Marker do SDK tạo để đại diện cho xe (ConsumerController.getConsumerMarker()).
  • Ra mắt API để nhận thông tin cập nhật dự kiến của ứng dụng về thời gian và khoảng cách trong quá trình Chia sẻ hành trình (ProjectedRouteEta).

1.99.2 (ngày 3 tháng 11 năm 2023)

  • Khắc phục sự cố xảy ra khi SDK được khởi chạy từ một quy trình từ xa, tách biệt với ứng dụng.

  • Khắc phục sự cố xảy ra khi thực thi ảnh động của camera và không có đủ không gian dọc hoặc ngang cho khoảng đệm. Điều này chỉ xảy ra trên trình kết xuất bản đồ mới nhất.

  • Khắc phục lỗi khiến chặng đầu tiên của chuyến đi liên tiếp bị cắt bớt khi chặng thứ hai đi qua cùng một tuyến đường.

Vấn đề

  • ConsumerApi.initialize() sẽ gửi một ngoại lệ nếu được gọi khi một phiên bản API đã tồn tại. Để giải quyết vấn đề này, trước tiên, hãy gọi ConsumerApi.getInstance() và đánh giá Task được trả về để xác định xem một thực thể API đã tồn tại hay chưa.

2.0.0 (ngày 15 tháng 9 năm 2023)

Thông báo: Thay đổi có thể gây lỗi

  • Yêu cầu về cấp độ API tối thiểu được cập nhật từ 21 lên 23.

  • Cập nhật yêu cầu về phiên bản SDK Maps từ phiên bản 17.0.0 lên phiên bản 18.1.0

  • Yêu cầu về phiên bản thư viện chuẩn Kotlin tối thiểu được cập nhật từ phiên bản 1.6.10 lên phiên bản 1.9.0

  • Cập nhật phiên bản phần phụ thuộc của Dịch vụ Google Play

    • Yêu cầu về phiên bản thư viện play-services-base tối thiểu được cập nhật từ phiên bản 18.0.1 lên phiên bản 18.2.0

    • Yêu cầu về phiên bản tối thiểu của thư viện play-services-basement được cập nhật từ phiên bản 18.0.0 lên phiên bản 18.2.0

    • Yêu cầu về phiên bản tối thiểu của thư viện play-services-location được cập nhật từ phiên bản 17.0.0 lên phiên bản 21.0.1

    • Yêu cầu về phiên bản thư viện play-services-tasks tối thiểu được cập nhật từ phiên bản 18.0.1 lên phiên bản 18.0.2

  • Thêm thư viện androidx.room:room-runtime với yêu cầu về phiên bản tối thiểu được đặt thành phiên bản 2.5.2

  • Cập nhật các phiên bản phần phụ thuộc sau

    • Yêu cầu về phiên bản tối thiểu của thư viện android-maps-utils được cập nhật từ phiên bản 0.4.2 lên phiên bản 3.5.2

    • Yêu cầu về phiên bản tối thiểu của com.google.android.datatransport:transport-backend-cct được cập nhật từ phiên bản 3.0.0 lên phiên bản 3.1.9

    • Yêu cầu về phiên bản com.google.android.datatransport:transport-runtime tối thiểu được cập nhật từ phiên bản 3.0.1 lên phiên bản 3.1.9

    • Yêu cầu về phiên bản androidx.lifecycle:lifecycle-extensions tối thiểu được cập nhật từ phiên bản 2.0.0 lên phiên bản 2.2.0

    • Yêu cầu về phiên bản androidx.lifecycle:lifecycle-common-java8 tối thiểu được cập nhật từ phiên bản 2.0.0 lên phiên bản 2.6.1

    • Yêu cầu về phiên bản androidx.appcompat:appcompat tối thiểu được cập nhật từ phiên bản 1.0.0 lên phiên bản 1.6.1

    • Yêu cầu tối thiểu về phiên bản androidx.fragment:fragment được cập nhật từ phiên bản 1.0.0 lên phiên bản 1.6.1

  • Xoá các API không dùng nữa sau đây: ConsumerTrip, ConsumerTripCallback, ConsumerTripManager, ConsumerTripOptions. Các phương thức này đã được thay thế bằng TripModel, TripModelCallback, TripModelManager và TripModelOptions.

  • Giờ đây, các ứng dụng sử dụng SDK Người tiêu dùng phải có targetSdkVersion của API 31 trở lên, compileSdkVersion của API 33 trở lên.

  • Giờ đây, các ứng dụng sử dụng SDK Người tiêu dùng phải bật tính năng hỗ trợ thư viện Java 8. Hãy xem https://developer.android.com/studio/write/java8-support để biết hướng dẫn cập nhật.

  • Ứng dụng sử dụng Proguard hoặc Dexguard phải di chuyển sang R8. Hãy xem https://developer.android.com/build/shrink-code để biết thêm thông tin.

  • Các ứng dụng sử dụng SDK Người tiêu dùng phải bật tính năng đơn giản hoá cú pháp. Hãy xem https://developer.android.com/studio/write/java8-support#library-desugaring để biết hướng dẫn.

  • Phương thức ConsumerApi.initialize() hiện sẽ gửi một ngoại lệ nếu được gọi khi đã có một thực thể API được tạo. Bạn phải sử dụng Task do ConsumerApi.getInstance() trả về để xác định xem có thực thể API nào được tạo trước đó hay không.

Thông báo: Ngừng sử dụng API

  • Ngừng sử dụng các lớp chú thích Trip.TripStatus và Trip.TripType, thêm các lớp chú thích TripInfo.TripStatus và TripInfo.TripType để thay thế.

    • Trong quá trình thay đổi này, TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status) không còn được dùng và TripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status) được thêm vào để thay thế.

    • Trong quá trình thay đổi này, TripInfo#getTripStatus() không còn được dùng nữa, TripInfo#getCurrentTripStatus() được thêm vào để thay thế.

    • Trong quá trình thay đổi này, TripInfo#getTripType() không còn được dùng nữa, TripInfo#getCurrentTripType() được thêm vào để thay thế.

  • Ngừng sử dụng lớp Trip.

Các thay đổi và bản sửa lỗi khác

  • Hỗ trợ yêu cầu trình kết xuất SDK Maps mới nhất. Hãy xem phần Trình kết xuất bản đồ mới để biết thông tin chi tiết.

  • Cung cấp phạm vi hỗ trợ SDK Maps từ phiên bản 18.1.0 (bao gồm) đến phiên bản 19.0.0 (không bao gồm).

  • Khắc phục lỗi "quá thời hạn" khi giao tiếp nội bộ giữa SDK và phần phụ trợ của Google.

  • Khắc phục vấn đề kết xuất cho màn hình kích thước nhỏ và chế độ hình trong hình.

Hướng dẫn di chuyển

1.99.1 (ngày 31 tháng 8 năm 2023)

Bản sửa lỗi

  • Khắc phục sự cố xảy ra khi hoạt động hoặc mảnh lưu trữ SDK bị huỷ.

  • Khắc phục sự cố xảy ra khi kích thước của MapView là 0 (chiều cao hoặc chiều rộng).

  • Khắc phục sự cố xảy ra khi chiếu vị trí của xe trên hình nhiều đường của tuyến đường.

Những điểm cải tiến

  • Ngăn SDK gặp sự cố khi ứng dụng lưu trữ được cài đặt không qua cửa hàng ứng dụng và không có tài nguyên hình ảnh mặc định.

1.99.0 (Ngày 22 tháng 6 năm 2023)

Bản sửa lỗi

  • Khắc phục vấn đề kết xuất cho màn hình kích thước nhỏ và cho chế độ hình trong hình.

  • Khắc phục lỗi xe nhấp nháy trong khi chia sẻ hành trình.

1.2.1 (Ngày 7 tháng 6 năm 2023)

Bản sửa lỗi

  • Khắc phục lỗi khiến xe nhấp nháy trong khi chia sẻ hành trình.

1.2.0 (Ngày 21 tháng 11 năm 2022)

Bản sửa lỗi

  • Khắc phục lỗi khiến lưu lượng truy cập trống được báo cáo trong lệnh gọi lại onTripActiveRouteTrafficUpdated.

Tính năng mới

  • "Đường đa tuyến nhận biết tình hình giao thông" hiện đã được phát hành rộng rãi.

1.1.2 (ngày 27 tháng 10 năm 2022)

Bản sửa lỗi

  • Khắc phục lỗi khiến hình nhiều đường của tuyến đường biến mất sau khi JourneySharingSession được bắt đầu nhiều lần cho một TripModel.

Thông báo: Ngừng hỗ trợ Android 5 (ngày 25 tháng 7 năm 2022)

Đối với phiên bản SDK v1.1.1, chúng tôi sẽ hỗ trợ thêm một năm cho các ứng dụng chạy trên Android 5, cho cả cấp độ API 21 và 22.

Điều này có nghĩa là:

  • SDK Người tiêu dùng chạy trên các ứng dụng Android của bạn sẽ hỗ trợ Android 5 (cấp độ API 21) trở lên cho đến ngày 30 tháng 6 năm 2023.

  • Sau ngày 30 tháng 6 năm 2023, chúng tôi sẽ chỉ hỗ trợ các cấp độ API Android từ 23 trở lên. Nói cách khác, chúng tôi sẽ ngừng hỗ trợ cấp độ API Android 21 và 22 trên tất cả các phiên bản SDK sau ngày đó. Điều này có nghĩa là các lỗi liên quan đến Android 21 hoặc 22 trong bất kỳ phiên bản SDK nào (bao gồm cả phiên bản 4.x) sẽ không được khắc phục và chúng tôi không đảm bảo rằng các SDK sẽ hoạt động đúng cách.

v1.1.1 (ngày 25 tháng 7 năm 2022)

Thay đổi về phần phụ thuộc

  • Hạ cấp độ API Android tối thiểu được hỗ trợ xuống 21.

v1.1.0 (Ngày 28 tháng 4 năm 2022)

  • Cải tiến nội bộ.

v1.0.19 (ngày 17 tháng 3 năm 2022)

Bản sửa lỗi

  • Khắc phục lỗi rò rỉ bộ nhớ trong lớp ConsumerApi.

v1.0.14 (Ngày 30 tháng 11 năm 2021)

Cấp độ API Android tối thiểu được hỗ trợ hiện là 23.

Nội dung thay đổi đối với API

  • Các thay đổi đối với lớp ConsumerTrip và ConsumerTripManager.

    • Dọn dẹp một số tên phương thức để làm rõ ý nghĩa và phù hợp với nền tảng iOS.
  • Thay đổi đối với ConsumerTripCallback, ConsumerTrip và TripInfo.

    • Thay đổi một số tên lớp để tạo sự tương đồng với iOS. Ra mắt TripModel, TirpModelManager và TripModelOptions để ngừng sử dụng ConsumerTrip, ConsumerTripManager và ConsumerTripOptions.

    • Dọn dẹp một số tên phương thức. Sửa đổi hoặc thêm nhận xét JavaDoc vào các phương thức để truyền tải ý nghĩa rõ ràng hơn.

    • Cải thiện khả năng xử lý lỗi.

Tuỳ chỉnh kiểu

  • Đã ngừng sử dụng trình bao bọc cũ

    • MarkerStyleOptions và PolylineStyleOptions không còn được dùng nữa và được thay thế bằng MarkerOptions và PolylineOptions. Cả hai đều được chia sẻ với SDK Maps.

Giám sát sự cố

  • Thêm tính năng phát hiện và ghi nhật ký sự cố.

    • Chúng tôi đã bổ sung một lựa chọn cho phép bạn không sử dụng chức năng này. Đây là một phần trong nỗ lực lớn hơn trên toàn bộ Geo nhằm giám sát sự cố.

Thay đổi về phương thức xác thực

  • Xoá các phương thức không cần thiết khỏi giao diện Xác thực.
    • Đã xóa tham số ServiceType.

v0.9.28 (ngày 18 tháng 5 năm 2021)

Nội dung thay đổi đối với API

  • Cập nhật tất cả phương thức ConsumerTripCallback để sử dụng TripInfo làm tham số.
  • Thêm ConsumerTrip.isRefreshing(), cho biết liệu ConsumerTrip có đang tự động cập nhật thông tin mới về chuyến đi từ Fleet Engine hay không.
  • Thêm ConsumerTripCallback.onTripRemainingRouteDistanceUpdated().
  • Thêm ConsumerTripCallback.onTripRemainingRouteUpdated().
  • Thay thế các kiểu dữ liệu trả về của Guava (ImmutableSet, ImmutableList) bằng các lớp tương đương java.util.
  • Thay đổi tên gói:

    • com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
    • com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
    • com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip

                                  ->
                                                                  com.google.android.libraries.ridesharing.consumer.model.Trip
      
                                  -   com.google.android.libraries.ridesharing.common.model.Vehicle
      
                                                          ->
                                      com.google.android.libraries.ridesharing.consumer.model.Vehicle
      

Thay đổi về cách triển khai

  • Khắc phục tình huống tương tranh trong đó SDK có thể gặp sự cố khi tương tác với bản đồ trước khi sẵn sàng.
  • SDK không còn chứa bản sao chưa làm rối mã nguồn của io.grpc.
  • Khắc phục lỗi nhấp nháy hình nhiều đường của tình trạng giao thông trên một số thiết bị. Các đoạn giao thông giờ đây sẽ có đầu bo tròn.

v0.9.15 (ngày 7 tháng 10 năm 2020)

Nội dung thay đổi đối với API

  • Bản phát hành này ra mắt tính năng Đường đa tuyến nhận biết tình hình giao thông. – Thêm TripInfo.getActiveRouteTraffic() và TripInfo.getRemainingRouteTraffic().
    • Thêm ConsumerTripCallback.onTripActiveRouteTrafficUpdated() và ConsumerTripCallback.onTripRemainingRouteTrafficUpdated() để cho biết thời điểm lưu lượng truy cập thay đổi.
    • Đã thêm PolylineStyleOptions để tuỳ chỉnh lưu lượng truy cập (setTrafficEnabled(), setTrafficColorNoData(), setTrafficColorNormal(), setTrafficColorSlow(), setTrafficColorTrafficJam()).
    • Đặt PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION.
    • Thêm TripWaypoint.getTrafficData().
    • Đã thêm loại dữ liệu TrafficData.
    • Thêm ConsumerController.hideAllSessions(). ConsumerController.showSession() không còn chấp nhận giá trị rỗng làm đối số.

v0.9.9 (Ngày 15 tháng 7 năm 2020)

Nội dung thay đổi đối với API

  • Đây là một thay đổi lớn, giới thiệu cấu trúc mô-đun hoá với mối quan hệ rõ ràng hơn giữa lớp chỉ có dữ liệu (ví dụ: ConsumerTripManager) và lớp giao diện người dùng (ví dụ: JourneySharingSession). Để biết thông tin về cách di chuyển sang cấu trúc mới, hãy xem Hướng dẫn di chuyển mô-đun hoá. – Đối tượng ConsumerTrip hiện được lấy từ ConsumerTripManager.getTrip().
    • ConsumerTrip.unregisterCallback đã được đổi tên thành ConsumerTrip.unregisterTripCallback.
    • ConsumerTrip.isCallbackRegistered đã được đổi tên thành ConsumerTrip.isTripCallbackRegistered.
    • Thêm ConsumerTrip.setConsumerTripOptions()và ConsumerTrip.getConsumerTripOptions().
    • Đã xoá ConsumerTrip.setAutoRefreshInterval().
  • Đã xóa các API chia sẻ hành trình không liên quan.
    • Đã xoá bản đồ mật độ xe.
    • Đã xoá trạng thái xem trước chuyến đi.
    • Đã xoá trạng thái lựa chọn đến lấy hàng.
    • Đã xoá trạng thái lựa chọn điểm trả khách.
    • Đã xóa các loại điểm đánh dấu sau: SELECTED_PICKUP_POINT, SUGGESTED_PICKUP_POINT, HIGHLIGHTED_PICKUP_POINT và SELECTED_DROPOFF_POINT.
  • Thay đổi OnConsumerMarkerClickCallback và ConsumerMapReadyCallback từ giao diện thành lớp trừu tượng.
  • Thêm ConsumerController.getCameraUpdate(), ConsumerController.isAutoCameraEnabled() và ConsumerController.enableAutoCamera().
  • Đã xóa FAB tùy chỉnh và các phương thức liên quan (ConsumerController.isMyLocationFabEnabled và ConsumerController.setMyLocationFabEnabled).

Thay đổi về cách triển khai

  • ConsumerTripCallback, dù được đăng ký có hoặc không có LifecycleOwner, sẽ không còn tự động huỷ đăng ký trên TripStatus.COMPLETE hoặc TripStatus.CANCELED.
  • AutoCamera hiện được bật theo mặc định và không bao giờ tự bật lại hoặc tắt. Trước đây, tính năng AutoCamera tự động bật lại trên TripStatus.ARRIVED_AT_PICKUP và tự tắt khi người dùng tương tác với bản đồ trong quá trình chia sẻ hành trình.
  • Sau đây là những điểm cải tiến đối với ảnh động của xe trong tính năng chia sẻ hành trình:
    • Ảnh động chia sẻ hành trình hiện xử lý tình huống mà một chiếc xe có thể quay lại dọc theo một tuyến đường đã đi qua.
    • Giờ đây, xe sẽ tạo ảnh động theo đường thẳng thay vì nội suy tuyến đường giữa các điểm khi được xác định theo thuật toán là phù hợp.
  • Không cần quyền FINE_LOCATION nữa.

Các thay đổi khác

  • Cập nhật các phiên bản phần phụ thuộc sau:
    • com.google.android.datatransport:transport-api:2.2.0
    • com.google.android.datatransport:transport-backend-cct:2.2.0
    • com.google.android.datatransport:transport-runtime:2.2.0

v0.9.1 (ngày 23 tháng 3 năm 2020)

Nội dung thay đổi đối với API

  • Đã thêm TripInfo.getVehicleId(), TripInfo.getNumberOfPassengers(), TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute() và TripInfo.getTripRemainingRoute().
  • Thêm lớp options được dùng trong quá trình khởi chạy ConsumerApi, cho phép đặt địa chỉ FleetEngine một cách linh động. Nếu API không được gọi bằng giá trị FleetEngine, thì API sẽ cố gắng tìm nạp giá trị đó từ tệp kê khai Android hoặc quay lại giá trị mặc định.

Những điểm cải tiến

  • Đường đa tuyến của tuyến đường không xuất hiện khi trạng thái chuyến đi là ARRIVED_AT_PICKUP.
  • Tính năng theo dõi xe đi chệch tuyến đường đã được cải thiện (yêu cầu DriverSDK 1.15):
    • Tính năng theo dõi xe không đưa xe vào tuyến đường khi xe đi qua điểm đón.
    • Tính năng theo dõi xe cho phép hiển thị xe ngoài đường; ví dụ: trong bãi đỗ xe chưa được lập bản đồ.
  • Biểu tượng xe hiện cập nhật khi điểm đến của tài xế không khớp với điểm đến trong Fleet Engine.

v0.8.6 (Ngày 16 tháng 12 năm 2019)

Nội dung thay đổi đối với API

  • Thêm TripInfo.getVehicleLocation().

  • ConsumerMapView không còn là phiên bản hoàn chỉnh nữa.

Thay đổi về cách triển khai

  • Khoảng cách còn lại của chặng đang hoạt động hiện được tính bằng khoảng cách của máy chủ (khoảng cách do tài xế báo cáo + tuyến đường tĩnh nếu có) thay vì tính năng bám dính cục bộ. Thay đổi này giúp giá trị khoảng cách còn lại chính xác hơn.

Các thay đổi khác

  • Cần có các phần phụ thuộc mới. Hãy xem tệp .pom để biết thông tin chi tiết.

    • com.google.android.datatransport:transport-api:2.0.0
    • com.google.android.datatransport:transport-backend-cct:2.0.2
    • com.google.android.datatransport:transport-runtime:2.0.0
  • Thêm nhật ký về độ trễ của yêu cầu chuyến đi.

  • Thêm nhật ký cho lỗi phản hồi chuyến đi.

Ghi chú

  • Kể từ phiên bản 0.8.1, SDK Người tiêu dùng cho Android được cung cấp dưới dạng tệp lưu trữ zip đã được jetify. Để biết thông tin về cách huỷ jetify, hãy xem phần Jetifier: Chế độ đảo ngược.

v0.8.1 (ngày 13 tháng 9 năm 2019)

Tính năng mới

Nội dung thay đổi đối với API

  • Đã thêm ConsumerController.disableAutoCamera() làm hàm ngược với centerMapForState().

  • VehicleLocation.getUpdateTime() hiện trả về một Long biểu thị dấu thời gian (tính bằng mili giây).

  • Đơn giản hoá giao diện AuthTokenFactory để hiển thị một phương thức duy nhất cho việc tạo mã thông báo. Thay đổi AuthTokenFactory từ giao diện thành một lớp trừu tượng để bật khả năng tương thích ngược trong Java7. Thay đổi này có khả năng tương thích ngược, nhưng các phương thức cũ để tạo mã thông báo dịch vụ đơn lẻ không còn được dùng nữa và cuối cùng sẽ bị xoá.

Thay đổi về cách triển khai

  • Các thành phần hiện được căn giữa vào tâm biểu tượng, loại bỏ độ lệch bóng.

  • setState thành JOURNEY_SHARING onStartTripMonitoring() thay vì chờ trạng thái của Chuyến đi được giám sát.

  • Luôn trả về dữ liệu cho lần cập nhật dữ liệu chuyến đi đầu tiên, ngay cả khi dữ liệu chuyến đi không đồng bộ.

  • Thêm Android Map Utils làm phần phụ thuộc được cung cấp.

Bản sửa lỗi

  • Sửa cú pháp xuất proguard bị hỏng cho grpc keep.

v0.7.0 (ngày 7 tháng 8 năm 2019)

Tính năng mới

  • Hỗ trợ nhiều điểm đến cho tính năng Chia sẻ hành trình.

Nội dung thay đổi đối với API

  • Các phương thức mới cho ConsumerTripCallback.

    • onTripIntermediateDestinationsUpdated().
    • onTripETAToNextTripWaypointUpdated().
  • Các phương thức ConsumerController mới.

    • getIntermediateDestinations().
    • setIntermediateDestinations(List<TerminalLocation> intermediateDestinations).
  • TripStatuses mới.

    • TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION.
    • TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION.
  • Phương thức getter TripWaypoint mới.

    • getETAMillis().
    • getDistanceMeters().
  • Thêm lớp TripInfo.

    • Bạn có thể lấy TripInfo cho chuyến đi đang hoạt động bằng ConsumerTripManager.getActiveTripInfo().
  • Thêm WaypointType.INTERMEDIATE_DESTINATION.

  • Thêm MarkerType.TRIP_INTERMEDIATE_DESTINATION.

  • Đã tạo ConsumerMapState.JOURNEY_SHARING từ ConsumerMapStates ENROUTE_TO_PICKUP, ARRIVED_AT_PICKUP, ENROUTE_TO_DROPOFF và COMPLETE đã hợp nhất.

    • Đã cập nhật StateChangeCallbacks.

    • Thêm onStateJourneySharing().

    • Đã xoá onStateWaitingForPickup(), onStateDriverArrived(), onStateEnroute() và onStateEndofTrip().

Bản sửa lỗi

  • Khắc phục lỗi tuyến đường không được cắt bớt theo vị trí của xe khi quá trình giám sát chuyến đi bắt đầu giữa một chuyến đi đang diễn ra (không phải ở đầu tuyến đường).

  • Khắc phục lỗi không gọi được lệnh gọi lại chuyến đi cho trình nghe đã đăng ký trên Tripmanager sau khi TripManager đã tìm nạp dữ liệu chuyến đi.

  • Giờ đây, tính năng thu phóng camera chỉ bao gồm tuyến đường đang hoạt động và điểm tham chiếu tiếp theo của chuyến đi (điểm tham chiếu thuộc về chuyến đi). Ngay cả khi chân còn lại hiển thị, mức thu phóng sẽ không bao giờ bao gồm chân đó. Trước đây, điểm trả khách được đưa vào chế độ thu phóng khi xe đang trên đường đến điểm đón hoặc đã đến điểm đón. Điều này không còn đúng nữa.

Những điểm cải tiến

  • Điền dữ liệu của Tài xế vào điểm tham chiếu còn lại thứ 0 (danh sách điểm tham chiếu còn lại được trả về từ ConsumerTripCallback.onTripRemainingWaypointsUpdated và TripInfo.getRemainingWaypoints().

  • Cập nhật tất cả ETA của điểm tham chiếu còn lại khi ETA đến điểm tham chiếu đầu tiên trong danh sách thay đổi.

  • Chỉ buộc bật lại camera tự động khi tài xế đến điểm đón. Trước đây, máy ảnh tự động sẽ đặt lại về trạng thái bật cho mỗi lần thay đổi trạng thái chuyến đi. Máy ảnh tự động vẫn được bật theo mặc định. Máy ảnh tự động sẽ không bật lại nếu một chuyến đi mới đang hoạt động được đặt mà không có lệnh gọi mới đến startTripMonitoring().

v0.6.1 (ngày 26 tháng 6 năm 2019)

Tính năng mới

  • Hỗ trợ đi chung xe để chia sẻ hành trình.

Nội dung thay đổi đối với API

  • ConsumerController.getConsumerMapStyle() hiện trả về ConsumerMapStyle thay vì Task<ConsumerMapStyle>.

  • Thêm PolylineStyle.setZIndex().

Bản sửa lỗi

  • Ảnh động của tuyến đường hiện chỉ xuất hiện khi đoạn tuyến đường được đồng bộ hoá, giúp cải thiện trải nghiệm người dùng.

  • Khắc phục lỗi xe "nhấp nháy" trong quá trình nội suy ảnh động khi các thông báo cập nhật vị trí của tài xế gần nhau.

  • Khắc phục lỗi xe bắt đầu ở đầu tuyến đường thay vì ở vị trí mới nhất khi quá trình giám sát chuyến đi bắt đầu giữa một chuyến đi đang diễn ra.

  • Hiển thị hình nhiều đường của tuyến đường đang hoạt động phía trên tuyến đường còn lại khi chúng chồng lên nhau.

Những điểm cải tiến

  • Bây giờ, hãy hiển thị lớp gRPC Status bằng các phương thức không bị làm rối mã nguồn.

v0.5.1.01 (ngày 17 tháng 5 năm 2019)

Tính năng mới

  • Hỗ trợ liên tục cho tính năng Chia sẻ hành trình.

Nội dung thay đổi đối với API

  • Lớp ConsumerController mới.

PolylineType

Giá trị cũ Giá trị mới
TRIP_PREVIEW_AUTO_ROUTE PREVIEW_AUTO_ROUTE
TRIP_PREVIEW_TAXI_ROUTE PREVIEW_TAXI_ROUTE
TRIP_PREVIEW_TRUCK_ROUTE PREVIEW_TRUCK_ROUTE
TRIP_PREVIEW_TWO_WHEELER_ROUTE PREVIEW_TWO_WHEELER_ROUTE
TRIP_ROUTE ACTIVE_ROUTE
REMAINING_ROUTE

ConsumerTripCallback

Giá trị cũ Giá trị mới
onTripRouteUpdated onTripActiveRouteUpdated
onTripRemainingDistanceUpdated onTripActiveRouteRemainingDistanceUpdated
onTripRemainingWaypointsUpdated()

ConsumerController

  • Giờ đây, bạn có thể đặt lệnh gọi lại cho các trạng thái mà không cần nhập trạng thái.
Phương thức Số nhận cuộc gọi lại
startPickupSelection setPickupSelectionCallback
startDropoffSelection setDropoffSelectionCallback
startTripPreview setTripPreviewSelectionCallback
  • ConsumerController.setLanguage(String languageCode) cho phép bạn đặt ngôn ngữ dùng trong các lệnh gọi FleetEngine (ví dụ: cho nội dung mô tả điểm đón).

Những điểm cải tiến

  • Trạng thái lựa chọn điểm trả khách hiện có một ghim có thể kéo.
  • Đã xoá ảnh động của camera ở trạng thái INITIALIZE.
  • Thay thế ManagedChannelBuilder bằng AndroidChannelBuilder.