Navigasyon uygulaması intent'lerini uygulama

Google Asistan, navigasyon uygulamanızın destekleyebileceği üç farklı intent biçimi kullanır. Bu sayfada ayrıntılı olarak açıklanan intent filtrelerini uygulamanızın manifest dosyasında tanımlayarak birlikte çalışabilirlik elde edebilir ve uygulamanızı Google Asistan ile entegre edebilirsiniz. Amaçlar hakkında daha fazla bilgi edinmek için Intent başlıklı makaleyi inceleyin.

Asistan navigasyon uygulaması Intent sınıfı aşağıdaki intent'leri destekler:

  • Gezinme amacı
  • Arama amacı
  • Özel işlem amacı

Intent veri akışı

Şekil 1. Intent veri akışı.

Niyet verilerindeki parametreler

Intent verileri, ilettiğiniz intent'e dayalı parametreler içeren bir URI biçimini izler. Bazı parametreler her zaman verilerde sağlanır. Bu, her zaman açık bir değere sahip olmalarını bekleyebileceğiniz anlamına gelir. Ancak isteğe bağlı parametreler, verilerde her zaman bir değere sahip değildir. Daha fazla bilgi için Veri testi başlıklı makaleyi inceleyin.

Çevrimdışı intent'ler

Bu sayfada listelenen tüm intent'lerin çevrimdışı varyantları mevcuttur. Bunları, şemasına .offline ekleyerek ayırt edebilirsiniz. Örneğin, gezinme amacı geo.offline şemasını kullanır. Manifest'teki bu intent filtreleri, uygulamanın bu işlemleri çevrimdışı olarak destekleme yeteneğini gösterir.

Kullanıcının belirli bir hedefe gitme isteğini yerine getirmek için gezinme amacı kullanın. Bu hedef tek bir konum (adres) veya birden fazla konum (ör. kafeler ve benzin istasyonları) olabilir. Intent verileri, her intent için belirtilen bir URI biçimini izler.

Intent biçimi

Intent sınıfı, navigasyon uygulaması amacı için aşağıdaki biçimi kullanır:

Kategori: android.intent.category.DEFAULT

İşlem:

  • Android Auto ve Android Automotive OS: androidx.car.app.action.NAVIGATE
  • Diğer form faktörleri: android.intent.action.NAVIGATE

Şema: geo

Örnekler:

  • 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

Önerilen uygulama davranışı: Belirtilen konuma gitme işlemi başlar veya kullanıcıdan birden fazla seçenek arasından seçim yapması istenir.

Manifest intent filtreleri

Google Asistan'ın, navigasyon uygulamanızın navigasyon intent'leri alabileceğini bilmesi için uygulamanızın manifest dosyasında aşağıdaki intent biçimini beyan edin.

Android Auto ve Android Automotive OS hariç tüm form faktörleri:

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

Android Auto ve 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>

Sağlanan parametreler

Aşağıdaki parametrelerin, sağlanan gezinme uygulaması intent verilerinde mevcut olması beklenir.

Konum sorgusu veya coğrafi koordinatlar

Her gezinme amacı sorgusu, istenen veri türüne bağlı olarak aşağıdaki parametrelerden birini veya ikisini içerir:

  • Konum sorgusu

    Kullanıcının gitmeye çalıştığı konumu ifade eder. Kullanıcının hedefini çözmek için bu verileri kullanın.

    Parametre anahtarı: q
    Değer: Kullanıcının sorguladığı hedef.

    Örnek: geo:0,0?q=Golden+Gate+Bridge
    Açıklama: Kullanıcı Golden Gate Köprüsü'ne gitmek istiyor.

  • Coğrafi koordinatlar (enlem ve boylam)

    Kullanıcının gezinme için kullandığı belirli koordinatları ifade eder.

    Parametre anahtarı: geo:lat,long
    Değer: Kullanıcının sorgulanan koordinatları.

    Örnek: geo:1.1,2.2?mode=w&intent=navigation
    Açıklama: Kullanıcı (1.1, 2.2) koordinatlarına gitmek istiyor.

İsteğe bağlı parametreler

Navigasyon uygulaması intent verilerinde sağlanan isteğe bağlı parametreler bu bölümde açıklanmıştır.

Amaç

Kullanıcı amacını tanımlar. Bu parametre ayarlanmazsa varsayılan kullanıcı amacı navigation olarak kabul edilir.

Parametre anahtarı: intent
Olası değerler:

  • navigation [varsayılan değer] - Hedefi değiştirir ve navigasyonu başlatır. x'e git gibi sorgular için bunu kullanın.
  • add_a_stop: Durak, önceki hedeflerle birlikte bir sonraki hedef olarak eklenir. x noktasına durak ekle gibi sorgular için bunu kullanın.
  • directions: Navigasyonu başlatmadan rota yol tariflerini gösterir. x'e giden yol tarifi gibi sorgular için bu özelliği kullanın.

Örnek: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop Açıklama: Kullanıcı, Bellevue Square, Bellevue'a [47,6; -122,2] koordinatlarıyla bir durak eklemek istiyor.

Kullanılmasın

Gezinme sırasında kaçınılması gerekenleri tanımlar.

Parametre anahtarı: avoid
Olası değerler:

  • f - feribotlar
  • h - otoyollar
  • t - geçiş ücretleri

Örnek: geo:0,0?q=googleplex&avoid=tf
Açıklama: Kullanıcı, geçiş ücretlerinden ve feribotlardan kaçınarak Googleplex'e gitmek istiyor.

Ulaşım şekli

Seyahat şekli, kullanıcı tarafından sorguda belirtilen ulaşım şeklini temsil eder.

Parametre anahtarı: mode
Olası değerler:

  • b - bisiklet
  • d - sürüş
  • x - taksi
  • l - iki tekerlekli araç
  • r - toplu taşıma
  • w - yürüyüş

Örnek: geo:0,0?q=Googleplex&mode=r
Açıklama: Kullanıcı, toplu taşımayı kullanarak Googleplex'e gitmek istiyor.

Giriş

Giriş kaynağını günlüğe kaydetmek için kullanılır.

Olası değerler: asistan

Örnek: geo:47.61594547836694,-122.20373173098756?entry=assistant

Arama amacı

Bir sorgu aramak ve sürüş sırasında rota üzerinde birden fazla sonuç görüntülemek için arama amacı kullanın.

Intent biçimi

Intent sınıfı, arama amaçları için aşağıdaki biçimi kullanır:

Kategori: android.intent.category.DEFAULT

İşlem: android.intent.action.VIEW

Şema: geo

Örnek: geo:0,0?q=restaurants+nearby

Önerilen uygulama davranışı: Kullanıcı sorgusuna uyan konumların listesini açın.

ACTION_VIEW

Manifest intent filtreleri

Google Asistan'ın, navigasyon uygulamanızın arama intent'leri alabileceğini bilmesi için uygulamanızın manifest dosyasında aşağıdaki intent biçimini beyan edin:

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

Sağlanan parametreler

Sağlanan arama amacı verilerinde aşağıdaki parametrelerin bulunması beklenir.

Konum sorgusu

Konum sorgusu, kullanıcının sürüş sırasında aradığı konumdur. Bu sorgu, tam olarak doğru olmayabilir veya etkin bir gezinme rotası boyunca olabilir.

Parametre anahtarı: q
Değer: Kullanıcının arama terimi. Bu terim, kahve dükkanı veya üniversite gibi bir yer türü olabilir ancak -yakınımda veya -en iyi puana sahip gibi nicelik belirteçleri de içerebilir.

Örnek: geo:0,0?q=restaurants+nearby
Açıklama: Kullanıcı, yakındaki restoranları aramak istiyor.

Özel işlem amacı

Kazaları bildirme ve navigasyonu sonlandırma gibi özel işlemler için özel intent kullanın. Ana işlem türü, act sorgu parametresi tarafından tanımlanır. İşlem türüne bağlı olarak ek parametreler ayarlayabilirsiniz.

Intent biçimi

Intent sınıfı, özel işlem amacı için aşağıdaki biçimi kullanır:

Kategori: android.intent.category.DEFAULT

İşlem: android.intent.action.VIEW

Şema: geo.action

Örnek: geo.action:?act=report&accident_type=major

Manifest intent filtreleri

Google Asistan'a navigasyon uygulamanızın özel işlem intent'leri alabileceğini bildirmek için uygulamanızın manifest dosyasında aşağıdaki intent biçimini beyan edin.

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

Sağlanan parametreler

Sağlanan özel işlem intent verilerinde aşağıdaki parametrelerin bulunması beklenir:

İşlem türü

Kullanıcının gerçekleştirmek istediği özel işlem türünü tanımlar.

Parametre anahtarı: act

Örnekler:

  • geo.action:?act=report_crash&accident_type=major
    Açıklama: Kullanıcı büyük bir kazayı bildirmek istiyor.

  • geo.action:?act=mute
    Açıklama: Kullanıcı, sesli talimatları kapatmak istiyor.

  • geo.action:?act=exit_navigation
    Açıklama: Kullanıcı, mevcut gezinmeden çıkmak istiyor.

Önerilen uygulama davranışı: Navigasyon uygulamasında istenen işlemi yerine getirin veya desteklenmeyen işlem mesajı gösterin.

Aşağıdaki şekilde, yanıt sorgusundaki anahtar/değer çiftlerine örnek verilmiştir:

Özel işlem amacı veri akışı

Şekil 2. Özel işlem amacı veri akışı.

Anahtar/değer çifti:

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

Her özel işlemde anahtar olarak her zaman bir act parametresi bulunur. Yukarıdaki örnek kodda bazı işlemler ek anahtar/değer çiftlerine sahip olabilir. Örneğin, act=report_crash şu ek anahtarları destekler: accident_type ve road_direction.

accident_type anahtarı minor ve major olmak üzere iki değeri destekleyebilir.

Olası değerler

Tabloda, Google Asistan'ın kullanıcının navigasyon uygulamasında gerçekleştirmeye çalıştığı işlem olarak iletebileceği olası değerler listelenmektedir.

Değer Açıklama İsteğe bağlı parametre anahtarları İsteğe bağlı parametre değerleri
allow_ferries Rota tercihini, feribotlara izin verecek şekilde değiştirin.
allow_highways Rota tercihini, otoyollara izin verecek şekilde değiştirin.
allow_tolls Rota tercihini, otoyol geçiş ücretlerine izin verecek şekilde değiştirin.
apply_electric_vehicle_connector_filter Yalnızca aracın konnektörüyle eşleşen elektrikli araç şarj konumlarını gösterin.
apply_electric_vehicle_fast_charging_filter Yalnızca hızlı şarj cihazı olan elektrikli araç şarj noktalarını gösterin.
apply_electric_vehicle_payment_filter Yalnızca ödeme gerektiren elektrikli araç şarj noktalarını gösterin.
avoid_ferries Feribotlardan kaçınmak için rota tercihini değiştirin.
avoid_highways Otoyolları kullanmaktan kaçınmak için rota tercihini değiştirin.
avoid_tolls Ücretli geçişlerden kaçınmak için rota tercihini değiştirin.
clear_search_results Haritada arama sonuçlarını temizleyin.
distance_to_destination Hedefe olan mesafeyi gösterir.
distance_to_next_turn Bir sonraki dönemeç arasındaki mesafeyi gösterir.
eta Hedefe varış tahmini süresini gösterin.
exit_navigation Navigasyondan çıkın veya navigasyonu iptal edin.
follow_mode Harita görünümünü takip moduna değiştirin.
go_back Önceki harita işlemine geri dönme.
hide_satellite Uydu bilgilerini gizlemek için harita ayarını değiştirin.
hide_traffic Trafik bilgilerini gizlemek için harita ayarını değiştirin.
mute Sesli yardımı kapatın.
query_current_road Kullanıcının şu anda bulunduğu yolu gösterin.
query_destination Hedefin ne olduğunu gösterin.
query_next_turn Sonraki hamleyi gösterin.
remove_electric_vehicle_connector_filter Aracın konnektörüyle eşleşen elektrikli araç şarj konumları için filtrelemeyi kaldırın.
remove_electric_vehicle_fast_charging_filter Hızlı şarj istasyonu olan elektrikli araç şarjı konumları için filtrelemeyi kaldırın.
remove_electric_vehicle_payment_filter Ödeme gerektiren elektrikli araç şarj istasyonları için filtrelemeyi kaldırın.
report_crash Kilitlenmeleri bildirme accident_type minor
major
road_direction this_side
other_side
report_hazard Tehlikeleri bildirme 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 Polis operasyonunu bildirme road_direction this_side
other_side
report_road_closure Kapalı yolları bildirme road_closure_type partial
full
report_traffic Trafik durumunu bildirme traffic_type moderate
heavy
standstill
road_direction this_side
other_side
resume_navigation Navigasyonu devam ettirin.
route_overview Rotaya genel bakışı gösterin.
show_alternates Alternatif rotaları gösterin.
show_directions_list Adım adım yol tariflerini gösterin.
show_satellite Uydu bilgilerini haritada gösterin.
show_traffic Trafiği haritada gösterin.
time_to_destination Hedefe varış tahmini süresini gösterin.
time_to_next_turn Sonraki döneme kadar tahmini varış saatini göster.
unmute Sesli yardımın sesini açın.