Gemini, navigasyon uygulamanızın destekleyebileceği üç farklı amaç biçimi kullanır.
Bu sayfada ayrıntılı olarak açıklanan intent filtrelerini uygulamanızın manifestinde belirterek birlikte çalışabilirlik elde edebilir, uygulamanızı ve Gemini'ı entegre edebilirsiniz.
Amaçlar hakkında daha fazla bilgi edinmek için
Intent başlıklı makaleyi inceleyin.
Gemini 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 parametrelerin 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 (örneğin, 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 gitme işlemi başlatılır veya kullanıcıdan birden fazla seçenek arasından seçim yapması istenir.
Manifest amaç filtreleri
Gemini'ın, gezinme uygulamanızın gezinme intent'lerini alabileceğini bilmesi için uygulamanızın manifesto dosyasında aşağıdaki intent biçimini tanımlayın.
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 hedefiyle ilgili sorunu çö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 Square, Bellevue'ye [47.6, -122.2] koordinatlarını kullanarak 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 şekli, kullanıcı tarafından sorguda belirtilen ulaşım yöntemini ifade eder.
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'ın, gezinme uygulamanızın arama intentlerini 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ü olabileceği gibi -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'a, gezinme uygulamanızın özel işlem intent'lerini alabileceğini bildirmek için uygulamanızın manifesto 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, kullanıcının gezinme uygulamasında yerine getirmeye çalıştığı işlem olarak Gemini'ın 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
|
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ştirme | ||
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
|
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
Gemini'ın kullanıcılara seyahat durumlarıyla ilgili soru sorduklarında doğru ve anlık bilgiler 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.