Mengimplementasikan intent aplikasi navigasi

Asisten Google menggunakan tiga format intent berbeda yang dapat didukung aplikasi navigasi Anda. Anda dapat mencapai interoperabilitas dan mengintegrasikan aplikasi dan Asisten Google dengan mendeklarasikan filter intent yang dijelaskan di halaman ini dalam manifes aplikasi. Untuk mempelajari intent lebih lanjut, lihat Intent.

Class Intent aplikasi navigasi Asisten mendukung intent berikut:

  • Intent navigasi
  • Maksud penelusuran
  • Intent tindakan kustom

Aliran data intent

Gambar 1. Aliran data intent.

Parameter dalam data intent

Data intent mengikuti format URI yang berisi parameter berdasarkan intent yang Anda teruskan. Beberapa parameter selalu disediakan dalam data. Artinya, Anda dapat mengharapkannya untuk selalu memiliki nilai eksplisit. Namun, parameter opsional tidak selalu memiliki nilai yang ditetapkan dalam data. Untuk informasi selengkapnya, lihat Pengujian data.

Intent offline

Semua intent yang tercantum di halaman ini memiliki varian offline yang tersedia. Anda dapat membedakannya dengan menambahkan .offline ke skema. Misalnya, intent navigasi menggunakan skema geo.offline. Filter intent ini dalam manifes menunjukkan kemampuan aplikasi untuk mendukung tindakan ini secara offline.

Gunakan intent navigasi untuk memenuhi permintaan pengguna untuk menavigasi ke tujuan tertentu. Tujuan ini dapat berupa satu lokasi (alamat) atau beberapa lokasi (misalnya, kedai kopi dan SPBU). Data intent mengikuti format URI yang ditentukan untuk setiap intent.

Format intent

Class Intent menggunakan format berikut untuk intent aplikasi navigasi:

Kategori: android.intent.category.DEFAULT

Tindakan:

  • Android Auto dan Android Automotive OS: androidx.car.app.action.NAVIGATE
  • Faktor bentuk lainnya: android.intent.action.NAVIGATE

Skema: geo

Contoh:

  • geo:0,0?q=Googleplex
  • geo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stop
  • geo:0,0?q=coffee+shop&mode=w&intent=navigation
  • geo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation

Perilaku aplikasi yang disarankan: Navigasi ke lokasi yang ditentukan dimulai atau pengguna diminta untuk memilih dari beberapa opsi.

Filter intent manifes

Deklarasikan format intent berikut dalam file manifes aplikasi Anda sehingga Asisten Google mengetahui bahwa aplikasi navigasi Anda dapat menerima intent navigasi.

Semua faktor bentuk kecuali Android Auto dan Android Automotive OS:

<intent-filter>
  <action android:name="android.intent.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Android Auto dan Android Automotive OS:

<intent-filter>
  <action android:name="androidx.car.app.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Parameter yang disediakan

Parameter berikut diharapkan tersedia dalam data intent aplikasi navigasi yang disediakan.

Kueri lokasi atau koordinat geografis

Setiap kueri intent navigasi berisi satu atau kedua parameter ini, bergantung pada jenis data yang diminta:

  • Kueri lokasi

    Mengacu pada lokasi yang dituju pengguna. Gunakan data ini untuk me-resolve tujuan pengguna.

    Kunci parameter: q
    Nilai: Tujuan kueri pengguna.

    Contoh: geo:0,0?q=Golden+Gate+Bridge
    Interpretasi: Pengguna ingin membuka Jembatan Golden Gate.

  • Koordinat geografis (lintang dan bujur)

    Mengacu pada koordinat tertentu yang digunakan oleh pengguna untuk navigasi.

    Kunci parameter: geo:lat,long
    Nilai: Koordinat yang dikueri pengguna.

    Contoh: geo:1.1,2.2?mode=w&intent=navigation
    Interpretasi: Pengguna ingin membuka koordinat (1.1, 2.2).

Parameter opsional

Parameter opsional yang disediakan dalam data intent aplikasi navigasi dijelaskan di bagian ini.

Intent

Menentukan intent pengguna. Jika parameter ini tidak ditetapkan, intent pengguna default akan dianggap sebagai navigation.

Kunci parameter: intent
Nilai yang mungkin:

  • navigation [nilai default] - Mengganti tujuan dan memulai navigasi. Gunakan ini untuk kueri seperti navigate to x.
  • add_a_stop - Menambahkan perhentian sebagai tujuan berikutnya beserta tujuan sebelumnya. Gunakan ini untuk kueri seperti tambahkan perhentian di x.
  • directions - Menampilkan rute tanpa memulai navigasi. Gunakan ini untuk kueri seperti rute ke x.

Contoh: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop Interpretasi: Pengguna ingin menambahkan perhentian ke Bellevue Square, Bellevue, dengan koordinat saat ini [47.6, -122.2].

Hindari

Menentukan hal-hal yang harus dihindari dalam navigasi.

Kunci parameter: avoid
Nilai yang mungkin:

  • f - feri
  • h - jalan raya
  • t - tarif tol

Contoh: geo:0,0?q=googleplex&avoid=tf
Interpretasi: Pengguna ingin menavigasi ke Googleplex dengan menghindari jalan tol dan feri.

Mode perjalanan

Mode perjalanan mewakili metode transportasi yang ditentukan dalam kueri oleh pengguna.

Kunci parameter: mode
Nilai yang mungkin:

  • b - sepeda
  • d - drive
  • x - taksi
  • l - kendaraan roda dua
  • r - transit
  • w - berjalan

Contoh: geo:0,0?q=Googleplex&mode=r
Interpretasi: Pengguna ingin menuju Googleplex menggunakan transportasi umum.

Entri

Digunakan untuk mencatat sumber entri.

Nilai yang mungkin: asisten

Contoh: geo:47.61594547836694,-122.20373173098756?entry=assistant

Maksud penelusuran

Gunakan intent penelusuran untuk menelusuri kueri dan menampilkan beberapa hasil di sepanjang rute saat mengemudi.

Format intent

Class Intent menggunakan format berikut untuk intent penelusuran:

Kategori: android.intent.category.DEFAULT

Tindakan: android.intent.action.VIEW

Skema: geo

Contoh: geo:0,0?q=restaurants+nearby

Perilaku aplikasi yang disarankan: Membuka daftar lokasi yang sesuai dengan kueri pengguna.

Filter intent manifes

Deklarasikan format intent berikut dalam file manifes aplikasi Anda sehingga Asisten Google mengetahui bahwa aplikasi navigasi Anda dapat menerima intent penelusuran:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Parameter yang disediakan

Parameter berikut diharapkan tersedia dalam data intent penelusuran yang disediakan.

Kueri lokasi

Kueri lokasi adalah lokasi yang ditelusuri pengguna saat mengemudi. Kueri ini mungkin tidak akurat atau berada di sepanjang rute navigasi aktif.

Kunci parameter: q
Nilai: Istilah penelusuran pengguna, yang dapat berupa jenis lokasi seperti warung kopi atau perguruan tinggi, tetapi juga dapat memiliki kuantifikator seperti -dekat saya atau -dengan rating terbaik.

Contoh: geo:0,0?q=restaurants+nearby
Interpretasi: Pengguna ingin menelusuri restoran di sekitar.

Intent tindakan kustom

Gunakan intent kustom untuk tindakan kustom seperti melaporkan kecelakaan dan mengakhiri navigasi. Jenis tindakan utama ditentukan oleh parameter kueri act. Anda dapat menetapkan parameter tambahan bergantung pada jenis tindakan.

Format intent

Class Intent menggunakan format berikut untuk intent tindakan kustom:

Kategori: android.intent.category.DEFAULT

Tindakan: android.intent.action.VIEW

Skema: geo.action

Contoh: geo.action:?act=report&accident_type=major

Filter intent manifes

Deklarasikan format intent berikut dalam file manifes aplikasi Anda untuk memberi tahu Asisten Google bahwa aplikasi navigasi Anda dapat menerima intent tindakan kustom.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo.action" />
</intent-filter>

Parameter yang disediakan

Parameter berikut diharapkan tersedia dalam data intent Action Kustom yang disediakan:

Jenis tindakan

Ini menentukan jenis tindakan kustom yang ingin dilakukan pengguna.

Kunci parameter: act

Contoh:

  • geo.action:?act=report_crash&accident_type=major
    Interpretasi: Pengguna ingin melaporkan kecelakaan besar.

  • geo.action:?act=mute
    Interpretation: Pengguna ingin membisukan petunjuk suara.

  • geo.action:?act=exit_navigation
    Interpretasi: Pengguna ingin keluar dari navigasi saat ini.

Perilaku aplikasi yang disarankan: Memenuhi tindakan yang diminta di aplikasi navigasi atau menampilkan pesan tindakan yang tidak didukung.

Gambar berikut menggambarkan contoh pasangan nilai kunci dalam kueri respons:

Alur data intent tindakan kustom

Gambar 2. Alur data intent tindakan kustom.

Pasangan nilai kunci:

"act": "report_crash"
"road_direction": other_side"

Setiap tindakan kustom selalu memiliki parameter act sebagai kunci. Dalam kode contoh yang disebutkan di atas, beberapa tindakan dapat memiliki pasangan nilai kunci tambahan. Misalnya, act=report_crash mendukung kunci tambahan ini: accident_type dan road_direction.

Kunci accident_type dapat mendukung dua nilai, minor dan major.

Nilai yang mungkin

Tabel mencantumkan kemungkinan nilai yang dapat diteruskan Asisten Google sebagai tindakan yang coba dipenuhi pengguna di aplikasi navigasi.

Nilai Deskripsi Kunci parameter opsional Nilai parameter opsional
allow_ferries Ubah preferensi rute untuk mengizinkan feri.
allow_highways Ubah preferensi rute untuk mengizinkan jalan raya.
allow_tolls Mengubah preferensi rute untuk mengizinkan tol.
apply_electric_vehicle_connector_filter Hanya tampilkan lokasi pengisian daya kendaraan listrik yang cocok dengan konektor mobil.
apply_electric_vehicle_fast_charging_filter Hanya tampilkan lokasi pengisian daya Kendaraan Listrik Umum yang merupakan pengisi daya cepat.
apply_electric_vehicle_payment_filter Hanya tampilkan lokasi pengisian daya kendaraan listrik yang memerlukan pembayaran.
avoid_ferries Mengubah preferensi rute untuk menghindari feri.
avoid_highways Mengubah preferensi rute untuk menghindari jalan raya.
avoid_tolls Mengubah preferensi rute untuk menghindari jalan tol.
clear_search_results Menghapus hasil penelusuran di peta.
distance_to_destination Menampilkan jarak ke tujuan.
distance_to_next_turn Menampilkan jarak ke belokan berikutnya.
eta Menampilkan PWT ke tujuan.
exit_navigation Keluar atau batalkan navigasi.
follow_mode Mengubah tampilan peta ke mode ikuti.
go_back Kembali ke tindakan peta sebelumnya.
hide_satellite Ubah setelan peta untuk menyembunyikan info satelit.
hide_traffic Ubah setelan peta untuk menyembunyikan info lalu lintas.
mute Bisukan panduan suara.
query_current_road Menampilkan jalan yang sedang dilalui pengguna.
query_destination Tampilkan tujuannya.
query_next_turn Menampilkan belokan berikutnya.
remove_electric_vehicle_connector_filter Hapus pemfilteran untuk lokasi pengisian daya kendaraan listrik yang cocok dengan konektor mobil.
remove_electric_vehicle_fast_charging_filter Menghapus pemfilteran untuk lokasi pengisian daya Kendaraan Listrik Umum yang merupakan pengisi daya cepat.
remove_electric_vehicle_payment_filter Menghapus pemfilteran untuk lokasi pengisian daya kendaraan listrik yang memerlukan pembayaran.
report_crash Melaporkan error. accident_type minor
major
road_direction this_side
other_side
report_hazard Melaporkan bahaya. hazard_type animal
broken_traffic_light
construction
flooding
fog
hail
ice
missing_sign
object_on_road
pothole
roadkill
snow
vehicle
weather
road_direction this_side
other_side
location_on_road on_road
on_shoulder
report_police Melaporkan aktivitas polisi. road_direction this_side
other_side
report_road_closure Melaporkan penutupan jalan. road_closure_type partial
full
report_traffic Melaporkan lalu lintas. traffic_type moderate
heavy
standstill
road_direction this_side
other_side
resume_navigation Melanjutkan navigasi.
route_overview Menampilkan ringkasan rute.
show_alternates Tampilkan rute alternatif.
show_directions_list Menampilkan petunjuk arah belokan demi belokan.
show_satellite Menampilkan info satelit di peta.
show_traffic Menampilkan lalu lintas di peta.
time_to_destination Menampilkan PWT ke tujuan.
time_to_next_turn Menampilkan perkiraan waktu tiba ke belokan berikutnya.
unmute Bunyikan panduan suara.