Android 휴대전화 사용자는 "Hey Google, 이것을 제인에게 보내 줘"와 같은 음성 명령을 사용하여 다른 사용자에게 앱 콘텐츠를 공유해 달라고 Google 어시스턴트에 요청할 수 있습니다. 그러면 첫 번째 사용자의 시스템 옵션에 따라 어시스턴트가 화면의 콘텐츠 또는 기기 스크린샷을 공유 콘텐츠에 통합할 수 있습니다.
그림 1. 어시스턴트가 연락처와 사진을 공유하는 모습
이 공유 방법으로도 충분하지만, 앱에서 공유된 콘텐츠를 수신하는 사용자는 앱을 다시 시작하지 않고도 콘텐츠를 볼 수 있습니다. 개발자는 onProvideAssistContent() 메서드를 구현하여 현재 포그라운드 콘텐츠에 관한 구조화된 정보를 어시스턴트에 제공할 수 있습니다.
이 프로세스는 다른 사용자와 공유되는 데이터 구조를 유지관리하는 데 도움이 됩니다. 그러면 공유된 앱 콘텐츠를 수신하는 사용자는 텍스트 형태나 스크린샷 형태 대신에 딥 링크를 통해 연결되거나 콘텐츠를 직접 수신할 수 있습니다.
앱에서 공유 가능한 entity에 onProvideAssistContent()를 구현합니다.
어시스턴트에 콘텐츠 제공
앱 작업을 호출한 후 사용자의 작업 흐름에서 최종 앱 활동에 관한 onProvideAssistContent()를 구현하기만 하면 됩니다. 예를 들어
GET_ITEM_LIST 흐름, 최종 화면에서 메서드를 구현합니다.
항목 목록을 표시합니다. 진행 중인 프로젝트나 작업을 위해
미리 볼 수 있습니다.
overridefunonProvideAssistContent(outContent:AssistContent){super.onProvideAssistContent(outContent)// JSON-LD object based on Schema.org structured dataoutContent.structuredData=JSONObject().put("@type","ItemList").put("name","My Work items").put("url","https://my-notes-and-lists.com/lists/12345a").toString()}
Java
@OverridepublicvoidonProvideAssistContent(AssistContentoutContent){super.onProvideAssistContent(outContent);// JSON-LD object based on Schema.org structured dataoutContent.structuredData=newJSONObject().put("@type","ItemList").put("name","My Work items").put("url","https://my-notes-and-lists.com/lists/12345a").toString();}
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-08-08(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-08(UTC)"],[],[],null,["# Assistant sharing\n\nUsers on Android phones can ask Google Assistant to share app content with\nanother user using a voice command like *\"Hey Google, send this to Jane.\"* Based\non the first user's system options, Assistant can then incorporate text from\nthe screen or a device screenshot in the shared content.\n**Figure 1.** Assistant shares a photo with a contact.\n\nThis method of sharing is often sufficient, but users who receive content shared\nfrom your app might not re-enter the app to view content. You can provide\nAssistant with structured information about the current foreground content by\nimplementing the [`onProvideAssistContent()`](/reference/android/app/Activity#onProvideAssistContent(android.app.assist.AssistContent)) method.\n\nThis process helps maintain the structure of data as it's shared to another\nuser. Users who receive shared app content can then be deep linked or receive\ncontent directly, instead of as text or as a screenshot.\n\nImplement `onProvideAssistContent()` for any sharable\n[`entity`](/guide/app-actions/legacy/action-schema#entity) in your app.\n\nProvide content to Assistant\n----------------------------\n\nYou only need to implement `onProvideAssistContent()` for the final app activity\nin the user's task flow after invoking the App Action. For example, in a\n`GET_ITEM_LIST` flow, implement the method in the final screen\nshowing the item list; you don't need to implement it for any in-progress or\npreview screens.\n\nProvide contextual information as a [JSON-LD](//json-ld.org/) object\n[using schema.org vocabulary](https://schema.org/docs/documents.html) in the\n`structuredData` field of [`AssistContent`](/reference/android/app/assist/AssistContent). The following code snippet shows\nan example of logging contextual content:\nKotlin \n\n```kotlin\noverride fun onProvideAssistContent(outContent: AssistContent) {\n super.onProvideAssistContent(outContent)\n\n // JSON-LD object based on Schema.org structured data\n outContent.structuredData = JSONObject()\n .put(\"@type\", \"ItemList\")\n .put(\"name\", \"My Work items\")\n .put(\"url\", \"https://my-notes-and-lists.com/lists/12345a\")\n .toString()\n}\n \n```\nJava \n\n```java\n@Override\npublic void onProvideAssistContent(AssistContent outContent) {\n super.onProvideAssistContent(outContent);\n\n // JSON-LD object based on Schema.org structured data\n outContent.structuredData = new JSONObject()\n .put(\"@type\", \"ItemList\")\n .put(\"name\", \"My Work items\")\n .put(\"url\", \"https://my-notes-and-lists.com/lists/12345a\")\n .toString();\n}\n \n```\n\nProvide as much data as possible about each `entity`. The\nfollowing fields are required:\n\n- `@type`\n- `.name`\n- `.url` (only required if the content is URL-addressable)\n\nTo learn more about using `onProvideAssistContent()`, see the\n[Optimizing Contextual Content for the Assistant](/training/articles/assistant) guide."]]