Google 어시스턴트는 내비게이션 앱에서 지원할 수 있는 세 가지 인텐트 형식을 사용합니다.
앱의 매니페스트에서 이 페이지에 설명된 인텐트 필터를 선언하여 상호 운용성을 달성하고 앱과 Google 어시스턴트를 통합할 수 있습니다.
인텐트에 관한 자세한 내용은 Intent를 참고하세요.
어시스턴트 탐색 앱 Intent 클래스는 다음 인텐트를 지원합니다.
- 내비게이션 인텐트
- 검색 의도
- 맞춤 작업 인텐트
그림 1. 인텐트 데이터 흐름
인텐트 데이터의 매개변수
인텐트 데이터는 전달하는 인텐트를 기��으로 매개변수가 포함된 URI 형식을 따릅니다. 일부 매개변수는 항상 데이터에 제공됩니다. 즉, 항상 명시적인 값을 가질 것으로 예상할 수 있습니다. 그러나 선택적 매개변수에는 데이터에 값이 설정되어 있지 않을 수도 있습니다. 자세한 내용은 데이터 테스트를 참고하세요.
오프라인 인텐트
이 페이지에 나열된 모든 인텐트에는 오프라인 변형이 있습니다.
스키마에 .offline를 추가하여 구분할 수 있습니다.
예를 들어 내비게이션 인텐트는 geo.offline 스키마를 사용합니다.
매니페스트의 이러한 인텐트 필터는 앱이 이러한 작업을 오프라인에서 지원할 수 있음을 나타냅니다.
내비게이션 인텐트
탐색 인텐트를 사용하여 특정 대상으로 이동하라는 사용자의 요청을 처리합니다. 이 대상은 단일 위치 (주소) 또는 여러 위치 (예: 커피숍 및 주유소)일 수 있습니다. 인텐트 데이터는 각 인텐트에 지정된 URI 형식을 따릅니다.
인텐트 형식
Intent 클래스는 다음 형식을 사용하여 내비게이션 앱 인텐트를 사용합니다.
카테고리: android.intent.category.DEFAULT
조치:
- Android Auto 및 Android Automotive OS:
androidx.car.app.action.NAVIGATE - 기타 폼 팩터:
android.intent.action.NAVIGATE
스키마: geo
예:
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
추천 앱 동작: 지정된 위치로의 내비게이션이 시작되거나 사용자에게 여러 옵션 중에서 선택하라는 메시지가 표시됩니다.
매니페스트 인텐트 필터
Google 어시스턴트가 내비게이션 앱이 내비게이션 인텐트를 수신할 수 있음을 알 수 있도록 앱의 매니페스트 파일에서 다음 인텐트 형식을 선언합니다.
Android Auto 및 Android Automotive OS를 제외한 모든 폼 팩터:
<intent-filter>
<action android:name="android.intent.action.NAVIGATE" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
Android Auto 및 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>
제공된 매개변수
다음 매개변수는 제공된 내비게이션 앱 인텐트 데이터에서 사용할 수 있습니다.
위치 쿼리 또는 지리적 좌표
모든 탐색 인텐트 쿼리에는 요청된 데이터 유형에 따라 다음 매개변수 중 하나 또는 둘 다 포함됩니다.
위치 쿼리
사용자가 이동하려는 위치를 나타냅니다. 이 데이터를 사용하여 사용자의 대상을 확인합니다.
매개변수 키:
q
값: 사용자가 쿼리한 대상입니다.예:
geo:0,0?q=Golden+Gate+Bridge
해석: 사용자가 서해대교로 이동하려고 합니다.지리적 좌표 (위도 및 경도)
사용자가 탐색에 사용하는 특정 좌표를 나타냅니다.
매개변수 키:
geo:lat,long
값: 사용자가 쿼리한 좌표입니다.예:
geo:1.1,2.2?mode=w&intent=navigation
해석: 사용자가 좌표 (1.1, 2.2)로 이동하려고 합니다.
선택적 매개변수
내비게이션 앱 인텐트 데이터에 제공되는 선택적 매개변수는 이 섹션에 설명되어 있습니다.
인텐트
사용자 의도를 정의합니다. 이 매개변수를 설정하지 않으면 기본 사용자 인텐트가 navigation로 간주됩니다.
매개변수 키: intent
사용 가능한 값:
navigation[기본값] - 대상을 대체하고 탐색을 시작합니다. x로 이동과 같은 쿼리에 사용합니다.add_a_stop- 정류장을 이전 목적지와 함께 다음 목적지로 추가합니다. x에 정류장 추가와 같은 검색어에 사용합니다.directions- 내비게이션을 시작하지 않고 경로 안내를 표시합니다. x까지의 경로와 같은 검색어에 사용합니다.
예: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop
해석: 사용자가 현재 좌표 [47.6, -122.2]를 사용하여 Bellevue Square, Bellevue에 정류장을 추가하려고 합니다.
제외
탐색에서 피해야 할 항목을 정의합니다.
매개변수 키: avoid
사용 가능한 값:
f- 페리- 고속도로
h t- 통행료
예: geo:0,0?q=googleplex&avoid=tf
해석: 사용자가 통행료와 페리를 피하면서 Googleplex로 이동하려고 합니다.
이동수단
이동 모드는 사용자가 쿼리에서 지정한 교통수단을 나타냅니다.
매개변수 키: mode
사용 가능한 값:
b- 자전거d- drivex- 택시l- 오토바이r- 대중교통 이용w- 걷기
예: geo:0,0?q=Googleplex&mode=r
해석: 사용자가 대중교통을 이용해 Googleplex로 이동하려고 합니다.
항목
항목 소스를 기���하는 데 사용됩니다.
가능한 값: 어시스턴트
예: geo:47.61594547836694,-122.20373173098756?entry=assistant
검색 의도
검색 의도를 사용하여 검색어를 검색하고 운전 중 경로를 따라 여러 결과를 표시합니다.
인텐트 형식
Intent 클래스는 검색 인텐트에 다음 형식을 사용��니다.
카테고리: android.intent.category.DEFAULT
작업: android.intent.action.VIEW
스키마: geo
예: geo:0,0?q=restaurants+nearby
추천 앱 동작: 사용자 검색어에 적합한 위치 목록을 엽니다.
매니페스트 인텐트 필터
Google 어시스턴트가 내비게이션 앱이 검색 인텐트를 수신할 수 있음을 알 수 있도록 앱의 매니페스트 파일에서 다음 인텐트 형식을 선언합니다.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
제공된 매개변수
제공된 검색 의도 데이터에서 다음 매개변수를 사용할 수 있습니다.
위치 쿼리
위치 쿼리는 사용자가 운전 중 검색하는 위치입니다. 이 쿼리는 부정확하거나 활성 내비게이션 경로를 따라갈 수 있습니다.
매개변수 키: q
값: 사용자의 검색어입니다. 커피숍 또는 대학과 같은 위치 유형일 수 있지만 -near me 또는 -with best rating과 같은 수량 표현이 포함될 수도 있습니다.
예: geo:0,0?q=restaurants+nearby
해석: 사용자가 근처 음식점을 검색하려고 합니다.
맞춤 작업 인텐트
사고 신고 및 내비게이션 종료와 같은 맞춤 작업에 맞춤 인텐트를 사용합니다. 기본 작업 유형은 act 쿼리 매개변수로 정의됩니다.
액션 유형에 따라 추가 매개변수를 설정할 수 있습니다.
인텐트 형식
Intent 클래스는 맞춤 작업 인텐트에 다음 형식을 사용합니다.
카테고리: android.intent.category.DEFAULT
작업: android.intent.action.VIEW
스키마: geo.action
예: geo.action:?act=report&accident_type=major
매니페스트 인텐트 필터
앱의 매니페스트 파일에서 다음 인텐트 형식을 선언하여 내비게이션 앱이 맞춤 작업 인텐트를 수신할 수 있음을 Google 어시스턴트에 알립니다.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo.action" />
</intent-filter>
제공된 매개변수
제공된 맞춤 작업 인텐트 데이터에서 다음 매개변수를 사용할 수 있습니다.
작업 유형
사용자가 실행하려는 맞춤 작업의 유형을 정의합니다.
매개변수 키: act
예:
geo.action:?act=report_crash&accident_type=major
해석: 사용자가 심각한 사고를 신고하려고 합니다.geo.action:?act=mute
해석: 사용자가 음성 안내를 음소거하려고 합니다.geo.action:?act=exit_navigation
해석: 사용자가 현재 탐색을 종료하려고 합니다.
추천 앱 동작: 내비게이션 앱에서 요청된 작업을 실행하거나 지원되지 않는 작업 메시지를 표시합니다.
다음 그림은 응답 쿼리의 키-값 쌍의 예를 보여줍니다.
그림 2. 맞춤 작업 인텐트 데이터 흐름
키-값 쌍:
"act": "report_crash"
"road_direction": other_side"
모든 맞춤 작업에는 항상 act 매개변수가 키로 사용됩니다. 위의 예시 코드에서 일부 작업에는 추가 키-값 쌍이 있을 수 있습니다.
예를 들어 act=report_crash는 accident_type 및 road_direction 키를 추가로 지원합니다.
키 accident_type는 minor 및 major라는 두 가지 값을 지원할 수 있습니다.
가능한 값
이 표에는 Google 어시스턴트가 사용자가 내비게이션 앱에서 수행하려는 작업으로 전달할 수 있는 값이 나와 있습니다.
| 값 | 설명 | 선택적 매개변수 키 | 선택적 매개변수 값 |
|---|---|---|---|
allow_ferries
|
페리를 허용하도록 경로 환경설정을 변경합니다. | ||
allow_highways
|
고속도로를 허용하도록 경로 환경설정을 변경합니다. | ||
allow_tolls
|
통행료를 허용하도록 경로 환경설정을 변경합니다. | ||
apply_electric_vehicle_connector_filter
|
차량의 커넥터와 일치하는 전기자동차 충전소만 표시합니다. | ||
apply_electric_vehicle_fast_charging_filter
|
급속 충전소인 전기자동차 충전소만 표시합니다. | ||
apply_electric_vehicle_payment_filter
|
요금이 청구되는 전기자동차 충전소만 표시합니다. | ||
avoid_ferries
|
페리를 피하도록 경로 환경설정을 변경합니다. | ||
avoid_highways
|
고속도로를 피하도록 경로 환경설정을 변경합니다. | ||
avoid_tolls
|
통행료를 피하도록 경로 환경설정을 변경합니다. | ||
clear_search_results
|
지도에서 검색 결과를 지웁니다. | ||
distance_to_destination
|
목적지까지의 거리를 표시합니다. | ||
distance_to_next_turn
|
다음 회전까지의 거리를 표시합니다. | ||
eta
|
목적지까지의 도착 예정 시간을 표시합니다. | ||
exit_navigation
|
내비게이션을 종료하거나 취소합니다. | ||
follow_mode
|
지도 보기를 따라 모드로 변경합니다. | ||
go_back
|
이전 지도 작업으로 돌아갑니다. | ||
hide_satellite
|
지도 설정을 변경하여 위성 정보를 숨깁니다. | ||
hide_traffic
|
지도 설정을 변경하여 교통정보를 숨깁니다. | ||
mute
|
음성 안내를 음소거합니다. | ||
query_current_road
|
사용자가 현재 있는 도로를 표시합니다. | ||
query_destination
|
도착지가 무엇인지 보여줍니다. | ||
query_next_turn
|
다음 회전 구간을 표시합니다. | ||
remove_electric_vehicle_connector_filter
|
차량의 커넥터와 일치하는 전기자동차 충전소 필터를 삭제합니다. | ||
remove_electric_vehicle_fast_charging_filter
|
급속 충전소인 전기자동차 충전소의 필터링을 삭제합니다. | ||
remove_electric_vehicle_payment_filter
|
결제가 필요한 전기자동차 충전소 위치의 필터링을 삭제합니다. | ||
report_crash
|
비정상 종료 보고 | accident_type
|
minor
|
major
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
report_hazard
|
위험을 신고합니다. | 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
|
경찰 활동을 신고합니다. | road_direction
|
this_side
|
other_side
|
|||
report_road_closure
|
도로 폐쇄를 신고합니다. | road_closure_type
|
partial
|
full
|
|||
report_traffic
|
교통 상황을 신고합니다. | traffic_type
|
moderate
|
heavy
|
|||
standstill
|
|||
road_direction
|
this_side
|
||
other_side
|
|||
resume_navigation
|
내비게이션을 재개합니다. | ||
route_overview
|
경로 개요를 표시합니다. | ||
show_alternates
|
대체 경로 보여 줘 | ||
show_directions_list
|
세부 경로 안내를 표시합니다. | ||
show_satellite
|
지도에 위성 정보를 표시합니다. | ||
show_traffic
|
지도에 교통정보를 표시합니다. | ||
time_to_destination
|
목적지까지의 예상 도착 시간을 표시합니다. | ||
time_to_next_turn
|
다음 회전까지의 도착 예정 시간을 표시합니다. | ||
unmute
|
음성 안내 음소거를 해제합니다. |