Gemini ve Google Asistan, gezinme uygulamanızın destekleyebileceği üç farklı amaç biçimi kullanır.
Uygulamanızın manifest dosyasında bu sayfada ayrıntılı olarak açıklanan intent filtrelerini belirterek birlikte çalışabilirlik elde edebilir ve uygulamanızı Gemini veya Google Asistan ile entegre edebilirsiniz. Amaçlar hakkında daha fazla bilgi edinmek için
Intent başlıklı makaleyi inceleyin.
Gemini veya Google Asistan navigasyon uygulaması Intent sınıfı aşağıdaki amaçları destekler:
- Gezinme amacı
- Arama amacı
- Özel işlem amacı
Şekil 1. Amaç verilerinin 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 nedenle, bu değerlerin her zaman açık bir değere sahip olmasını bekleyebilirsiniz. Ancak isteğe bağlı parametreler için verilerde her zaman bir değer ayarlanmaz. Daha fazla bilgi için Veri testi başlıklı makaleyi inceleyin.
Çevrimdışı intent'ler
Bu sayfada listelenen tüm amaçların çevrimdışı varyantları mevcuttur.
Şemalarına .offline ekleyerek bunları ayırt edebilirsiniz.
Örneğin, gezinme amaçlı sorguda geo.offline şeması kullanılır.
Manifestteki bu amaç filtreleri, uygulamanın bu işlemleri çevrimdışı olarak destekleme özelliğini gösterir.
Gezinme amacı
Kullanıcının belirli bir hedefe gitme isteğini karşılamak için gezinme amaçlı bir niyet kullanın. Bu hedef tek bir konum (adres) veya birden fazla konum (ör. kafeler ve benzin istasyonları) olabilir. Amaç verileri, her amaç için belirtilen bir URI biçimini izler.
Amaç biçimi
Intent sınıfı, gezinme uygulaması amaçlı işlemleri 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=Googleplexgeo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stopgeo:0,0?q=coffee+shop&mode=w&intent=navigationgeo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation
Önerilen uygulama davranışı: Belirtilen konuma navigasyon başlatılır veya kullanıcıdan birden fazla seçenek arasından seçim yapması istenir.
Manifest amaç filtreleri
Gemini veya Google Asistan'ın, navigasyon uygulamanızın navigasyon intent'lerini alabileceğini bilmesi için uygulamanızın manifesto 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
Sağlanan gezinme uygulaması amaç verilerinde aşağıdaki parametrelerin bulunması beklenir.
Konum sorgusu veya coğrafi koordinatlar
Her gezinme amaçlı sorgu, istenen verilerin türüne bağlı olarak bu parametrelerden birini veya her ikisini içerir:
Konum sorgusu
Kullanıcının gitmeye çalıştığı konumu ifade eder. Bu verileri kullanarak kullanıcının hedefini çözün.
Parametre anahtarı:
q
Değer: Kullanıcının sorguladığı hedef.Örnek:
geo:0,0?q=Golden+Gate+Bridge
Yorum: 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 sorguladığı koordinatlar.Örnek:
geo:1.1,2.2?mode=w&intent=navigation
Yorum: Kullanıcı, (1.1, 2.2) koordinatlarına gitmek istiyor.
İsteğe bağlı parametreler
Geçiş uygulaması amaç verilerinde sağlanan isteğe bağlı parametreler bu bölümde açıklanmıştır.
Amaç
Kullanıcı niyetini 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]: Hedefin yerini alır ve navigasyonu başlatır. X'e git gibi sorgular için bunu kullanın.add_a_stop: Durağı, önceki hedeflerle birlikte bir sonraki hedef olarak ekler. x konumuna durak ekle gibi sorgular için bunu kullanın.directions: Navigasyonu başlatmadan rota tariflerini gösterir. Bu işlevi x adresine yol tarifi gibi sorgular için kullanın.
Örnek: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop
Yorum: Kullanıcı, Bellevue, Bellevue Square'e mevcut koordinatlarla [47.6, -122.2] bir durak eklemek istiyor.
Kullanılmasın
Gezinmede kaçınılması gerekenleri tanımlar.
Parametre anahtarı: avoid
Olası değerler:
f- feribotlarh- otoyollart- geçiş ücretleri
Örnek: geo:0,0?q=googleplex&avoid=tf
Yorum: Kullanıcı, Googleplex'e gitmek için ücretli yolları ve feribotları kullanmak istemiyor.
Ulaşım şekli
Seyahat modu, kullanıcının sorguda belirttiği ulaşım yöntemini gösterir.
Parametre anahtarı: mode
Olası değerler:
b- bisikletd- araba ilex- taksil- iki tekerlekli araçr- transitw- yürüme
Örnek: geo:0,0?q=Googleplex&mode=r
Yorum: Kullanıcı, toplu taşıma araçlarını kullanarak Googleplex'e gitmek istiyor.
Giriş
Giriş kaynağını kaydetmek için kullanılır.
Olası değerler: assistant
Örnek: geo:47.61594547836694,-122.20373173098756?entry=assistant
Arama amacı
Bir sorguyu aramak ve sürüş sırasında rota boyunca birden fazla sonuç göstermek için arama amacını kullanın.
Amaç 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 uygun konumların listesini açın.
Manifest amaç filtreleri
Gemini veya Google Asistan'ın, navigasyon uygulamanızın arama intent'lerini 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, kesin olmayabilir veya etkin bir navigasyon rotası üzerinde olabilir.
Parametre anahtarı: q
Değer: Kullanıcının arama terimi. Bu terim, kahve dükkanı veya üniversite gibi bir konum türü olabilir ancak -yakınımda veya -en iyi puanlı gibi niteleyiciler de içerebilir.
Örnek: geo:0,0?q=restaurants+nearby
Yorum: Kullanıcı, yakındaki restoranları aramak istiyor.
Özel işlem amacı
Kaza bildirme ve navigasyonu sonlandırma gibi özel işlemler için özel amaç kullanın. Ana işlem türü, act sorgu parametresiyle tanımlanır.
İşlem türüne bağlı olarak ek parametreler ayarlayabilirsiniz.
Amaç 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 amaç filtreleri
Gemini veya Google Asistan'ın, gezinme uygulamanızın özel işlem intent'leri alabileceğini bilmesi için uygulamanızın manifest dosyasında aşağıdaki intent biçimini tanımlayın.
<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 İşlem amaç 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
Yorum: Kullanıcı, büyük bir kaza bildirmek istiyor.geo.action:?act=mute
Yorum: Kullanıcı, sesli talimatları kapatmak istiyor.geo.action:?act=exit_navigation
Yorumlama: Kullanıcı, mevcut gezinmeden çıkmak istiyor.
Önerilen uygulama davranışı: Gezinme uygulamasında istenen işlemi gerçekleştirin veya desteklenmeyen işlem mesajı gösterin.
Aşağıdaki şekilde, yanıttaki anahtar/değer çiftlerine örnek verilmiştir sorgu:
Şekil 2. Özel işlem amaç verileri akışı.
Anahtar/değer çifti:
"act": "report_crash"
"road_direction": other_side"
Her özel işlemin anahtar olarak her zaman bir act parametresi vardır. Yukarıda belirtilen örnek kodda, bazı işlemlerin ek anahtar/değer çiftleri olabilir.
Örneğin, act=report_crash aşağıdaki ek anahtarları destekler: accident_type ve road_direction.
accident_type anahtarı, minor ve major olmak üzere iki değeri destekleyebilir.
Olası değerler
Tabloda, Gemini veya Google Asistan'ın kullanıcının gezinme uygulamasında gerçekleştirmeye çalıştığı işlem olarak iletebileceği olası değerler listelenir.
| Değer | Açıklama | İsteğe bağlı parametre anahtarları | İsteğe bağlı parametre değerleri |
|---|---|---|---|
allow_ferries
|
Feribotlara izin vermek için rota tercihini değiştirin. | ||
allow_highways
|
Rota tercihini otoyollara izin verecek şekilde değiştirin. | ||
allow_tolls
|
Ücretli geçişlere izin vermek için rota tercihini değiştirin. | ||
avoid_ferries
|
Feribotları kullanmamak için rota tercihini değiştirin. | ||
avoid_highways
|
Otoyolları kullanmamak için rota tercihini değiştirme | ||
avoid_tolls
|
Ücretli geçişlerden kaçınmak için rota tercihini değiştirin. | ||
distance_to_destination
|
Varış noktasına olan mesafeyi gösterir. | ||
distance_to_next_turn
|
Bir sonraki dönüşe olan mesafeyi göster. | ||
eta
|
Varış noktasına TVS'yi göster. | ||
exit_navigation
|
Navigasyondan çıkma veya navigasyonu iptal etme | ||
follow_mode
|
Harita görünümünü takip moduna değiştirin. | ||
go_back
|
Önceki harita işlemine geri dönün. | ||
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ı kapatma | ||
query_current_road
|
Kullanıcının bulunduğu yolu göster. | ||
query_destination
|
Hedefin ne olduğunu göster. | ||
query_next_turn
|
Bir sonraki dönüşün ne olduğunu göster. | ||
report_crash
|
Kilitlenmeleri bildirme | accident_type
|
minor
|
major
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
report_hazard
|
Tehlikeli durumları bildirin. | 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 operasyonlarını bildirin. | road_direction
|
this_side
|
other_side
|
|||
report_road_closure
|
Kapalı yolları bildirin. | road_closure_type
|
partial
|
full
|
|||
report_traffic
|
Trafiği bildirme | traffic_type
|
moderate
|
heavy
|
|||
standstill
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
route_overview
|
Rotaya genel bakışı gösterin. | ||
show_alternates
|
Alternatif rotaları gösterin. | ||
show_directions_list
|
Adım adım talimatları göster. | ||
show_satellite
|
Uydu bilgilerini haritada gösterir. | ||
show_traffic
|
Haritada trafiği gösterin. | ||
time_to_destination
|
Hedefe TVS'yi göster. | ||
time_to_next_turn
|
Bir sonraki dönüşe TVS'yi göster. | ||
unmute
|
Sesli yardımı açın. |
Navigasyon durumunu alma (yalnızca Gemini)
Gemini'ın, kullanıcılara seyahat durumlarıyla ilgili soru sorduklarında doğru ve anlık bilgi vermesini sağlamak için uygulamanızın NavigationManager araba hizmetini kullanarak gezinme meta verileri sağlaması gerekir. Uygulama yönergeleri için Gezinme meta verilerini iletme başlıklı makaleyi inceleyin.