Log perubahan ini menjelaskan fitur baru dan perbaikan bug di setiap rilis Navigation SDK untuk Android.
18 Oktober 2021 - Dukungan pembekuan untuk API Level 23, 24, dan 25
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.
Pengumuman penghentian (21 Juni 2021)
Pengumuman ini menjelaskan penghentian penggunaan Navigation SDK untuk Android dan Driver SDK untuk Android pada tanggal yang tercantum di atas. Pengumuman ini juga dikirim sebagai Pengumuman Layanan Wajib (MSA) kepada pelanggan yang terpengaruh.
Penghentian Navigation SDK untuk Android dan Driver 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.
Lihat catatan rilis v2/v3 Navigation SDK untuk Android untuk mengetahui informasi tambahan tentang penghentian penggunaan Android.
Versi 1.51.1 (1 April 2022)
Stabilitas dan perbaikan bug
Memperbaiki hyperlink yang rusak pada dialog Persyaratan Layanan.
Beberapa klien menerima error dialog Ketentuan Layanan saat Aktivitas Android dihancurkan. Sekarang klien tidak akan lagi mengalami error dialog ini saat aktivitas dihancurkan.
Versi 1.51 (18 Januari 2022)
Perubahan API
Menaikkan level API Android minimum untuk Navigation SDK menjadi 23, dan menaikkan level API target menjadi 30. Versi target ini sesuai dengan persyaratan Google Play.
Merender polyline yang menelusuri tanda pangkat navigasi dalam warna "abu-abu" untuk menunjukkan bahwa pengguna telah berkendara melewati bagian rute tersebut.
Versi 1.50 (3 November 2021)
- Varian Jetified dari Versi 1.22. Tidak ada perubahan yang dilakukan selain penggunaan library AndroidX.
Versi 1.22 (7 Oktober 2021)
Stabilitas dan perbaikan bug
- Memperbaiki bug kamera saat kamera berhenti mengikuti lokasi pengguna setelah stopNavigation dipanggil.
- Memperbaiki bug kamera ketika tombol baru-baru ini muncul setelah melakukan backgrou pada aplikasi.
- Memperbaiki potensi masalah kebocoran memori.
- Memperbaiki bug yang menghasilkan masalah ANR.
- Mencegah error yang berasal dari dialog Persyaratan Layanan.
Penghentian penggunaan
- Menghentikan penggunaan #setDestinations dengan token rute dan digantikan dengan API baru yang menggunakan CustomRoutesOptions.
Fitur Baru
- Menambahkan fitur pengambilan asistif yang menambahkan ikon baru ke UI footer navigasi.
- Menambahkan dukungan Kendaraan Roda 2 untuk Rute Kustom.
Versi 1.21.1 (13 Juli 2021)
Stabilitas dan perbaikan bug
- Memperbaiki
IllegalStateException
yang terkait dengan pemeriksaan prakondisi yang terlalu ketat dalam kode penerapan. - Memperbaiki
NullPointerException
diNavigationView.onDestroy()
.
Versi 1.21 (23 Juni 2021)
Perubahan API
- Pemroses yang mengebut kini didukung dalam navigasi headless. Hal ini memungkinkan
pemantauan kecepatan tanpa merender
View
atauFragment
terlebih dahulu dari Navigation SDK.
Stabilitas dan perbaikan bug
- Meningkatkan keandalan pemuatan ubin peta dalam mode malam pada penginstalan aplikasi pertama kali.
Penghentian penggunaan
Metode berikut tidak digunakan lagi dan digantikan dengan Navigator.setSpeedAlertOptions()
:
NavigationView.setSpeedAlertOptions()
SupportNavigationFragment.setSpeedAlertOptions()
NavigationFragment.setSpeedAlertOptions()
Versi 1.20.1 (14 Juli 2021)
Stabilitas dan perbaikan bug
- Memperbaiki
IllegalStateException
yang terkait dengan pemeriksaan prakondisi yang terlalu ketat dalam kode penerapan. - Memperbaiki
NullPointerException
diNavigationView.onDestroy()
.
Versi 1.20 (9 Maret 2021)
- Menambahkan dependensi wajib baru. Tambahkan dependensi berikut ke daftar dependensi Gradle untuk menghindari error runtime:
api 'joda-time:joda-time:2.9.9'
.
Stabilitas dan perbaikan bug
- Memperbaiki masalah saat konsumen Navigation SDK yang menggunakan Joda-Time mengalami konflik dengan versi jodatime yang di-obfuscate yang dikemas ke dalam library kami.
- Memperbaiki masalah Navigation SDK yang secara tidak sengaja menyembunyikan notifikasi aplikasi konsumen yang tidak dimilikinya saat meluncurkan sesi navigasi.
Versi 1.19 (15 Desember 2020)
Perubahan API
DriverSDK kini selalu mengirimkan data traffic ke FleetEngine. Sebelumnya, perilaku ini ditentukan oleh flag
UpdateVehicleResponse
; flag tersebut sekarang diabaikan.Konstruktor FleetEngine telah berubah; wrapper ditambahkan untuk
AuthTokenFactory
danStatusListener
.Menambahkan dua metode baru ke Navigator API untuk memungkinkan setelan dan penghapusan pemroses untuk sesi navigasi baru.
Menambahkan metode baru ke Navigator API untuk mendapatkan ID transaksi untuk sesi navigasi yang sedang berlangsung. API ini harus digunakan saat sesi navigasi baru dimulai dan saat ID transaksi berubah dalam sesi navigasi yang sedang berlangsung (misalnya, saat daftar segmen perjalanan diperbarui).
Versi 1.18 (9 Oktober 2020)
Menambahkan metode
setAbnormalTerminationReportingEnabled(boolean)
. Dengan metode ini, pengguna dapat menonaktifkan pemantauan deteksi error.Memperbaiki bug yang menyebabkan
LocationListeners
tidak dapat dibatalkan pendaftarannya dari peristiwaonLocationChange
.Memperbaiki error gRPC saat
io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider
tidak dapat dibuat instance-nya.
Versi 1.17 (27 Agustus 2020)
Sekarang Anda dapat meneruskan token rute ke NavSDK untuk mengambil rute yang diwakili oleh token rute tersebut. Token rute dikaitkan dengan respons rute saat Anda memanggil Routes Preferred API. API barunya adalah
Navigator#setDestination(List<Waypoint> destinations, String routeToken)
.Menambahkan beberapa dependensi wajib baru. Tambahkan dependensi berikut ke daftar dependensi Gradle Anda untuk menghindari error runtime:
api 'com.google.android.datatransport:transport-api:2.2.0' api 'com.google.android.datatransport:transport-backend-cct:2.2.0' api 'com.google.android.datatransport:transport-runtime:2.2.0'
Versi 1.16 (10 Agustus 2020)
Fitur baru
Menambahkan
Waypoint.Builder.setVehicleStopover
API yang mengaktifkan/menonaktifkan relokasi persinggahan otomatis dalam rute saat titik jalan ditetapkan di tempat yang tidak dapat dihentikan.Menambahkan parameter
SpeedAlertSeverity
ke callbackSpeedAlert
. Gunakan parameter ini denganSpeedingListener
.
Stabilitas dan perbaikan bug
Metode
NavigationApi.cleanUp
tidak digunakan lagi karena efek samping yang tidak diinginkan sepertiNullPointerExceptions
yang menyebabkan error.Waypoint.fromLatLng()
danWaypoint.fromPlaceId()
tidak digunakan lagi dan digantikan denganWaypoint.builder()
.Menghentikan penggunaan class
AddressListener
, yang terdapat dalamNavigationTransactionRecorder
, karena tidak digunakan.
Versi 1.15 (23 Maret 2020)
Fitur baru
Font/warna/ikon yang dapat disesuaikan untuk header Navigasi.
Mendukung penyesuaian warna jalur yang direkomendasikan di UI Header Navigasi.
Mengupdate beberapa API untuk mengikuti pola add-remove untuk menyetel callback/pemroses. Metode
set*
sebelumnya telah ditandai sebagai tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Metode yang tidak digunakan lagi tercantum di sini:SupportNavigationFragment.setOnNightModeChangedListener
SupportNavigationFragment.setOnRecenterButtonClickedListener
NavigationFragment.setOnNightModeChangedListener
NavigationFragment.setOnRecenterButtonClickedListener
NavigationView.setOnNightModeChangedListener
NavigationView.setOnRecenterButtonClickedListener
Navigator.setArrivalListener
Navigator.setRouteChangedListener
Navigator.setRemainingTimeOrDistanceChangedListener
Stabilitas dan perbaikan bug
Naikkan minSdkVersion untuk navsdk ke 19.
Memperbaiki bug saat nama Waypoint lat/lng tidak diterapkan jika geocoding terbalik sisi server gagal.
Versi 1.14 (2 Februari 2020)
Fitur baru
(Beta) Operator dapat memengaruhi opsi rute mana yang akan diikuti oleh pengemudi dengan menetapkan jarak target untuk rute dalam permintaan rute. Fitur ini masih dalam versi Beta. Jika Anda tertarik, hubungi perwakilan engineering pelanggan Anda untuk mempelajari lebih lanjut.
SDK kompilasi ditingkatkan ke API 29.
Stabilitas dan perbaikan bug
Memperbaiki bug pada dialog Persyaratan Layanan yang mencegah perintah "Accept" menjadi wajib bagi pengemudi.
Memodifikasi perilaku penanganan pengecualian dalam komponen NDK untuk menghindari kondisi error.
Versi 1.13 (8 November 2019)
Fitur baru
Pengemudi kini dapat menerima notifikasi kecepatan jika mereka melebihi batas kecepatan. Anda dapat menyesuaikan tampilan ikon notifikasi kecepatan. Sebagaimana dijelaskan dalam persyaratan layanan Google Maps Enterprise, Google tidak memberikan jaminan terkait kualitas fitur apa pun, termasuk akurasi fitur notifikasi kecepatan. Notifikasi kecepatan dimaksudkan untuk digunakan hanya untuk tujuan informasi.
Menambahkan opsi pemilihan rute baru (
RoutingOptions
) yang memungkinkan Anda menampilkan rute alternatif selama pratinjau rute.Menambahkan perspektif kamera baru yang menampilkan tampilan rute dari atas ke bawah, dengan orientasi rute sehingga kendaraan selalu menghadap ke depan. Anda dapat mengonfigurasi perspektif ini dengan memanggil
NavFragment.getCamera().followMyLocation(Camera.Perspective.TOP_DOWN_HEADING_UP)
.Menambahkan API baru (
resetFreeNav()
diRoadSnappedLocationProvider
) yang dapat Anda panggil untuk mereset layanan Free Nav setiap kali Anda berhenti menerima pembaruan lokasi pada pemroses terdaftar, saat navigasi tidak aktif.
Stabilitas dan perbaikan bug
- Memperbarui konten dialog Persyaratan Layanan.
Versi 1.12 (7 Oktober 2019)
Fitur baru
Anda kini dapat menyembunyikan dan menampilkan satu atau semua rute alternatif selama navigasi.
Kini Anda dapat menentukan strategi pemilihan rute dalam permintaan (rute lebih pendek/tercepat).
Penambahan kemampuan untuk menyesuaikan sepenuhnya dialog Persyaratan dan Ketentuan (ukuran teks, warna, dll.).
Stabilitas dan perbaikan bug
Memperbaiki class duplikat dalam masalah
com.google.http-client
.Mengupdate aplikasi demo untuk menggunakan Places SDK baru, dan Jetified pada aplikasi demo.
Meningkatkan kecepatan frame kamera saat berada dalam ringkasan perjalanan.
Versi 1.11 (28 Juni 2019)
Peningkatan performa
- Latensi jaringan
setDestination
telah diperbaiki.
Perbaikan bug
Memperbaiki inkonsistensi dengan callback
onArrival
saat menavigasi beberapa titik jalan.Memperbaiki masalah saat kedatangan mungkin dipicu lebih awal untuk titik jalan yang tidak di dekat lokasi saat ini.
java.lang.IllegalStateException
- Panggilan ke
NavigationView.onDestroy
tidak dapat mengikuti panggilan keNavigationView.onCreate
.
- Panggilan ke
Lain-Lain
Update lisensi software open source.
Menghapus info PWT rute di rute - untuk menghapus data yang berlebihan, dan untuk menyederhanakan UI.
Versi 1.10.2 (11 April 2019)
Stabilitas dan perbaikan bug
- Memperbaiki bug yang dapat menyebabkan IllegalStateException ditampilkan selama transisi siklus proses Fragment: onCreate() ke onDestroy().
Versi 1.10 (11 April 2019)
Fitur
Header dialog Persyaratan dan Ketentuan yang Dapat Disesuaikan Anda dapat menyesuaikan teks judul kotak dialog Persyaratan dan Ketentuan menggunakan
showTermsAndConditionsDialog
.Penanda titik jalan Menghapus karakter alfanumerik dari penanda titik jalan.
Versi 1.9 (11 Februari 2019)
Fitur
Header Sekunder Anda dapat menambahkan konten kustom di bawah header navigasi menggunakan fitur kontrol kustom. Lihat posisi
SECONDARY_HEADER
untuk metodesetCustomControl
.Dependensi baru Tambahkan dependensi untuk Cronet dan Glide. Untuk mengetahui detailnya, lihat Memperbarui skrip build Gradle dalam topik Konfigurasi Project.
Masalah umum
- Jika aplikasi demo mengalami error dengan java.lang.ClassNotFoundException: Didn't find class "com.example.navigationapidemo.SplashScreenActivity",
Anda harus mengupdate dependensi untuk alat Build Gradle ke versi 3.3.1 atau yang lebih baru.
Di file
build.gradle
, pastikanbuildscript
cocok dengan contoh di bawah:
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
}
}
Versi 1.8.1 (22 Januari 2019)
Perbaikan Bug dan Stabilitas
- Error mode taksi dalam mode kamera tertentu telah diperbaiki.
- Berbagai peningkatan stabilitas.
Versi 1.8 (21 Desember 2018)
Fitur
Mode taksi - BETA: Aplikasi Anda dapat menggunakan lajur dan jalan yang khusus dikhususkan untuk taksi guna memberikan pemilihan rute dan Perkiraan Waktu Kedatangan (PWT) untuk kendaraan yang diidentifikasi sebagai taksi.
Area geografis berikut saat ini didukung:
- Brasil: Rio de Janeiro
- Inggris: Birmingham, Coventry, London Metro Area, Manchester
- Israel: Tel Aviv
- Irlandia: Dublin
- Rusia: Moskow
- Skotlandia: Glasgow, Edinburgh
- Spanyol: Madrid, Barcelona
Perbaikan Bug dan Stabilitas
- Perbaikan kebocoran memori
- Performa meningkat
Versi 1.7.3 (18 September 2018)
Perbaikan bug
NavigationView
sekarang dapat bertransisi darionStart
langsung keonStop
, dan tindakan ini tidak akan lagi menghasilkanIllegalStateException
.
Versi 1.7.2 (16 Agustus 2018)
Fitur
- Anda sekarang dapat menampilkan daftar rute selama navigasi untuk menampilkan belokan berikutnya untuk perjalanan. Daftar rute disediakan melalui
DirectionsListView
. - Sekarang Anda dapat mengambil status traffic menggunakan class
TimeAndDistance
melalui metodegetSeverity
. - Pembatasan pelat nomor kendaraan kini didukung.
Perbaikan bug
- Error sesekali dalam dialog Persyaratan Layanan (yang muncul sebagai
IllegalStateException
) telah diperbaiki. - NullPointerException dengan pesan seperti "upaya menulis ke kolom ... pada referensi objek null" telah diperbaiki.
- ID resource di R.txt (sebelumnya 0x1) sekarang memiliki nilai yang benar.
Versi 1.6.2 (16 Juli 2018)
Perbaikan bug
- Memperbaiki NullPointerException di
AccessibilityStateUtils.getAccessibilityState()
.
Versi 1.6.0 (10 Mei 2018)
Perbaikan bug
- Memperbaiki bug yang menyebabkan pemanggilan PWT yang salah pada segmen perjalanan dan rute alternatif.
- Memperbaiki NullPointerException saat nilai lintang dan/atau bujur untuk lokasi adalah
null
. - Memperbaiki bug yang mencegah peta dimuat jika dialog ToS diterima saat offline.
- Memperkenalkan solusi untuk bug LocationManager Android OS 7.0 yang akan menghasilkan NPE di Navigation SDK.
Versi 1.5.0 (26 Maret 2018)
Fitur
- Mode malam: Anda kini dapat mengatur navigasi untuk menggunakan tema mode malam. Anda dapat mengaktifkan atau menonaktifkan mode malam secara terprogram, atau mengizinkan Navigation SDK secara otomatis mengalihkan tema berdasarkan waktu.
- Mode perjalanan Roda Dua (Beta): Kini Anda dapat menetapkan mode perjalanan ke
TWO-WHEELER
untuk mendapatkan rute sepeda motor dan skuter. Fitur ini saat ini hanya tersedia di India dan Indonesia. - Batas kecepatan: Kini Anda dapat menampilkan atau menyembunyikan ikon batas kecepatan secara terprogram (ikon hanya muncul di lokasi tempat data batas kecepatan andal tersedia).
- Kontrol overlay peta kustom: Anda dapat menggunakan kontrol overlay peta kustom untuk memosisikan elemen UI secara dinamis saat bernavigasi.
- Panggilan
getNavigator()
kini menerima konteks Aplikasi sehingga dapat dipanggil dari layanan.
Perbaikan bug
- Beberapa masalah tata letak teks dalam dialog Persyaratan Layanan ditangani untuk meningkatkan tampilan bahasa yang ditulis dari kanan-ke-kiri.
Versi 1.3.4 (24 Januari 2018)
- Memperbaiki bug yang menyebabkan
clearDestinations
terkadang gagal menghapus rute sebelumnya
Versi 1.3.3 (18 Desember 2017)
- Membuat class
CameraArbitrator
menjadi thread-safe karena digunakan di UI dan thread render; - Jangan menampilkan NPE jika peristiwa untuk
CompassButtonController
tiba setelahonDestroy()
dipanggil; - Menambahkan pemeriksaan null untuk metode publik NavigationApi. SDK akan menampilkan NPE yang paling dekat dengan kode developer.
Versi 1.3.2 (30 November 2017)
- Memperbaiki error saat terjadi error jaringan.
Versi 1.3.1 (14 November 2017)
- Memperbaiki notifikasi navigasi belokan demi belokan pop-up di Android 8.0 Oreo (level API 26) dan yang lebih baru.
- Memperbaiki masalah saat rute tidak terlihat jika diminta sebelum
membuat
NavigationView
atauNavigationFragment
.
Versi 1.3 (7 November 2017)
- Menambahkan metode
onTrimMemory()
keNavigationView
. Metode ini harus dipanggil oleh aktivitas yang memuatnya. Navigator.setDestinations()
kini akan menampilkan statusLOCATION_UNKNOWN
jika perbaikan lokasi tidak dapat ditemukan dalam waktu tunggu yang ditentukan. Waktu tunggu dapat disetel menggunakanRoutingOptions.locationTimeoutMs()
.- Titik link untuk gambar penanda kustom kini dapat ditetapkan menggunakan
MarkerOptions.anchor()
. NavigationMap
kini mengekspos objekProjection
yang dapat digunakan untuk mendapatkan batas lat/lng peta yang terlihat dengan memperhitungkan padding.- Notifikasi navigasi belokan demi belokan pop-up kini dapat dinonaktifkan menggunakan
Navigator.setHeadsUpNotificationEnabled()
. - Tombol tengah lagi kini menawarkan pemroses yang diklik. Ini dapat ditetapkan menggunakan
metode
setOnRecenterButtonClickedListener()
padaNavigationView
,NavigationFragment
, danSupportNavigationFragment
.
Versi 1.2.6 (25 Oktober 2017)
- Memperbaiki NullPointerException yang dapat terjadi jika layanan navigasi otomatis dibuat ulang oleh OS.
NavigationView
tidak lagi menampilkan pengecualian jika metode siklus proses tertentu dipanggil dalam urutan yang salah, misalnya panggilan berturut-turut keonStart()
atauonResume()
. Sebaliknya, pesan peringatan akan dicatat.
Versi 1.2.5 (19 Oktober 2017)
- Menambahkan beberapa pengelolaan cache kartu yang lebih baik agar penggunaan memori tetap terkendali.
- Memperbaiki error yang dapat terjadi jika
Navigator.setDestinations()
dipanggil sebelum membuatNavigationView
atauNavigationFragment
.
Versi 1.2.4 (11 Oktober 2017)
- Memperbaiki kebocoran memori yang dapat terjadi saat membuat beberapa NavigationViews tanpa Navigator.
Versi 1.2.3 (4 Oktober 2017)
- Memperbaiki bug siklus proses yang terkadang menyebabkan penanda lokasi saya menghilang.
- Memperbaiki instance lain saat peristiwa pengangkutan dan penurunan dapat hilang.
Versi 1.2.2 (27 September 2017)
- Peningkatan latensi untuk mempercepat inisialisasi API dan panggilan ke
Navigator.setDestinations
.
Versi 1.2.1 (20 September 2017)
- Menambahkan
android:largeHeap="true"
ke manifes library. Hal ini mengurangi frekuensi OutOfMemoryErrors dan diperlukan untuk pengalaman navigasi yang andal. - Meningkatkan keandalan pencatatan peristiwa penjemputan dan penurunan.
Versi 1.2 (1 September 2017)
- Jika orientasi perangkat tidak diketahui, peta sekarang muncul dalam mode ringkasan utara di tengah dan menampilkan penanda lokasi saya lingkaran. Hal ini sangat berguna pada awal perjalanan, untuk membantu pengguna mengorientasikan diri mereka sendiri dengan menyampaikan bahwa perangkat belum memiliki pemahaman yang cukup baik ke arah mana perangkat tersebut menghadap.
- Kartu insiden lalu lintas memiliki desain baru dan muncul di bagian bawah peta, bukan posisi sebelumnya di bagian atas.
- Memperbarui pemrosesan lokasi untuk memastikannya berfungsi sebagaimana mestinya di Android 8.0 Oreo (level API 26).
- Memperbaiki bug saat penanda tujuan dirender secara berbeda dalam mode navigasi dan mode non-navigasi.
Versi 1.1.2 (16 September 2017)
- Meningkatkan keandalan pencatatan peristiwa penjemputan dan penurunan.
Versi 1.1.1 (24 Agustus 2017)
- Memperbaiki IllegalStateException yang terkadang terjadi saat mengubah rute tanpa koneksi jaringan.
- Memperbaiki bug saat gaya visual peta berbeda sebelum dan setelah memanggil
Navigator.setDestinations()
.
Versi 1.1 (31 Juli 2017)
- Memperbaiki bug saat
RoadSnappedLocationListener
terkadang tidak berfungsi saat aplikasi dikirim ke latar belakang. - Memperbaiki bug kamera saat memulai/menghentikan panduan.
- Memperbaiki bug di
Simulator.unsetUserLocation()
saat lokasi tidak direset dengan benar.
Versi 1.0 (5 Juli 2017)
- Peluncuran Navigation SDK.