Catatan Rilis

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 di NavigationView.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 atau Fragment 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 di NavigationView.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 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 (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 peristiwa onLocationChange.

  • 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

Stabilitas dan perbaikan bug

  • 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 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() di RoadSnappedLocationProvider) 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 ke NavigationView.onCreate.

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 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: 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, 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 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 dari onStart langsung ke onStop, dan tindakan ini tidak akan lagi menghasilkan IllegalStateException.

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 (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 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 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 atau NavigationFragment.

Versi 1.3 (7 November 2017)

  • Menambahkan metode onTrimMemory() ke NavigationView. Metode ini harus dipanggil oleh aktivitas yang memuatnya.
  • Navigator.setDestinations() kini 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 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() pada 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(). 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 membuat NavigationView atau NavigationFragment.

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.