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=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
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– autostradytopł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. |