Catatan Rilis Driver SDK untuk Android

Bagian ini berisi catatan rilis untuk Driver SDK untuk Android.

Pengumuman: Pembekuan dukungan untuk API level 23, 24, dan 25

Sesuai dengan kebijakan dukungan versi OS Seluler, kami membekukan dukungan untuk Android 6 dan 7 (API Level 23, 24, dan 25) dalam versi utama Driver SDK untuk Android mendatang.

Versi Driver SDK untuk Android yang dirilis mulai kuartal keempat tahun 2025 akan mendukung Android 8 minimum (API Level 26). Versi SDK sebelumnya akan terus mendukung Android 6 dan 7.

Jika dependensi Anda tidak menentukan nomor versi, IDE akan memuat versi SDK terbaru dan build baru aplikasi Anda tidak akan mendukung Android 6 dan 7.

Tentukan versi Driver SDK untuk Android dalam dependensi build aplikasi Anda untuk mengontrol kapan Anda menaikkan OS minimum yang didukung untuk versi baru aplikasi Anda.

v6.0.0 (25 November 2024)

Perbaikan bug

  • Memperbaiki masalah saat driver menerima error gRPC dengan kode "INTERNAL" dan "Panic! Ini adalah bug!".
  • Peningkatan internal untuk mengurangi error koneksi update lokasi, terutama saat perangkat beralih jaringan. Fitur ini akan diluncurkan secara bertahap (mulai dari 0%) setelah rilis diintegrasikan.`

Update API

  • Menghapus antarmuka StatusListener yang tidak digunakan lagi.

Perubahan dependensi dan konfigurasi

  • Menghapus dependensi ke glide:cronet-integration di POM.xml
  • Memperbarui versi rentang yang didukung Navigation SDK ke v5.x.
  • Mulai Driver SDK for Android versi 6.0.0, aplikasi harus diupgrade ke Kotlin 2.0.
  • targetSdk kini adalah API level 34. Hal ini merupakan persyaratan untuk semua aplikasi yang di-deploy ke Google Play Store mulai Agustus 2024. Lihat Memenuhi persyaratan level API target Google Play.

v5.99.0 (20 September 2024)

Perbaikan bug

  • Memperbaiki masalah saat driver menerima error gRPC dengan kode "INTERNAL" dan "Panic! Ini adalah bug!". Fitur ini akan diluncurkan secara bertahap (mulai dari 0%) setelah rilis diintegrasikan.
  • Peningkatan internal untuk mengurangi error koneksi update lokasi, terutama saat perangkat beralih jaringan. Fitur ini akan diluncurkan secara bertahap (mulai dari 0%) setelah rilis diintegrasikan.`

Perubahan dependensi dan konfigurasi

  • Menghapus dependensi ke glide:cronet-integration di POM.xml

v5.0.0 (12 September 2023)

Perubahan dependensi dan konfigurasi

  • Mengupdate Navigation SDK ke v5.x.
  • Mengupgrade minSdkVersion 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 update.
  • Aplikasi yang menggunakan Proguard atau Dexguard harus dimigrasikan ke R8. Lihat https://developer.android.com/build/shrink-code untuk mengetahui 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 terkait sinkronisasi disableLocationTracking.
  • Memperkenalkan antarmuka DriverStatusListener baru yang melaporkan penyebab dalam pembaruan status pengecualian.
  • Memperbaiki masalah untuk 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 perkiraan waktu tiba berkurang dengan sendirinya saat kendaraan berhenti. Perubahan ini diluncurkan secara bertahap sebagai eksperimen, sehingga 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. Ini adalah perbaikan eksperimental.

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

  • Memperbaiki kondisi race di "Ringkasan Rute" ALPHA API.

v4.4.1 (18 November 2022)

Perbaikan bug

  • Memperbaiki bug dalam logika upload traffic.

Perubahan lainnya

  • Peningkatan internal pada header permintaan dan pelaporan kode status.

v4.4.0 (21 September 2022)

Perbaikan bug

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

Perubahan dependensi

  • Mengupgrade dependensi Navigation SDK ke v4.2.2.

v4.3.0 (24 Agustus 2022)

Peningkatan internal.

Pengumuman: Penghentian dukungan untuk Android 5 (21 Juli 2022)

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

Langkah selanjutnya:

  • Navigation SDK dan Driver SDK yang berjalan di aplikasi Android Anda akan mendukung Android 5 minimum (API level 21) hingga 30 Juni 2023.
  • Setelah 30 Juni 2023, kami hanya akan mendukung Android API level 23 dan yang lebih tinggi. Dengan kata lain, kami akan berhenti mendukung API level Android 21 dan 22 di semua versi SDK setelah tanggal tersebut. Artinya, 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, dan pembekuan dukungan Android 23, 24, dan 25 mulai 18 Oktober 2021.

v4.2.0 (8 Juni 2022)

Perubahan dependensi

  • Upgrade dependensi Nav SDK ke v4.1.3.
  • Mendowngrade API level Android minimum 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.

v4.0.0 (29 November 2021)

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

Update API

Untuk rilis ini, Driver SDK for 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 lacak status tersebut dalam kode aplikasi Anda.

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.

Async getRemainingVehicleStops

Autentikasi

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

18 Oktober 2021 - Pembekuan dukungan untuk API Level 23, 24, dan 25

Baca pengumuman 18 Oktober

Sebagai respons terhadap perubahan pada 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 Pengemudi 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 dan Driver SDK v4.x atau yang lebih rendah untuk Android akan terus berfungsi di perangkat yang menjalankan Android API Level 25 dan di bawahnya.

v3.0.4 (28 Juli 2021)

Fitur

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

Update API

Menambahkan metode berikut:

`RidesharingDriverApi.getDriverSdkVersion()`

Perbaikan stabilitas dan bug

Melaporkan error PERMISSION_DENIED, bukan mengklasifikasikannya sebagai error koneksi.

Pengumuman penghentian penggunaan (21 Juni 2021)

Pengumuman ini menjelaskan penghentian Driver SDK for Android dan Navigation SDK for Android mulai tanggal yang tercantum di atas. Pengumuman ini juga dikirim sebagai Pengumuman Layanan Wajib (MSA) kepada 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 for Android menjadi dua biner yang berbeda:

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

Perhatikan bahwa Driver SDK for Android memiliki dependensi yang diperlukan pada Navigation SDK for Android untuk fungsi pemilihan rute inti.

Apa saja perubahannya?

Perubahan utama di v3 adalah:

  • Dua biner, bukan satu.
  • Definisi paket yang lebih jelas untuk class Driver SDK untuk Android.
  • Navigation SDK for Android menyertakan Maps SDK for Android sebagai bagian dari paket (sejak Navigation SDK for Android v2).
    • Hal ini memungkinkan peta dan fitur navigasi untuk berdampingan di peta yang sama (seperti menggambar polyline di NavigationView) dan mengurangi penggunaan memori karena satu peta digunakan, bukan dua.
    • Navigation SDK for Android 3.0 tidak memiliki kesetaraan fitur penuh dengan Navigation SDK for 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 ditandai sebagai tidak digunakan lagi dan solusi alternatifnya sudah ada:

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

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

Nav/Driver SDK v1 dirilis pada tahun 2018, dan dengan versi v3 yang akan segera dirilis, saatnya untuk menghentikan penggunaan v1 agar tidak berkelanjutan dalam mendukung banyak versi utama.

Waktu yang dihemat dengan tidak harus mendukung versi tambahan ini akan memungkinkan kami mendukung versi utama terbaru dengan lebih baik dan membuat lebih banyak fitur yang penting bagi pelanggan kami.

Oleh karena itu, Nav/Driver SDK v1.x kini tidak digunakan lagi dan tidak akan lagi dikelola setelah 21 Juni 2022.

Luangkan waktu sejenak untuk melihat cara kerja penghentian penggunaan di versi SDK.

Membaca 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 K4 2021. Artinya:

  • Versi aplikasi yang dibuat dengan versi sebelum v4.x akan terus berfungsi di perangkat Android 21 dan 22. Aplikasi pengemudi Anda yang telah mengintegrasikan SDK kami saat ini akan terus berfungsi di perangkat yang menjalankan Android 21+. Hal ini sama seperti sebelumnya.
  • Versi aplikasi yang dibuat dengan Driver SDK untuk Android dan Navigation SDK untuk Android v4.x (ditargetkan untuk Kuartal 4 2021, dapat berubah sewaktu-waktu) dan setelahnya tidak akan dapat diinstal di perangkat yang menjalankan Android 21 dan 22. v4.x akan berjalan di Android 6.0 minimum (API level 23), sehingga versi aplikasi Anda yang dibuat dengan v4.x mendatang hanya dapat diterima oleh pengemudi dengan perangkat yang memiliki Android 23+. Untuk mengulangi, ini berarti bahwa perubahan terkait SDK kami dan perubahan aplikasi apa pun yang telah Anda lakukan tidak akan menjangkau pengemudi dengan perangkat yang menjalankan Android 21 dan 22.

Versi Navigation SDK for Android v3 dan Driver SDK for Android v3 yang ingin Anda upgrade dijelaskan dalam tabel berikut beserta waktu ketersediaannya.

Fitur platform Pengemudi mana yang Anda gunakan? Apakah Anda menggunakan kemampuan ini? Kemudian, versi pertama yang tersedia yang harus Anda upgrade adalah... Ketersediaan yang Diperkirakan
(dapat berubah)
Link Migrasi
Khusus navigasi
(metode NavSDK)
Tidak NavSDK v3.0.1 Sekarang Panduan
Ya NavSDK v3.5 (diproyeksikan) Sep 2021
Pelacakan Navigasi dan Mesin Flotte (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 dukungan atau pemeliharaan setelah 21 Juni 2022 (lihat bagian berikut).

Sebaiknya Anda bermigrasi ke v3.x. Artinya:

* Rilis terakhir v1.x akan dilakukan pada K4 2021 (sehingga v1 “dibekukan fiturnya” sejak saat itu).

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

Luangkan waktu Anda untuk meninjau tabel berikut dan [panduan migrasi](/maps/documentation/navigation-sdk-android/v2/migration) untuk membantu Anda menghadapi perubahan ini.

Apa yang dapat saya lakukan paling lambat?

Jika saat ini Anda menggunakan... Apakah Anda menggunakan kemampuan ini? Untuk mengupgrade sekarang Untuk mengupgrade pada September 2021 Link Migrasi
v1.x
(tidak menggunakan fungsi Driver / FleetEngine.java)
Tidak NavSDK v3.0 Panduan
Ya Tidak ada opsi NavSDK 3.x
v1.x
(menggunakan fungsi Driver / FleetEngine.java)
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 Anda yang menggunakan perangkat Android 21 dan 22 untuk mengupgrade ke versi Android yang lebih baru (minimal Android 6.0) sebelum Anda mengintegrasikan Driver SDK untuk Android dan Navigation SDK untuk Android versi v4.x dan yang lebih baru ke dalam aplikasi pengemudi.

v1.15.3 (9 Oktober 2020)

Update API

  • Driver SDK kini berlangganan Navigation SDK untuk mendapatkan info lalu lintas, yang dikirim ke Fleet Engine API.

Perbaikan stabilitas dan bug

  • Memperbaiki error runtime gRPC.

v1.15.2

Fitur

Menambahkan kemampuan untuk menghentikan notifikasi persisten. Jika pelaporan lokasi dihentikan di instance Fleet Engine, panduan akan dihentikan di Navigator, semua pemroses navigasi tidak terdaftar, dan NavigationFragment atau NavigationView dijeda.

Perbaikan stabilitas dan 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 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.

Perbaikan stabilitas dan 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. Hal ini disebabkan oleh peningkatan onArrival() yang rentan terhadap pertentangan kunci. Kami dapat merekonstruksi ANR dengan andal dalam beberapa situasi dan dapat memverifikasi bahwa perbaikan telah 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 pada peristiwa awal, keluar jalur, dan kedatangan untuk meningkatkan pelacakan lokasi kendaraan.
  • Menambahkan kemampuan untuk terus mendapatkan lokasi yang diambil dari jalan, terlepas dari status navigasi.
  • Menambahkan informasi tambahan tentang lokasi yang diambil sebelum jalan seperti akurasi.

Perbaikan Stabilitas dan Bug

  • Meningkatkan minSdkVersion untuk navsdk menjadi 19.
  • Memperbaiki bug yang menyebabkan nama Titik Rute lat/lng tidak dihormati saat geocoding balik sisi server gagal.

Rilis v1.14.2 (2 Februari 2019)

Fitur

  • Mencegah DriverSDK mengirim lokasi 0,0 ke Fleet Engine (input lokasi pembagian perjalanan dan alokasi yang lebih baik).
  • Logging tambahan untuk memperbaiki masalah lokasi yang macet dan mengurangi fallback untuk berbagi perjalanan.
  • Abaikan panggilan berulang ke setLocationReportingInterval() kecuali jika interval berubah.
  • Memperbarui javadoc untuk metode setReportingInterval() dengan tujuan mencegah pemanggilan berulang metode ini dengan kecepatan tinggi dibandingkan dengan interval yang digunakan.
  • Keandalan lokasi API 29 ditingkatkan.

v1.13.0

Perbaikan stabilitas dan bug

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

v1.11.7 (18 Oktober 2019)

Perbaikan stabilitas dan bug

  • Pembaruan lokasi kini berlanjut setelah onArrival() diaktifkan untuk tujuan tertentu.
  • Notifikasi default (string konstan dalam mode Navigasi Gratis) cocok dengan skema warna yang ditetapkan untuk notifikasi navigasi. Untuk 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 (04 Oktober 2019)

Update API

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

Perbaikan stabilitas dan bug

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