Catatan Rilis

Log perubahan ini menjelaskan fitur baru dan perbaikan bug di setiap rilis Navigation SDK for Android.

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

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.

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

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

Pengumuman penghentian penggunaan (21 Juni 2021)

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

Penghentian Navigation SDK for Android dan Driver SDK for 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 bagi banyak versi utama.

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

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

Luangkan waktu untuk melihat cara kerja penghentian penggunaan dalam versi SDK.

Lihat catatan rilis Navigation SDK untuk Android untuk mengetahui informasi tambahan tentang penghentian penggunaan Android.

Versi 1.51.1 (1 April 2022)

Perbaikan bug dan stabilitas

  • Memperbaiki hyperlink yang rusak dalam 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

  • Meningkatkan level API Android minimum untuk Navigation SDK ke 23, dan menambah level API target ke 30. Versi target ini sesuai dengan persyaratan Google Play.

  • Merender polyline yang melacak tanda pangkat navigasi dalam warna "abu-abu" untuk menunjukkan bahwa pengguna sudah melewati bagian rute tersebut.

Versi 1.50 (3 November 2021)

  • Varian Jetified dari Versi 1.22. Tidak ada perubahan yang dibuat di luar penggunaan library AndroidX.

Versi 1.22 (7 Oktober 2021)

Perbaikan bug dan stabilitas

  • Memperbaiki bug kamera saat kamera berhenti mengikuti lokasi pengguna setelah stopNavigation dipanggil.
  • Memperbaiki bug kamera saat tombol pusat muncul setelah melakukan backgrouding aplikasi.
  • Memperbaiki potensi masalah kebocoran memori.
  • Memperbaiki bug yang menyebabkan masalah ANR.
  • Mencegah error berasal dari dialog Persyaratan Layanan.

Penghentian penggunaan

  • Menghentikan penggunaan #setDestinations dengan token rute dan menggantinya dengan API baru yang menggunakan CustomRoutesOptions.

Fitur Baru

  • Menambahkan fitur pengambilan asistif yang menambahkan ikon baru ke UI footer navigasi.
  • Menambahkan dukungan Kendaraan Roda Dua untuk Rute Kustom.

Versi 1.21.1 (13 Juli 2021)

Perbaikan bug dan stabilitas

  • Memperbaiki IllegalStateException yang terkait dengan pemeriksaan prasyarat yang terlalu ketat dalam kode penerapan.
  • Memperbaiki NullPointerException di NavigationView.onDestroy().

Versi 1.21 (23 Juni 2021)

Perubahan API

  • Pemroses yang mempercepat kini didukung di navigasi headless. Hal ini memungkinkan untuk memantau kecepatan tanpa merender View atau Fragment terlebih dahulu dari Navigation SDK.

Perbaikan bug dan stabilitas

  • Meningkatkan keandalan pemuatan ubin peta dalam mode malam pada penginstalan aplikasi untuk 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)

Perbaikan bug dan stabilitas

  • Memperbaiki IllegalStateException yang terkait dengan pemeriksaan prasyarat yang terlalu ketat dalam kode penerapan.
  • Memperbaiki NullPointerException di NavigationView.onDestroy().

Versi 1.20 (9 Maret 2021)

  • Dependensi wajib baru telah ditambahkan. Tambahkan dependensi berikut ke daftar dependensi Gradle untuk menghindari error runtime: api 'joda-time:joda-time:2.9.9'.

Perbaikan bug dan stabilitas

  • 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 saat Navigation SDK 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 dan StatusListener.

  • 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 (mis., saat daftar segmen perjalanan diperbarui).

Versi 1.18 (9 Oktober 2020)

  • Menambahkan metode setAbnormalTerminationReportingEnabled(boolean). Metode ini memungkinkan pengguna menonaktifkan pemantauan deteksi error.

  • Memperbaiki bug yang menyebabkan LocationListeners tidak dapat dibatalkan pendaftarannya dari peristiwa onLocationChange.

  • Memperbaiki error gRPC yang menyebabkan 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 direpresentasikan oleh token rute tersebut. Token rute dikaitkan dengan respons rute saat Anda memanggil Routes Preferred API. API baru adalah Navigator#setDestination(List<Waypoint> destinations, String routeToken).

  • Beberapa dependensi wajib baru telah ditambahkan. Tambahkan dependensi berikut ke daftar dependensi Gradle 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

Perbaikan bug dan stabilitas

  • Metode NavigationApi.cleanUp tidak digunakan lagi karena efek samping yang tidak diinginkan seperti NullPointerExceptions yang menyebabkan error.

  • Waypoint.fromLatLng() dan Waypoint.fromPlaceId() tidak digunakan lagi dan digantikan dengan Waypoint.builder().

  • Menghentikan penggunaan class AddressListener, yang terdapat dalam NavigationTransactionRecorder, 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 guna 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

Perbaikan bug dan stabilitas

  • Meningkatkan minSdkVersion untuk navsdk ke 19.

  • Memperbaiki bug saat nama lat/lng Waypoint tidak diikuti jika geocoding terbalik sisi server gagal.

Versi 1.14 (2 Februari 2020)

Fitur baru

  • (Beta) Operator dapat memengaruhi opsi rute mana yang diikuti oleh pengemudi dengan menetapkan jarak target untuk rute tersebut di permintaan rute. Fitur ini masih dalam versi Beta. Jika Anda tertarik, hubungi perwakilan teknik pelanggan Anda untuk mempelajari lebih lanjut.

  • Kompilasi SDK yang ditingkatkan ke API 29.

Perbaikan bug dan stabilitas

  • Memperbaiki bug dalam dialog Persyaratan Layanan yang mencegah dialog "Accept" bersifat 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 saat melebihi batas kecepatan. Anda dapat menyesuaikan tampilan ikon peringatan kecepatan. Seperti yang dijelaskan dalam persyaratan layanan Google Maps Enterprise, Google tidak memberikan jaminan terkait kualitas fitur apa pun, termasuk akurasi fitur notifikasi kecepatan. Notifikasi kecepatan dimaksudkan hanya untuk tujuan informasi.

  • Menambahkan opsi pemilihan rute baru (RoutingOptions) yang memungkinkan Anda menampilkan rute alternatif selama pratinjau rute.

  • Menambahkan perspektif kamera baru yang menunjukkan 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() di RoadSnappedLocationProvider) yang dapat Anda panggil untuk mereset layanan Nav Gratis setiap kali Anda berhenti menerima pembaruan lokasi pada pemroses terdaftar, saat navigasi tidak aktif.

Perbaikan bug dan stabilitas

  • Memperbarui konten dialog Persyaratan Layanan.

Versi 1.12 (7 Oktober 2019)

Fitur baru

  • Sekarang Anda dapat menyembunyikan dan menampilkan satu atau semua rute alternatif selama navigasi.

  • Anda kini dapat menentukan strategi pemilihan rute dalam permintaan (rute lebih pendek/cepat).

  • Menambahkan kemampuan untuk menyesuaikan dialog Persyaratan dan Ketentuan sepenuhnya (ukuran teks, warna, dll.).

Perbaikan bug dan stabilitas

  • Memperbaiki class duplikat dalam masalah com.google.http-client.

  • Mengupdate aplikasi demo untuk menggunakan Places SDK yang baru dan Jetified aplikasi demo.

  • Meningkatkan kecepatan frame kamera saat dalam ringkasan perjalanan.

Versi 1.11 (28 Juni 2019)

Peningkatan performa

  • Latensi jaringan setDestination telah ditingkatkan.

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 dekat dengan lokasi saat ini.

  • java.lang.IllegalStateException

    • Panggilan ke NavigationView.onDestroy tidak dapat mengikuti panggilan ke NavigationView.onCreate.

Lain-Lain

  • Pembaruan lisensi software open source.

  • Menghapus info PWT rute pada rute - untuk menghapus data yang redundan dan untuk menyederhanakan UI.

Versi 1.10.2 (11 April 2019)

Perbaikan bug dan stabilitas

  • Memperbaiki bug yang dapat menyebabkan IllegalStateException ditampilkan selama transisi siklus proses Fragmen: 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 metode setCustomControl.

  • 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: Tidak menemukan class "com.example.navigationapidemo.SplashScreenActivity", Anda perlu mengupdate dependensi untuk alat Build Gradle ke versi 3.3.1 atau yang lebih baru. Dalam file build.gradle, pastikan buildscript 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 jalur dan jalan yang dikhususkan untuk taksi guna memberikan informasi 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 kini dapat bertransisi dari onStart secara langsung ke onStop, sehingga tidak akan menghasilkan IllegalStateException lagi.

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 metode getSeverity.
  • Pembatasan pelat nomor kendaraan kini didukung.

Perbaikan bug

  • Error sesekali dalam dialog Persyaratan Layanan (ditampilkan sebagai IllegalStateException) telah diperbaiki.
  • NullPointerException dengan pesan seperti "upaya menulis ke kolom ... pada referensi objek null" telah diperbaiki.
  • ID resource di R.txt (sebelumnya semua 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 info PWT yang salah pada segmen perjalanan dan rute alternatif.
  • Memperbaiki NullPointerException jika 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 menyetel 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): Anda kini 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 yang 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 diatasi untuk meningkatkan tampilan bagi 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 aman untuk thread karena digunakan di UI dan thread render;
  • Jangan tampilkan NPE jika peristiwa untuk CompassButtonController tiba setelah onDestroy() 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 di Android 8.0 Oreo (API level 26) dan yang lebih baru.
  • Memperbaiki masalah rute tidak terlihat jika diminta sebelum membuat NavigationView atau NavigationFragment.

Versi 1.3 (7 November 2017)

  • Menambahkan metode onTrimMemory() ke NavigationView. Metode ini harus dipanggil oleh aktivitas yang memuatnya.
  • Navigator.setDestinations() sekarang akan menampilkan status LOCATION_UNKNOWN jika perbaikan lokasi tidak dapat ditemukan dalam waktu tunggu yang ditentukan. Waktu tunggu dapat disetel menggunakan RoutingOptions.locationTimeoutMs().
  • Titik link untuk gambar penanda kustom kini dapat ditetapkan menggunakan MarkerOptions.anchor().
  • NavigationMap kini mengekspos objek Projection yang dapat digunakan untuk mendapatkan batas lat/lng yang terlihat pada peta dengan mempertimbangkan padding.
  • Notifikasi navigasi belokan demi belokan pop-up kini dapat dinonaktifkan menggunakan Navigator.setHeadsUpNotificationEnabled().
  • Tombol tengah ulang sekarang menawarkan pemroses yang diklik. Kolom ini dapat ditetapkan menggunakan metode setOnRecenterButtonClickedListener() di NavigationView, NavigationFragment, dan SupportNavigationFragment.

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 ke onStart() atau onResume(). Sebagai gantinya, pesan peringatan akan dicatat.

Versi 1.2.5 (19 Oktober 2017)

  • Penambahan beberapa pengelolaan cache kartu yang lebih baik agar penggunaan memori tetap terkendali.
  • Memperbaiki error yang dapat terjadi jika Navigator.setDestinations() dipanggil sebelum membuat NavigationView atau NavigationFragment.

Versi 1.2.4 (11 Oktober 2017)

  • Memperbaiki kebocoran memori yang dapat terjadi saat membuat beberapa NavigationView tanpa adanya Navigator.

Versi 1.2.3 (4 Oktober 2017)

  • Memperbaiki bug siklus proses yang terkadang menyebabkan penanda lokasiku menghilang.
  • Memperbaiki instance lain saat peristiwa pengambilan 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. Tindakan ini mengurangi frekuensi OutOfMemoryErrors dan diperlukan untuk pengalaman navigasi yang andal.
  • Meningkatkan keandalan perekaman peristiwa pengambilan dan penurunan.

Versi 1.2 (1 September 2017)

  • Jika orientasi perangkat tidak diketahui, peta kini muncul dalam mode ringkasan utara-atas yang terpusat dan menampilkan penanda lokasiku berbentuk lingkaran. Hal ini sangat berguna di awal perjalanan, untuk membantu pengguna mengorientasikan diri mereka sendiri dengan menyampaikan bahwa perangkat belum memiliki gambaran 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.
  • Mengupdate pemrosesan lokasi untuk memastikannya berfungsi sebagaimana mestinya di Android 8.0 Oreo (API level 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 perekaman peristiwa pengambilan 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 sesudah 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() yang lokasi tidak direset dengan benar.

Versi 1.0 (5 Juli 2017)

  • Peluncuran Navigation SDK.