앱 작업을 사용하면 앱 사용자가 Google 어시스턴트에 쿼리를 전달하여 Android 앱의 기존 기능을 트리거할 수 있습니다. 앱 작업으로 Android 앱을 확장하기 위한 주요 5가지 단계는 다음과 같습니다.
- 트리거할 인앱 기능을 파악합니다.
- 인앱 기능과 일치하는 내장 인텐트(BII)를 찾습니다.
- BII의 처리 세부정보를 제공합니다.
- 테스트 기기에서 앱 작업을 미리 봅니다.
- 앱 작업 검토 및 배포를 요청합니다.
샘플 앱을 사용하여 앱 작업을 만들려면 앱 작업을 통해 Google 어시스턴트로 Android 앱 확장 Codelab을 따릅니다.
요구사항
앱 작업 개발을 시작하려면 다음 요구사항을 충족해야 합니다.
- Google Play Console 액세스 권한이 있는 Google 계정이 있어야 합니다.
- 앱 작업은 Google Play 스토어에 게시된 앱에만 사용할 수 있습니다. 또한 앱 작업이 관리 Google Play에서 지원되지 않으므로 앱은 직장 프로필 용도여서는 안 됩니다.
- 앱 작업을 테스트할 실제 Android 기기가 있어야 합니다. Android 5(API 수준 21) 및 이후 버전에서도 작업이 실행되지만 OS 버전이 Android 8(API 수준 26) 및 이후 버전인 기기에서 실행하는 것이 좋습니다.
- Android 스튜디오의 최신 버전을 설치합니다.
- Android 스튜디오와 테스트 기기의 Google 앱, Google Play Console에 로그인할 때 동일한 Google 계정을 사용합니다.
- 설정 후에 홈 버튼을 길게 눌러 테스트 기기에서 어시스턴트가 작동하는지 테스트합니다.
앱 기능 확인
먼저 Android 앱에서 앱 작업을 통해 액세스하는 것이 적절한 활동을 선택합니다. 이러한 활동은 Android 딥 링크 URL로 설정해야 하고, Android 앱 매니페스트에 그에 상응하는 인텐트 필터가 있어야 합니다. 앱 작업은 어시스턴트가 생성한 딥 링크 URL을 사용하여 사용자를 앱의 특정 콘텐츠로 바로 연결합니다.
활동의 액세스 가능 여부와 그러한 활동을 앱 작업을 사용하여 트리거할 수 있는지 테스트하려면 다음 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
명령어로 올바르게 실행되지 않으면 다음을 확인합니다.
- Google 어시스턴트에서 인텐트를 사용하여 활동을 실행할 수 있도록 앱 매니페스트 파일에서 활동이
android:exported=true
로 되어 있는지 확인합니다. - 앱 링크 URL을 사용하는 경우 Android App Links 처리의 모든 단계를 따릅니다.
앱 기능과 일치하는 내장 인텐트 찾기
내장 인텐트 참조를 확인하여 사용 사례에 적합한 BII를 찾습니다. BII는 앱에서 실행하려는 작업과 관련된 사용자 쿼리를 모델링합니다. 따라서 앱의 주요 기능 및 사용자 흐름과 일치하는 BII를 찾습니다.
예를 들어 음식 주문 앱이 재무 관리 앱보다 actions.intent.ORDER_MENU_ITEM
BII를 사용할 가능성이 큽니다. 주제와 무관하거나 앱 기능과 관련 없는 BII를 구현하는 앱은 사용자 경험을 혼란스럽게 만들어 결과적으로 앱 작업 검토를 통과하지 못할 수 있습니다.
BII의 처리 세부정보 제공
앱 작업 빌드의 대부분은 앱의 actions.xml
파일을 만드는 것입니다. 이 파일에서 선택한 BII와 그에 상응하는 처리를 지정하게 됩니다. BII가 작업과 관련된 사용자 쿼리를 모델링하는 경우 처리에서 작업 실행 방법 정보를 어시스턴트에 제공합니다.
actions.xml
파일에서 BII는 <action>
요소로 표시되고 각 처리는 <fulfillment>
요소로 표시됩니다.
<actions>
<action intentName="actions.intent.ORDER_MENU_ITEM">
<fulfillment urlTemplate="exampleapp://browse{?food}">
<parameter-mapping intentParameter="menuItem.name" urlParameter="food" />
</fulfillment>
</action>
<action intentName="actions.intent.GET_THING">
<fulfillment urlTemplate="exampleapp://search{?query}">
<parameter-mapping intentParameter="thing.name" urlParameter="query"/>
</fulfillment>
</action>
</actions>
대부분의 BII의 경우 schema.org 항목을 기반으로 사용자 쿼리에서 인텐트 매개변수를 추출하게 됩니다. 그런 다음 앱은 그러한 인텐트 매개변수를 사용하여 사용자를 원하는 기능에 연결합니다. 예를 들어 위 코드는 "thing.name"
인텐트 매개변수를 딥 링크 URL 템플릿의 "query"
URL 매개변수에 매핑합니다.
actions.xml
파일 만들기에 관한 중요한 세부정보는 actions.xml 만들기를 참고하세요. 스키마 페이지에는 앱에 필요한 매개변수 값(인벤토리라고 함)을 지정하는 방법과 actions.xml
리소스를 참조하도록 AndroidManifest.xml
파일을 업데이트하는 방법도 설명되어 있습니다.
앱 작업 미리 보기
앱을 제출하여 검토받기 전에 초안 모드로 앱을 테스트하세요. 자세한 내용은 버전 준비 및 출시를 참고하세요.
개발 및 테스트 중에 앱 작업 테스트 도구를 사용하여 앱 작업이 앱에 작동하는지 테스트합니다. 앱 작업 테스트 도구는 어시스턴트(개발자 Google 계정용)에서 앱 작업의 미리보기를 만들 수 있는 Android 스튜디오 플러그인입니다. 테스트 도구를 사용하면 사용자로부터 받을 것으로 예상되는 입력 매개변수와 함께 BII를 제공하여 테스트 기기에서 처리를 테스트할 수 있습니다.
앱 작업을 미리 보는 동안 기기 자체에서 음성으로 쿼리를 트리거할 수도 있습니다. 이 기능은 앱 작업과 관련된 BII 참조에 나열된 쿼리에만 사용할 수 있습니다. 음성 트리거는 일반 테스트가 아닌 데모 목적으로만 사용하세요.
앱 작업 검토 및 배포 요청
앱 작업은 검토 및 승인될 때까지 사용자에게 제공되지 않습니다. 앱 작업 검토는 Google Play에서의 Android 앱 검토 및 배포 상태에 영향을 주지 않습니다. 앱 제출이 승인되더라도 actions.xml
은 여전히 Google의 검토를 받고 있을 수 있습니다.
이후 앱을 배포하면 앱 작업이 활성 상태로 유지됩니다. 하지만 재배포 버전은 Google의 검토 대상입니다. 새 버전이 제대로 작동하지 않거나 정책을 위반하는 경우 Google은 앱과 관련해 앱 작업을 비활성화할 권리를 보유합니다.
앱 작업을 제출하여 검토받으려면 다음 단계를 따릅니다.
- 앱 작업 배포 요구사항을 충족합니다. 그러한 요구사항을 충족하면 어시스턴트에 앱을 최적화하는 데 도움이 되고, 사용자가 앱 작업을 사용할 때 매끄러운 환경을 즐길 수 있습니다.
다음과 같이 Google Play Console에서 Actions on Google 서비스 약관에 동의합니다(가격 및 배포 > 동의).
평소 게시하듯이 Google Play Console에 앱을 업로드(
actions.xml
포함)합니다.Play Console에 앱을 업로드하면 앱 작업 검토 상태에 관한 자세한 정보가 담긴 이메일이 Play Console에 전달됩니다.