앱 작업 빌드

앱 작업을 사용하면 사용자가 요청하여 Android 앱에서 기능을 실행할 수 있습니다 Google 어시스턴트를 사용하거나 어시스턴트가 추천한 Android 단축키를 사용합니다. 이러한 앱 작업으로 Android 앱을 확장하는 기본 단계입니다.

  1. 트리거할 인앱 기능 및 이와 일치하는 내장 인텐트(BII)를 식별합니다.
  2. BII의 처리 세부정보를 제공합니다.
  3. 앱 작업의 바로가기를 어시스턴트로 푸시합니다.
  4. 테스트 기기에서 앱 작업을 미리 봅니다.
  5. 앱의 테스트 버전을 만듭니다.
  6. 앱 작업 검토 및 배포를 요청합니다.

원하는 경우 어시스턴트에 제공할 동적 바로가기를 정의하여 다음과 같은 작업을 할 수 있습니다. 사용자에게 제안할 수 있습니다. 앱 작업 Codelab에 따라 샘플 앱을 사용하여 앱 작업을 만듭니다.

요구사항

앱 작업 개발을 시작하기 전에 여러분과 앱이 다음 요구사항을 충족해야 합니다.

  • 에 액세스할 수 있는 Google 계정이 있어야 합니다. Google Play Console
  • 앱 작업은 Google Play 스토어에 게시되어야 합니다. 해당 국가에 게시된 앱에서만 사용할 수 있습니다. 또한 앱 작업이 관리 Google Play에서 지원되지 않으므로 앱은 직장 프로필 용도여서는 안 됩니다.
  • 앱 작업을 테스트하려면 실제 기기 또는 가상 기기가 필요합니다.
  • 최신 버전의 Android 스튜디오가 필요합니다.
  • Android 스튜디오, 테스트 기기의 Google 앱, Google Play Console에 로그인할 때 동일한 Google 계정을 사용해야 합니다.
  • 테스트 기기에서 어시스턴트를 설정하고 다음을 수행하여 테스트해야 합니다. 터치 및 버튼을 길게 누릅니다.

내장 인텐트와 앱 기능 일치

사용자가 원할 수 있는 Android 앱 기능 식별 음성으로 이동하여 적절한 BII 찾기를 위한 내장 인텐트 참조 선택해야 합니다 BII는 원하는 작업에 대한 사용자 쿼리를 모델링함 따라서 주요 기능과 사용자와 일치하는 BII를 찾습니다. 앱 흐름에 영향을 미칠 수 있습니다

거의 모든 Android 앱에서 사용할 수 있는 일반 BII가 있습니다. actions.intent.GET_THING BII를 사용하여 인앱 검색을 어시스턴트로 확장하거나 actions.intent.OPEN_APP_FEATURE BII를 구현하여 사용자가 특정 앱 기능을 음성으로 실행할 수 있도록 하는 것을 예로 들 수 있습니다.

카테고리 또는 카테고리별 사용 사례를 지원하는 BII도 있습니다. 대상 예를 들어 운동 앱은 actions.intent.START_EXERCISE BII.

우수한 사용자 환경을 보장하고 발생할 수 있는 승인 지연을 방지하려면 개발자가 구현하는 각 BII가 인앱 기능과 관련이 있어야 합니다.

앱 작업은 어시스턴트 앱에서 Android 인텐트를 시작하여 사용자를 앱의 특정 콘텐츠로 바로 안내하는 방식으로 작동합니다. 이러한 인텐트는 targetClasstargetPackage 필드를 지정하여 활동을 명시적으로 실행하도록 정의할 수 있습니다. 앱에서 이미 Android 딥 링크 URL을 구현한 경우 처리를 위해 딥 링크를 사용하도록 인텐트를 구성할 수 있습니다. 자세한 내용은 심층 활동 테스트 링크 섹션의 링크를 클릭합니다.

내장 인텐트의 처리 세부정보 제공

앱 작업 빌드의 대부분은 다음과 같은 기능을 선언하는 것입니다. Android 앱의 shortcuts.xml 리소스 파일 선택한 BII 및 해당 처리를 지정합니다. BII는 작업에 관한 사용자 쿼리를 모델링하며 처리 인텐트는 어시스턴트에 작업 실행 방법에 관한 정보를 제공합니다.

shortcuts.xml 파일에서 BII는 <capability>로 표시됩니다. 요소들로 구성되고 각 처리는 <intent> 요소로 표현됩니다.

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="exercise.name"
                android:key="exercise_name">
            </parameter>
        </intent>
    </capability>

대부분의 BII의 경우 schema.org 항목을 기반으로 사용자 쿼리에서 인텐트 매개변수를 추출하게 됩니다. 그러면 앱에서 이러한 BII를 사용합니다. 매개변수를 사용하여 사용자를 선택한 기능으로 안내합니다. 예를 들어 선행 exercise.name BII 매개변수를 exercise_name Android에 매핑하는 코드 intent 매개변수

딥 링크를 사용하여 작업을 처리하는 경우 urlTemplate 필드를 사용하여 어시스턴트가 생성하는 딥 링크 URL을 정의합니다.

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myexerciseapp://start{?exercise_name}" />
            <parameter android:name="exercise.name"
                android:key="exercise_name"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

shortcuts.xml 파일에 앱 작업을 추가하는 방법에 관한 중요한 세부정보는 shortcuts.xml 만들기를 참고하세요. 이 페이지도 는 앱에서 예상하는 매개변수 값을 지정하는 방법을 설명합니다.

GET_THING 내장 인텐트 구현

앱에 검색 기능이 있는 경우 actions.intent.GET_THING BII를 사용해야 합니다. 그러면 어시스턴트가 앱의 검색 기능을 이용해 인앱 검색결과를 얻을 수 있습니다. (예: "Hey Google, Example 앱에서 Example Thing 검색해 줘")

shortcuts.xml 파일에서 다른 BII를 구현할 때와 마찬가지로 actions.intent.GET_THING BII의 <capability>를 구현합니다. 여러 fulfillment를 사용하여 GET_THING: 사용자를 통과하는 처리를 하나 이상 제공하는 경우 쿼리를 앱의 검색 기능에 추가합니다.

다음은 shortcuts.xmlactions.intent.GET_THING BII를 추가하는 예입니다.

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

검색 Activity의 추가 데이터에서 검색어를 추출합니다. intent로 설정하고 앱의 검색 함수에 전달합니다. 위 코드에서 query 키로 전달된 검색어는 "thing.name" BII 매개변수에 매핑됩니다. 그런 다음 쿼리를 사용하여 검색을 실행하고 사용자 인터페이스에 결과를 표시합니다.

선택사항: 앱 작업의 바로가기를 어시스턴트에 푸시

작업의 기능을 정의하면 사용자가 "Hey Google, Example 앱에서 피자 주문해 줘"와 같이 말하여 작업을 실행할 수 있습니다. 어시스턴트는 적절한 때에 작업에 관한 Android 바로가기를 사용자에게 추천할 수 있으므로 사용자가 작업을 쉽게 찾아 재생할 수 있습니다. 어시스턴트는 동적 바로가기와 정적 바로가기를 모두 추천할 수 있습니다.

어시스턴트에 동적 바로가기를 푸시하려면 Google 바로가기 통합을 사용하세요 있습니다. 이 Jetpack 라이브러리를 사용하면 어시스턴트가 단축어를 사용하고 적절한 타이밍에 사용자에게 제안할 수 있습니다.

자세한 내용은 어시스턴트에 동적 바로가기 푸시를 참고하세요.

앱 작업 미리보기

개발 및 테스트 중에 Android 스튜디오용 Google 어시스턴트 플러그인으로 테스트할 수 있습니다. 앱 작업은 앱에서 작동합니다. 플러그인이 앱 작업의 미리보기를 만듭니다. 을 탭합니다. 테스트 도구를 사용하면 사용자에게서 받을 것으로 예상되는 입력 매개변수를 BII에 제공하여 실제 테스트 기기나 에뮬레이터에서 처리를 테스트할 수 있습니다.

앱 작업을 미리 보는 동안 다음 위치에서 음성으로 쿼리를 트리거할 수 있습니다. 있습니다. 이 기능은 앱 작업과 관련된 BII 참조에 나열된 쿼리에만 사용할 수 있습니다. 음성 사용 일반 테스트가 아닌 데모용으로만 트리거됨

앱을 제출하여 검토받기 전에 Google Play Console용 개발자 도구를 사용하여 초안 모드로 앱을 테스트하세요. Google Play Console을 사용한 초안 배포에 관한 자세한 내용은 자세한 내용은 앱 준비 및 시작을 버전을 참조하세요.

테스트 버전 만들기

추가 테스터를 대상으로 앱 작업을 테스트할 준비가 되면 앱의 내부 또는 비공개 테스트 버전을 만듭니다. 기본적으로 내부 및 비공개 출시 테스터는 검토 후 승인됩니다.

승인받지 않은 작업을 비롯하여 모든 앱 작업에 테스트 액세스 권한을 부여하려면 테스터에게 앱 작업 개발 프로그램 Google 그룹에 참여하도록 안내합니다. 이 그룹의 회원 그룹은 모든 앱 작업에 액세스할 수 있는 프리뷰를 만들 필요 없이 내부 테스트 버전을 앱 액션 테스트 도구 그룹에 참여한 후 최대 3시간이 걸릴 수 있습니다. 해야 합니다.

앱 작업 검토 및 배포 요청

게시된 앱 또는 공개 테스트의 사용자는 앱 작업을 사용할 수 없습니다. 검토 및 승인될 때까지 앱 작업 검토가 Google Play의 Android 앱 검토 및 배포 상태에 영향을 미칠 수 있습니다. 심지어 앱 제출이 승인되어 Play 스토어에 게시되면 Google에서 shortcuts.xml을(를) 검토 중일 수 있습니다. 이 검토도 승인되어야 앱 작업이 최종 사용자에게 작동합니다.

앱을 배포하면 앱 작업이 활성 상태로 유지됩니다. 하지만 재배포 버전은 Google의 검토 대상입니다. 새 버전이 올바르게 작동하지 않거나 정책 위반이 있는 경우 Google은 앱의 앱 작업을 비활성화하세요.

앱 작업을 제출하여 검토받으려면 다음 단계를 따릅니다.

  1. Google Play Console에서 앱 작업 서비스 약관에 동의 (고급 설정 > 앱 작업):

    Google Play Console의 앱 작업 서비스 약관

  2. 앱을 shortcuts.xml 포함하는 평소대로 Google Play Console을 사용하여 게시할 수 있습니다.

  3. 앱을 Play Console에 업로드하면 Google에서 상태에 관한 자세한 정보가 포함된 이메일 앱의 작업 검토 어시스턴트 개발자 지원팀에 문의할 수도 있습니다. 로 문의하세요. 연락처 양식에 앱 패키지 ID를 입력하고 개발자 콘솔에서 앱 작업 검토무엇을 도와드릴까요? 선택 상자를 탭합니다.

딥 링크를 사용하여 앱 작업을 통해 Activity를 실행하려면 Activity 딥 링크 URL로 설정해야 하며 Android 앱 매니페스트 파일을 참조하세요.

활동에 액세스할 수 있고 다음을 사용하여 활동을 트리거할 수 있는지 테스트하기 위해 딥 링크를 사용하는 앱 작업을 실행하려면 다음 adb 명령어를 실행합니다.

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

예를 들면 다음과 같습니다.

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

활동이 adb 명령어로 올바르게 실행되지 않으면 다음을 확인합니다.

  • 앱 매니페스트 파일에서 활동에 android:exported=true가 있으므로 다음 작업을 할 수 있습니다. Google 어시스턴트의 인텐트를 사용하여 실행됩니다.
  • 앱 링크 URL을 사용하는 경우 Android App Links 처리의 모든 단계를 따릅니다.

앱 작업 정책

앱 작업은 특정 정책을 준수해야 하며, 이를 통해 앱을 사용하는 사용자가 의도한 환경을 받게 됩니다. 최고의 사용자 환경을 제공하고 Play 스토어 검토 지연 또는 거부를 방지하려면 앱을 제출하기 전에 이 정책을 검토하세요.

  • 사용자를 사용자 제작 콘텐츠로 안내하기

    앱 작업 내장 인텐트(BII) 또는 매개변수는 사용자가 의도한 관련 작업으로만 사용자를 안내해야 합니다. 여기에는 인앱 콘텐츠, 웹사이트 콘텐츠, 슬라이스 또는 위젯에 표시된 정보가 포함될 수 있습니다(단, 환경이 사용자가 의도한 환경인 경우).

    예를 들어 START_EXERCISE BII를 구현하면 사용자가 달리기 또는 수영과 같은 특정 유형의 운동을 시작합니다. 유일한 OPEN_APP_FEATURE BII가 사용자를 안내하는 경우는 예외입니다. 추가할 수 있습니다.

  • 관련 앱 작업 BII 구현

    구현된 BII는 앱의 콘텐츠 및 기능과 직접 관련이 있어야 합니다.

    예를 들어 앱이 커뮤니케이션 Play 스토어 카테고리에 속한 경우 START_EXERCISE BII를 구현해서는 안 됩니다. 건강 및 피트니스 카테고리의 앱에 권장됩니다.

  • 관련 맞춤 인텐트 구현

    맞춤 인텐트에 정의된 쿼리는 앱의 콘텐츠와 관련이 있으며 기능을 제공합니다 정책 위반의 예는 정책은 다음과 같이 custom.action.intent.GET_RECIPE 인텐트를 생성하고 '부리토 레시피 보여 줘' 관련 쿼리 패턴 앱의 교통수단 Play 스토어 카테고리