Asystent Google używa 3 różnych formatów intencji, które mogą być obsługiwane przez Twoją aplikację nawigacyjną.
Interoperacyjność i integrację aplikacji z Asystentem Google możesz osiągnąć, deklarując w manifeście aplikacji filtry intencji opisane na tej stronie.
Więcej informacji o intencjach znajdziesz w artykule Intent
.
Klasa aplikacji do nawigacji w Asystencie Intent
obsługuje te intencje:
- Zamiar nawigacji
- Zamiar wyszukiwania
- Niestandardowe działanie
Rysunek 1. Przepływ danych o zamierzeniu.
Parametry w danych o zamiarze
Dane intencji są zgodne z formatem URI zawierającym parametry oparte na przekazywanej przez Ciebie intencji. Niektóre parametry są zawsze podawane w danych. Oznacza to, że możesz oczekiwać, że zawsze będą one zawierać jawną wartość. Opcjonalne parametry nie zawsze mają ustawioną wartość w danych. Więcej informacji znajdziesz w artykule Test danych.
Zamiary offline
Wszystkie intencje wymienione na tej stronie mają dostępne wersje offline.
Możesz je odróżnić, dodając do ich schematu .offline
.
Na przykład intencja nawigacji używa schematu geo.offline
.
Filtry intencji w pliku manifestu wskazują, że aplikacja obsługuje te działania offline.
Zamiar nawigacji
Użyj intencji nawigacyjnej, aby spełnić prośbę użytkownika o przejście do określonego miejsca docelowego. Może to być pojedyncza lokalizacja (adres) lub wiele lokalizacji (np. kawiarnie i stacje benzynowe). Dane intencji są zgodne z formatem URI określonym dla każdej intencji.
Format intencji
Klasa Intent
używa tego formatu intencji aplikacji do nawigacji:
Kategoria: android.intent.category.DEFAULT
Działanie:
- Android Auto i system operacyjny Android Automotive:
androidx.car.app.action.NAVIGATE
- Inne formaty:
android.intent.action.NAVIGATE
Schemat: geo
Przykłady:
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
Proponowane działanie aplikacji: rozpoczyna się nawigacja do określonej lokalizacji lub użytkownik jest proszony o wybranie jednej z kilku opcji.
Filtry intencji w pliku manifestu
Zadeklaruj w pliku manifestu aplikacji ten format inencji, aby Asystent Google wiedział, że Twoja aplikacja do nawigacji może odbierać intencje nawigacyjne.
Wszystkie formaty oprócz Androida Auto i Androida Automotive:
<intent-filter>
<action android:name="android.intent.action.NAVIGATE" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
Android Auto i system operacyjny Android Automotive:
<intent-filter>
<action android:name="androidx.car.app.action.NAVIGATE" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
Dostarczone parametry
W dostarczonych danych o intencji aplikacji do nawigacji powinny być dostępne te parametry:
zapytanie o lokalizację lub współrzędne geograficzne;
Każde zapytanie o intencję nawigacyjną zawiera jeden lub oba te parametry w zależności od typu żądanych danych:
Zapytanie o lokalizację
Odnosi się do lokalizacji, do której użytkownik chce się udać. Użyj tych danych, aby określić miejsce docelowe użytkownika.
Klucz parametru:
q
Wartość: miejsce docelowe zapytanego przez użytkownika.Przykład:
geo:0,0?q=Golden+Gate+Bridge
Interpretacja: użytkownik chce się udać na Golden Gate Bridge.Współrzędne geograficzne (szerokość i długość geograficzna)
Odnosi się do konkretnych współrzędnych używanych przez użytkownika do nawigacji.
Klucz parametru:
geo:lat,long
Wartość: zapytane współrzędne użytkownika.Przykład:
geo:1.1,2.2?mode=w&intent=navigation
Interpretacja: użytkownik chce przejść do współrzędnych (1.1, 2.2).
Parametry opcjonalne
W tej sekcji opisano opcjonalne parametry podawane w danych o intencji korzystania z aplikacji do nawigacji.
Zamiar
Określa zamiar użytkownika. Jeśli ten parametr nie jest określony, domyślnym zamiarem użytkownika jest navigation
.
Klucz parametru: intent
Możliwe wartości:
navigation
[wartość domyślna] – zastępuje miejsce docelowe i uruchamia nawigację. Użyj tego w przypadku zapytań takich jak przejdź do x.add_a_stop
– dodaje przystanek jako następne miejsce docelowe wraz z poprzednimi miejscami docelowymi. Użyj tego w przypadku zapytań takich jak add a stop at x.directions
– wyświetla wskazówki dojazdu bez uruchamiania nawigacji. Użyj tego adresu, aby uzyskać odpowiedzi na pytania w rodzaju jak dojechać do X.
Przykład: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop
Interpretacja: użytkownik chce dodać przystanek na Bellevue Square w Bellevue o współrzędnych [47.6, -122.2].
Unikaj
Określa elementy, których należy unikać w nawigacji.
Klucz parametru: avoid
Możliwe wartości:
f
– promyh
– autostradyt
opłaty
Przykład: geo:0,0?q=googleplex&avoid=tf
Interpretacja: użytkownik chce dojechać do Googleplex, unikając opłat i promów.
Tryb podróży
Tryb podróży to środek transportu określony w zapytaniu przez użytkownika.
Klucz parametru: mode
Możliwe wartości:
b
– rowerd
– dyskx
– taksówkal
– motocykl dwukołowyr
– transportw
– pieszo
Przykład: geo:0,0?q=Googleplex&mode=r
Interpretacja: użytkownik chce dostać się do Googleplex komunikacją publiczną.
Wpis
Służy do rejestrowania źródła danych.
Możliwe wartości: asystent
Przykład: geo:47.61594547836694,-122.20373173098756?entry=assistant
Zamiar wyszukiwania
Używaj intencji wyszukiwania, aby wyszukiwać zapytania i wyświetlać wiele wyników na trasie podczas jazdy.
Format intencji
Klasa Intent
używa tego formatu intencji wyszukiwania:
Kategoria: android.intent.category.DEFAULT
Działanie: android.intent.action.VIEW
Schemat: geo
Przykład: geo:0,0?q=restaurants+nearby
Sugerowane działanie aplikacji: otwiera listę lokalizacji pasujących do zapytania użytkownika.
Filtry intencji w pliku manifestu
Zadeklaruj w pliku manifestu aplikacji ten format intencji, aby Asystent Google wiedział, że Twoja aplikacja do nawigacji może odbierać intencje wyszukiwania:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
Dostarczone parametry
W dostarczonych danych o intencjach wyszukiwania powinny być dostępne te parametry:
Zapytanie o lokalizację
Zapytanie o lokalizację to lokalizacja, której szuka użytkownik podczas jazdy. To zapytanie może być nieprecyzyjne lub dotyczyć aktywnej trasy nawigacyjnej.
Klucz parametru: q
Wartość: wyszukiwane hasło użytkownika, które może być typem lokalizacji, np. kawiarnia lub szkoła, ale może też zawierać modyfikatory, np. -blisko mnie lub -najlepiej ocenione.
Przykład: geo:0,0?q=restaurants+nearby
Interpretacja: użytkownik chce wyszukać restauracje w pobliżu.
Niestandardowe działanie
Używaj niestandardowych intencji do wykonywania niestandardowych działań, takich jak zgłaszanie wypadków i zatrzymywanie nawigacji. Główny typ działania jest definiowany przez parametr zapytania act
.
W zależności od typu działania możesz ustawić dodatkowe parametry.
Format intencji
Klasa Intent
używa tego formatu zamiaru działania niestandardowego:
Kategoria: android.intent.category.DEFAULT
Działanie: android.intent.action.VIEW
Schemat: geo.action
Przykład: geo.action:?act=report&accident_type=major
Filtry intencji w pliku manifestu
Zadeklaruj w pliku manifestu aplikacji ten format intencji, aby poinformować Asystenta Google, że Twoja aplikacja do nawigacji może odbierać niestandardowe intencje działania.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo.action" />
</intent-filter>
Dostarczone parametry
W dostarczonych danych o intencji działania aplikacji niestandardowej powinny być dostępne te parametry:
Typ działania
Określa on typ działania niestandardowego, które użytkownik chce wykonać.
Klucz parametru: act
Przykłady:
geo.action:?act=report_crash&accident_type=major
Interpretacja: użytkownik chce zgłosić poważny wypadek.geo.action:?act=mute
Interpretacja: użytkownik chce wyciszyć wskazówki głosowe.geo.action:?act=exit_navigation
Interpretacja: użytkownik chce zamknąć bieżącą stronę.
Sugerowane działanie aplikacji: wykonaj wymagane działanie w aplikacji do nawigacji lub wyświetl komunikat o nieobsługiwanym działaniu.
Na rysunku poniżej widać przykład par klucz-wartość w zapytaniu odpowiedzi:
Rysunek 2. Przepływ danych dotyczących intencji działań niestandardowych.
Para klucz-wartość:
"act": "report_crash"
"road_direction": other_side"
Każda niestandardowa czynność ma jako klucz parametr act
. W przytoczonym przykładowym kodzie niektóre działania mogą mieć dodatkowe pary klucz-wartość.
Na przykład act=report_crash
obsługuje te dodatkowe klucze: accident_type
i road_direction
.
Klucz accident_type
może mieć 2 wartości: minor
i major
.
Możliwe wartości
Tabela zawiera możliwe wartości, które Asystent Google może przekazać jako działanie, które użytkownik chce wykonać w aplikacji do nawigacji.
Wartość | Opis | Opcjonalne klucze parametrów | Opcjonalne wartości parametrów |
---|---|---|---|
allow_ferries
|
Zmień ustawienie trasy, aby zezwalać na promy. | ||
allow_highways
|
Zmień preferencję trasy, aby zezwalać na autostrady. | ||
allow_tolls
|
Zmień preferencję trasy, aby zezwalać na opłaty drogowe. | ||
apply_electric_vehicle_connector_filter
|
Wyświetlaj tylko lokalizacje stacji ładowania pojazdów elektrycznych, które pasują do wtyczki samochodu. | ||
apply_electric_vehicle_fast_charging_filter
|
Wyświetlaj tylko lokalizacje stacji ładowania EV, które są szybkimi ładowarkami. | ||
apply_electric_vehicle_payment_filter
|
Wyświetlaj tylko stacje ładowania EV, które wymagają płatności. | ||
avoid_ferries
|
Zmień ustawienie trasy, aby uniknąć promów. | ||
avoid_highways
|
Zmień ustawienie trasy, aby unikać autostrad. | ||
avoid_tolls
|
Zmień ustawienie trasy, aby uniknąć opłat. | ||
clear_search_results
|
Wyczyść wyniki wyszukiwania na mapie. | ||
distance_to_destination
|
Pokaż odległość do miejsca docelowego. | ||
distance_to_next_turn
|
wyświetlanie odległości do następnego zakrętu; | ||
eta
|
Pokaż szacowany czas dotarcia do miejsca docelowego. | ||
exit_navigation
|
Zakończ lub anuluj nawigację. | ||
follow_mode
|
Zmień widok mapy na tryb śledzenia. | ||
go_back
|
Wróć do poprzedniej czynności na mapie. | ||
hide_satellite
|
Zmień ustawienia mapy, aby ukryć informacje satelitarne. | ||
hide_traffic
|
Zmień ustawienie mapy, aby ukryć informacje o natężeniu ruchu. | ||
mute
|
Wycisz wskazówki głosowe. | ||
query_current_road
|
Pokaż, na jakiej drodze aktualnie znajduje się użytkownik. | ||
query_destination
|
Pokaż miejsce docelowe. | ||
query_next_turn
|
Pokaż, co jest następne. | ||
remove_electric_vehicle_connector_filter
|
Usuń filtrowanie lokalizacji stacji ładowania EV, które pasują do wtyczki samochodu. | ||
remove_electric_vehicle_fast_charging_filter
|
Usuń filtrowanie lokalizacji stacji ładowania EV, które są szybkimi ładowarkami. | ||
remove_electric_vehicle_payment_filter
|
Usuń filtrowanie lokalizacji stacji ładowania EV, które wymagają płatności. | ||
report_crash
|
zgłaszać wypadki; | accident_type
|
minor
|
major
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
report_hazard
|
zgłaszać zagrożenia. | 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
|
zgłaszać działania policji. | road_direction
|
this_side
|
other_side
|
|||
report_road_closure
|
zgłaszać zamknięcia dróg; | road_closure_type
|
partial
|
full
|
|||
report_traffic
|
zgłaszać natężenie ruchu; | traffic_type
|
moderate
|
heavy
|
|||
standstill
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
resume_navigation
|
Wznów nawigację. | ||
route_overview
|
Wyświetl opis trasy. | ||
show_alternates
|
wyświetlać alternatywne trasy. | ||
show_directions_list
|
Wyświetl szczegółowe wskazówki dojazdu. | ||
show_satellite
|
wyświetlać informacje satelitarne na mapie. | ||
show_traffic
|
pokazywać natężenie ruchu na mapie; | ||
time_to_destination
|
Pokaż szacowany czas dotarcia do miejsca docelowego. | ||
time_to_next_turn
|
Wyświetlanie czasu do następnego skrętu. | ||
unmute
|
Włącz wskazówki głosowe. |