Catatan Rilis Driver SDK untuk Android

Bagian ini berisi catatan rilis untuk Driver SDK untuk Android.

v5.0.0 (12 September 2023)

Perubahan dependensi dan konfigurasi

  • Mengupdate Navigation SDK ke v5.x.
  • minSdkVersion telah diupgrade ke API 23.
  • Mengupgrade versi Kotlin ke 1.9.0.
  • Menambahkan dependensi pada Room.
  • Aplikasi yang menggunakan Driver SDK kini harus memiliki targetSdkVersion API 31 atau yang lebih tinggi.
  • Aplikasi yang menggunakan Driver SDK kini harus mengaktifkan dukungan library Java 8. Lihat https://developer.android.com/studio/write/java8-support untuk mengetahui petunjuk cara mengupdate.
  • Aplikasi yang menggunakan Proguard atau DexGuard harus dimigrasikan ke R8. Lihat https://developer.android.com/build/shrink-code untuk informasi selengkapnya.
  • Aplikasi yang menggunakan Driver SDK harus mengaktifkan desugaring. Lihat https://developer.android.com/studio/write/java8-support#library-desugaring untuk mengetahui petunjuknya.

Perbaikan bug

  • Memperbaiki masalah sinkronisasi disabledLocationTracking.
  • Memperkenalkan antarmuka DriverStatusListener baru yang melaporkan penyebab dalam pembaruan status pengecualian.
  • Perbaikan masalah bagi driver yang tetap diam (tersedia mulai dari v4.99.0).

v4.99.0 (9 Agustus 2023)

  • Mendukung berbagai versi untuk dependensi NavSDK. ** Mendukung v4.5.0 hingga (tetapi tidak termasuk) v5.0.0.
  • Mencegah PWT berkurang dengan sendirinya saat kendaraan berhenti. Perubahan ini diluncurkan secara bertahap sebagai eksperimen, jadi tidak semua aplikasi akan melihat perubahan ini secara bersamaan.

v4.5.0 (12 Mei 2023)

  • Mengupdate dependensi Navigation SDK ke v4.5. Perhatikan bahwa ID grup dan artefak untuk Navigation SDK telah berubah.

v4.4.3 (20 Maret 2023)

Perubahan dependensi

  • Mengupgrade dependensi Navigation SDK ke v4.4.1.

v4.4.2 (15 Februari 2023)

Perbaikan bug

  • Meningkatkan waktu pemulihan jaringan saat SDK mengalami masalah koneksi sementara. Fitur ini sedang diluncurkan sebagai eksperimen.

  • Hapus permintaan UpdateVehicle yang hanya berisi lokasi "Raw".

  • Memperbaiki kondisi race di ALPHA API "Route Overview".

v4.4.1 (18 November 2022)

Perbaikan bug

  • Memperbaiki bug dalam logika upload traffic.

Perubahan lainnya

  • Peningkatan internal pada pelaporan header permintaan dan kode status.

v4.4.0 (21 September 2022)

Perbaikan bug

  • Memperbaiki bug yang mencegah penghapusan notifikasi "Mengemudi dengan Google Maps" jika instance API tidak dihapus.

Perubahan dependensi

  • Mengupgrade dependensi Navigation SDK ke v4.2.2.

v4.3.0 (24 Agustus 2022)

Peningkatan internal.

Pengumuman: Dukungan pembekuan untuk Android 5 (21 Juli 2022)

Untuk SDK versi terbaru (v4.2.0), kami memberikan satu tahun dukungan tambahan untuk aplikasi yang berjalan di Android 5, baik untuk level API 21 dan 22.

Langkah selanjutnya:

  • Navigation SDK dan Driver SDK yang berjalan di aplikasi Android Anda akan mendukung Android 5 (level API 21) minimum hingga 30 Juni 2023.
  • Setelah 30 Juni 2023, kami hanya akan mendukung Android API level 23 dan yang lebih baru. Dengan kata lain, kami akan berhenti mendukung Android API level 21 dan 22 di semua versi SDK setelah tanggal tersebut. Ini berarti bahwa bug yang terkait dengan Android 21 atau 22 dalam versi SDK apa pun (termasuk 4.x) tidak akan diperbaiki, dan kami tidak menjamin bahwa SDK akan berperilaku dengan benar.

Pemberitahuan ini menggantikan pemberitahuan pembekuan dukungan Android 21 dan 22 mulai 21 Juni 2021, serta dukungan untuk Android 23, 24, dan 25 yang berhenti berfungsi mulai 18 Oktober 2021.

v4.2.0 (8 Juni 2022)

Perubahan dependensi

  • Mengupgrade dependensi Nav SDK ke v4.1.3.
  • Mendowngrade level minimum API Android yang didukung ke 21.

v4.1.0 (28 April 2022)

Update API

  • Mengganti nama properti parentId objek Task menjadi trackingId. Properti lama masih ada untuk saat ini, tetapi tidak digunakan lagi.

  • Beberapa jenis nilai yang ditampilkan telah diubah dari Future menjadi ListenableFuture yang lebih spesifik dan dari List ke ImmutableList yang lebih spesifik.

v4.0.0 (29 November 2021)

Android API Level minimum yang didukung untuk rilis ini adalah 23.

Update API

Untuk rilis ini, Driver SDK untuk Android telah diupdate dengan perubahan berikut.

Perubahan VehicleStops API

Objek VehicleStop kini mereferensikan Daftar objek TaskInfo, bukan Daftar objek Task. Jika memerlukan status Tugas, sebaiknya Anda melacaknya dalam kode aplikasi.

Pemantauan error

Pemantauan dan pelaporan error telah ditambahkan untuk membantu meningkatkan stabilitas SDK. Fitur ini diaktifkan secara default, tetapi Anda dapat menonaktifkannya jika memanggil setAbnormalTerminationReportingEnabled() dan meneruskan nilai false sebelum melakukan inisialisasi SDK.

GetRemainingKendaraanStops asinkron

Autentikasi

Menghapus properti yang tidak diperlukan dari antarmuka AuthTokenContext. ServiceType tidak digunakan lagi. Anda kini hanya perlu mendapatkan klaim untuk ID kendaraan dan ID tugas yang disertakan, bukan mengandalkan ServiceType.

18 Oktober 2021 - Dukungan pembekuan untuk API Level 23, 24, dan 25

Baca pengumuman 18 Oktober

Sebagai respons terhadap perubahan dalam dependensi internal kami, Android API Level 23, 24, dan 25 (Android 6, 7.0, dan 7.1) tidak akan didukung dalam versi baru Navigation dan Driver SDK untuk Android, mulai kuartal ketiga tahun 2022.

SDK Navigasi dan Driver untuk versi Android yang dirilis mulai kuartal ketiga tahun 2022 hanya akan mendukung perangkat yang menjalankan Android API Level 26 minimum.

Versi aplikasi yang dibuat dengan Navigation SDK dan Driver SDK v4.x atau yang lebih lama untuk Android akan terus berfungsi pada perangkat yang menjalankan Android API Level 25 dan yang lebih lama.

v3.0.4 (28 Juli 2021)

Fitur

Dengan rilis ini, Driver SDK secara resmi dipisah dari Navigation SDK. Lihat panduan migrasi untuk mengetahui detailnya.

Update API

Menambahkan metode berikut:

DeliveryDriverApi.getDriverSdkVersion()

Stabilitas dan perbaikan bug

Laporkan error PERMISSION_DENIED, bukan mengklasifikasikannya sebagai error koneksi.

Pengumuman penghentian (21 Juni 2021)

Pengumuman ini menjelaskan penghentian penggunaan Driver SDK untuk Android dan Navigation SDK untuk Android pada tanggal yang tercantum di atas. Pengumuman ini juga dikirim sebagai Pengumuman Layanan Wajib (MSA) untuk pelanggan yang terpengaruh.

Untuk menyederhanakan integrasi pelanggan dan mempercepat kemampuan kami dalam memberikan fitur yang berguna, kami memisahkan Navigation SDK for Android dan Driver SDK untuk Android menjadi dua biner yang berbeda:

  • Navigation SDK untuk Android, yang akan menyediakan fungsi navigasi/perutean untuk pengemudi Anda.
  • Driver SDK untuk Android, yang akan memungkinkan Anda memanfaatkan layanan web stateful Fleet Engine untuk progres dan alokasi perjalanan atau tugas.

Perlu diperhatikan bahwa Driver SDK untuk Android memiliki dependensi yang diperlukan pada Navigation SDK for Android untuk fungsi perutean inti.

Apa saja perubahannya?

Perubahan utama pada v3 adalah:

  • Dua biner, bukan satu.
  • Definisi paket yang lebih jelas untuk class Driver SDK for Android.
  • Navigation SDK for Android menyertakan Maps SDK for Android sebagai bagian dari paket (seperti Navigation SDK for Android v2).
    • Hal ini memungkinkan fitur peta dan navigasi untuk beroperasi berdampingan pada peta yang sama (seperti menggambar polyline di NavigationView) dan mengurangi penggunaan memori karena digunakan satu peta, bukan dua peta.
    • Navigation SDK untuk Android 3.0 tidak memiliki kesetaraan fitur lengkap dengan Navigation SDK untuk Android, tetapi v3.2 akan menyelesaikan sebagian besar masalah di sini. Lihat Apa yang dapat saya lakukan & kapan? untuk mengetahui detail selengkapnya.
  • Logging yang akan memudahkan kami men-debug masalah yang mungkin Anda alami.

Metode berikut juga telah dihapus di v3, karena sebelumnya telah ditandai sebagai tidak digunakan lagi dan solusi alternatifnya sudah ada:

  • Metode Nav/Driver SDK berikut tidak digunakan lagi di v1.16, dirilis pada 10 Agustus 2020, dan telah dihapus di v3.0:
    • Waypoint#fromLatLng(*)
    • Waypoint#fromPlaceId(*)
    • Navigator#startGuidance(resumeIntent)
    • NavigationApi#initForegroundServiceManager(*)
  • Agar lebih lengkap dan jelas, perhatikan bahwa sejumlah metode telah dihapus dalam transisi v1 ke v2. Sebagian besar tugas tersebut adalah konsolidasi class duplikat antara Navigation SDK for Android dan Maps SDK for Android. Lihat panduan migrasi untuk lebih memahami perubahan ini.

Penghentian Driver SDK untuk Android dan Navigation SDK untuk Android v1.x

Nav/Driver SDK v1 dirilis pada tahun 2018, dan dengan versi v3 kami yang akan segera dirilis, kini saatnya menghentikan penggunaan v1 untuk menghindari keberlanjutan dukungan dari banyak versi utama.

Waktu yang dihemat karena tidak perlu mendukung versi tambahan ini akan memungkinkan kami mendukung versi utama terbaru dengan lebih baik dan mem-build lebih banyak fitur yang penting bagi pelanggan kami.

Dengan demikian, Nav/Driver SDK v1.x kini tidak digunakan lagi dan tidak akan lagi dikelola setelah 21 Juni 2022.

Harap luangkan waktu untuk melihat cara kerja penghentian penggunaan di versi SDK.

Baca pengumuman yang dicabut

Navigation SDK v4.0 mendatang untuk Android dan Driver SDK untuk Android akan mendukung minimum [Android 6.0 (API level 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. Versi minimum yang didukung saat ini adalah Android 5.0 (API level 21). Kami memperkirakan akan merilis v4.0 pada Q4 2021. Artinya:

  • Versi aplikasi yang dibuat dengan versi sebelum v4.x akan terus berfungsi di perangkat Android 21 dan 22. Aplikasi pengemudi yang telah mengintegrasikan SDK kami saat ini akan terus berfungsi pada perangkat yang menjalankan Android 21+. Ini sama seperti sebelumnya.
  • Versi aplikasi yang dibuat dengan Driver SDK untuk Android dan Navigation SDK untuk Android v4.x (ditargetkan untuk Q4 2021, dapat berubah sewaktu-waktu) dan setelahnya tidak akan dapat diinstal di perangkat yang menjalankan Android 21 dan 22. v4.x akan berjalan pada minimum Android 6.0 (API level 23), sehingga versi aplikasi Anda yang dibuat dengan driver Android v4.x yang akan di-iterasikan

Versi Navigation SDK untuk Android v3 dan Driver SDK untuk Android v3 yang ingin diupgrade dijelaskan dalam tabel berikut beserta waktu ketersediaannya.

Fitur platform Driver apa yang Anda gunakan? Apakah Anda menggunakan kemampuan ini? Maka versi pertama yang tersedia yang harus Anda tingkatkan adalah... Perkiraan Ketersediaan
(dapat berubah sewaktu-waktu)
Tautan Migrasi
Khusus navigasi
(metode NavSDK)
Tidak NavSDK v3.0.1 Sekarang Panduan
Ya NavSDK v3.5 (diproyeksikan) Sep 2021
Navigasi dan Pelacakan Fleet Engine (metode NavSDK dan DriverSDK) Tidak Nav SDK v3.0 dan Driver SDK v3.0 Panduan migrasi Driver v3.0 tersedia saat rilis
Ya NavSDK v3.x dan DriverSDK v3.0

Untuk terus menggunakan metode yang dihapus, Anda dapat tetap menggunakan v1.x, tetapi tanpa mengharapkan dukungan atau pemeliharaan setelah 21 Juni 2022 (lihat bagian berikutnya).

Sebaiknya lakukan migrasi ke v3.x. Artinya:

* Rilis terakhir v1.x akan terjadi pada Q4 2021 (sehingga v1 menjadi “fitur frozen” sejak saat itu).

* Rilis terakhir ini dapat di-patch selama 6 bulan setelahnya, hingga 21 Juni 2022. Setelah itu, kami tidak akan dapat menanggapi bug atau permintaan fitur untuk v1.x.

Harap luangkan waktu untuk meninjau tabel dan [panduan migrasi](/maps/dokumentasi/navigation-sdk-android/v2/migration) berikut untuk membantu Anda melalui perubahan ini.

Kapan saya dapat melakukannya?

Jika saat ini Anda berada di... Apakah Anda menggunakan kemampuan ini? Untuk mengupgrade sekarang Untuk melakukan upgrade pada September 2021 Tautan Migrasi
v1.x
(tidak menggunakan fungsi FleetEngine.java / Driver)
Tidak NavSDK v3.0 Panduan
Ya Tidak ada opsi NavSDK 3.x
v1.x
(menggunakan fungsi FleetEngine.java / Driver)
Tidak Tidak ada opsi NavSDK 3.x +
DriverSDK 3.x
Panduan di atas, ditambah panduan migrasi Driver v3.0 yang tersedia saat rilis.
Ya

Sebaiknya beri tahu pengemudi dengan perangkat Android 21 dan 22 untuk mengupgrade ke versi Android yang lebih baru (minimum Android 6.0) sebelum mengintegrasikan Driver SDK untuk Android dan Navigation SDK untuk Android versi v4.x dan yang lebih baru ke dalam aplikasi driver.

v1.15.3 (9 Oktober 2020)

Update API

  • Driver SDK kini berlangganan Navigation SDK untuk pembaruan traffic, yang dikirim ke Fleet Engine API.

Stabilitas dan perbaikan bug

  • Memperbaiki error runtime gRPC.

v1.15.2

Fitur

Menambahkan kemampuan untuk menghentikan notifikasi terus-menerus. Jika pelaporan lokasi dihentikan di instance Fleet Engine, panduan dihentikan di Navigator, semua pemroses navigasi akan dibatalkan pendaftarannya, dan NavigationFragment atau NavigationView dijeda.

Stabilitas dan perbaikan bug

  • Memperbaiki bug yang menyebabkan pengecualian ditampilkan jika instance Fleet Engine dihapus.

v1.15.1 (12 Mei 2020)

Fitur

Analisis awal data 1.15.0 menunjukkan peningkatan yang signifikan dalam pelaporan lokasi yang stabil (pengurangan lokasi yang "macet"). Perbaikan patch ini memungkinkan pelaporan lokasi yang ditingkatkan untuk dilanjutkan. Masalah ANR tidak terkait dengan peningkatan ini.

Stabilitas dan perbaikan bug

  • Memperbaiki bug yang terkadang menyebabkan garis lurus di awal rute ditampilkan di aplikasi konsumen.
  • Memperbaiki bug yang dapat menyebabkan ANR saat lokasi dilaporkan oleh SDK. Ini dihasilkan dari peningkatan onArrival() yang rentan terhadap pertentangan kunci. Kami dapat mereproduksi ANR dengan andal dalam beberapa situasi dan dapat memverifikasi bahwa perbaikan tersebut menyelesaikan masalah. Aplikasi pengujian yang dimodifikasi untuk menghasilkan ANR berjalan selama delapan jam tanpa ANR setelah perbaikan.

v1.15.0 (23 Maret 2019)

Fitur

  • Memperkenalkan status panduan navigasi saat peristiwa mulai, keluar dari rute, dan kedatangan untuk meningkatkan pelacakan lokasi kendaraan.
  • Menambahkan kemampuan untuk terus mendapatkan lokasi yang diambil di jalan secara terpisah dari status navigasi.
  • Menambahkan informasi tambahan tentang lokasi pra-lokasi peta seperti akurasi.

Stabilitas dan Perbaikan bug

  • Meningkatkan minSdkVersion untuk navsdk menjadi 19.
  • Memperbaiki bug yang menyebabkan nama Waypoint lat/lng tidak diterima saat geocoding terbalik sisi server gagal.

Rilis v1.14.2 (2 Feb 2019)

Fitur

  • Mencegah DriverSDK mengirim 0,0 lokasi ke Fleet Engine (berbagi perjalanan dan input lokasi alokasi yang lebih baik).
  • Logging tambahan untuk meningkatkan masalah lokasi yang macet dan mengurangi penggantian untuk berbagi perjalanan.
  • Abaikan panggilan berulang ke setLocationReportingInterval() kecuali jika interval berubah.
  • Mengupdate javadocs untuk metode setReportingInterval() dengan tujuan mencegah panggilan berulang metode ini pada kecepatan tinggi relatif terhadap interval yang digunakan.
  • Keandalan lokasi API 29 ditingkatkan.

v1.13.0

Stabilitas dan perbaikan bug

  • Menambahkan dependensi pada okhttp yang harus ditambahkan klien ke build gradle mereka.

v1.11.7 (18 Oktober 2019)

Stabilitas dan perbaikan bug

  • Update lokasi kini dilanjutkan setelah onArrival() diaktifkan untuk tujuan tertentu.
  • Notifikasi default (string konstan dalam mode Free Nav) cocok dengan skema warna yang ditetapkan untuk notifikasi navigasi. Untuk mengetahui informasi selengkapnya, lihat Notifikasi Persisten Bersama.
  • Mengatasi masalah saat peristiwa pembaruan lokasi yang tertunda dapat menyebabkan pembaruan lokasi palsu, yang menyebabkan artefak seperti garis lurus di awal rute.

v1.11.6 (4 Oktober 2019)

Update API

  • Memperkenalkan serangkaian perubahan yang memastikan Driver SDK melanjutkan update lokasi dengan cepat setelah terjadi kegagalan jaringan. Setelah koneksi jaringan dipulihkan, pembaruan lokasi akan dimulai lagi pada pembaruan lokasi terjadwal berikutnya.

Stabilitas dan perbaikan bug

  • setVehicleState() sekarang langsung ditampilkan. Update FleetEngine kini terjadi di thread latar belakang. Mengatasi masalah Aplikasi Tidak Merespons (ANR).
  • Memperbaiki masalah yang menyebabkan rute berbagi perjalanan ditampilkan sebagai garis lurus menggunakan Consumer SDK versi lama. Memastikan tidak ada titik jalan satu kali yang ditambahkan ke rute oleh Driver SDK.