내장 인텐트 (BII)를 사용하면 앱에서 처리 기능을 Google에 표현할 수 있습니다. shortcuts.xml 파일에서 기능을 선언하고 인텐트 매개변수를 처리에 매핑하면 Google 어시스턴트가 쿼리에 응답하여 특정 화면으로 앱을 실행하여 사용자가 작업을 완료할 수 있습니다.
내장 인텐트는 앱 카테고리에 따라 그룹화됩니다. 각 카테고리는 사용자가 앱에서 자주 실행하려는 일련의 일반적인 작업을 나타냅니다. 사용 가능한 BII, 매개변수, 테스트에 사용할 수 있는 쿼리 예의 전체 목록은 내장 인텐트 참조에서 확인할 수 있습니다.
많은 BII에는 특정 배포 요구사항 및 권장사항이 있습니다. 이러한 요구사항과 권장사항은 앱에서 사용자에게 최상의 환경을 제공하는 데 도움이 됩니다.
![](https://developer.android.google.cn/static/guide/app-actions/images/Fitness1.png?authuser=3&hl=ko)
START_EXERCISE
BII를 호출합니다.![](https://developer.android.google.cn/static/guide/app-actions/images/Fitness3.png?authuser=3&hl=ko)
START_EXERCISE
작업을 시작합니다.![](https://developer.android.google.cn/static/guide/app-actions/images/Fitness4-widget.png?authuser=3&hl=ko)
BII 구현 및 인텐트 매개변수 처리
앱 작업의 경우 shortcuts.xml 파일에서 기능을 선언하고 BII 매개변수를 처리합니다. BII를 구현하고 그 매개변수를 처리하려면 다음 단계를 따르세요.
- 선택한 BII를 사용하여
capability
를 선언합니다. - 추가하려는 각 BII 필드에 중첩된
parameter
요소를 추가합니다.targetClass
또는targetPackage
를 사용한다면 선택한 이름을 사용하여 Android 인텐트extras
에 매핑합니다.- 딥 링크 URL을 사용하는 경우 URL 템플릿의 쿼리 문자열에 이름이 지정된 매개변수를 사용합니다.
BII 매개변수를 처리하려면 BII 매개변수를 capability
에서 명시적 Android 인텐트의 상응하는 매개변수에 매핑합니다.
그런 다음 앱에서 이 값을 사용할 수 있습니다. 앱에서 BII 매개변수를 처리할 필요가 없습니다. 하지만 내장 인텐트 참조에 'Recommended'로 표시된 데이터 필드를 처리하려고 합니다.
각각 자체 권장 매개변수 집합을 사용하여 여러 인텐트 처리를 정의할 수 있습니다. Google은 사용자 쿼리에서 식별하는 기능 매개변수와 인텐트에 선언된 매개변수를 기반으로 적절한 fulfillment를 선택합니다.
예를 들어 actions.intent.START_EXERCISE
인텐트는 앱에서 exercise.name
BII 매개변수를 처리하도록 권장하지만 개발자는 매개변수 없이 앱에서 BII를 구현할 수 있습니다.
'Example App에 운동 추적을 시작하도록 요청'과 같이 특정 운동 이름 없이 사용자 쿼리를 처리하려는 경우 이 방법을 사용할 수 있습니다.
다음 스니펫은 매개변수가 사용자의 쿼리에 포함되지 않은 경우 필수 매개변수가 없는 처리를 대체하도록 합니다.
<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.example.myapplication.Activity1"
android:targetPackage="com.example.myapplication">
<parameter
android:name="exercise.name"
android:key="exerciseType"
android:required="true"
/>
</intent>
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.example.myapplication.Activity2">
</intent>
</capability>
</shortcuts>
Google 어시스턴트는 앱에 매개변수 값을 반환할 때 사용자에게 가장 관련성이 높은 정보를 제공하기 위해 최선을 다합니다. 예를 들어 Example Restaurant 모바일 앱에서 피자를 주문하기 위한 사용자 쿼리에 항상 위치가 포함되는 것은 아닙니다. 사용자에게 더 나은 서비스를 제공하기 위해 어시스턴트는 해당 앱에 가장 가까운 Example Restaurant의 위도와 경도 값을 제공할 수 있습니다.
추가 요구사항으로, 먼저 사용자와의 작업을 확인하지 않은 채 앱이 사용자의 실제 상태를 수정하는 작업 (예: 송금, 주문, 메시지 전송)을 직접 실행하지 않도록 해야 합니다.
명확성
<url-parameter>
또는 인텐트 추가 항목을 통해 앱에 전달되는 인수는 사용자에게 표시하려는 항목을 고유하게 식별하지 못할 수 있습니다. 이 경우 인수 값을 검색 인수로 사용하고 사용자를 앱의 검색 페이지로 이동합니다. 사용자가 구체적인 항목을 구분하여 올바른 항목을 선택할 수 있습니다.
예를 들어 사용자의 쿼리가 BII ORDER_MENU_ITEM
에 대한 '예시 레스토랑에서 주문'인 경우, 용어 "Example Restaurant"
와 이름이 일치하는 레스토랑 목록을 사용자에게 표시할 수 있습니다.
언어 및 언어 지원
각 앱 작업 BII에서 개발 및 테스트에 지원되는 언어는 내장 인텐트 참조에 나열되어 있습니다. 일부 BII의 경우 개발자 테스트 및 어시스턴트의 사용자 트리거에 서로 다른 언어를 지원합니다.