콘텐츠 공유 및 수신(HTML)
[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]
다른 사람과 공유하거나 다른 앱에서 사용하고 싶은 정보를 발견하는 경우가 있습니다. 공유는 앱에 추가하기 쉬운 가볍고 빠른 기능입니다.
앱에서는 두 가지 방법으로 공유 기능을 지원할 수 있습니다. 먼저, 사용자가 공유하려는 콘텐츠를 제공하는 원본 앱일 수 있습니다. 둘째, 사용자가 공유 콘텐츠의 대상으로 선택하는 대상 앱일 수 있습니다. 앱이 원본 앱이면서 대상 앱일 수도 있습니다. 원본 앱으로 콘텐츠를 공유하려면 앱이 제공할 수 있는 데이터 서식을 결정해야 합니다. 최대한 많은 데이터 서식을 지원하는 것이 좋지만 사용 중인 앱에 가장 적합한 형식을 선택해야 합니다. 그런 다음 Windows.ApplicationModel.DataTransfer 네임스페이스의 클래스를 사용하여 데이터를 패키지로 만듭니다.
대상 앱으로 공유 콘텐츠를 받으려면 먼저 공유 계약을 지원하도록 앱의 매니페스트 파일을 구성해야 합니다.
참고
앱 사용자는 공유 참 메뉴에서 한 번만 살짝 밀어 앱의 콘텐츠를 공유할 수 있습니다. 장치 참 메뉴에 있는 탭하여 보내기를 사용하여 사용자 앱의 파일이나 URL을 다른 장치와 공유할 수 있습니다.
참고
Windows Phone 8.1에는 참 메뉴 바가 없으므로 개발자가 프로그래밍 방식으로 앱 바 또는 다른 컨트롤에 공유 옵션을 포함해야 합니다.
이 공유 계약에서는 지원되는 데이터 형식이 공유되는 시나리오에서 사용자가 공유를 호출할 때 앱이 옵션으로 제공될 수 있습니다. 대상 앱이 지원할 데이터 서식을 선택할 때는 앱이 처리할 수 있는 형식만 등록해야 합니다. 자세한 내용은 데이터 서식 선택을 참조하세요. 사용자가 공유 옵션을 호출하면 Windows에서 공유할 데이터를 지원하는 대상 앱만 나타냅니다.
Visual Studio를 사용하는 경우 앱에 공유 계약을 추가하려면 프로젝트 메뉴에서 새 항목 추가를 클릭한 다음 목록에서 대상 공유 계약을 선택합니다. 이 프로세스의 일부로 앱에서 허용할 수 있는 데이터 서식과 파일 형식의 목록을 지정해야 합니다. Visual Studio에서 package.appxmanifest 파일을 편집할 때 선언 탭에 형식을 지정합니다.
앱 매니페스트 파일에서 공유 계약 지원에 대한 자세한 내용은 빠른 시작: 공유 콘텐츠 받기 및 패키지 매니페스트 스키마 참조의 ShareTarget을 참조하세요.
콘텐츠를 공유하는 방법에 대한 예제를 보려면 콘텐츠 소스 공유 앱 샘플 및 콘텐츠 대상 공유 앱 샘플을 참조하거나 빠른 시작: 콘텐츠 공유 및 빠른 시작: 공유 콘텐츠 받기 항목을 읽어 보시기 바랍니다.
다음 다이어그램은 공유의 작동 방식에 대한 높은 수준의 정보를 제공합니다.
참고
Windows Phone 8.1에서는 빠른 링크가 지원되지 않습니다. 대상 앱이 Quicklink를 반환하는 경우 원본 앱에서 이를 자동으로 무시합니다.
공유 계약을 통해 앱을 활성화할 때 열리는 양식을 지정할 수 있습니다. 그렇게 하면 공유를 위한 사용자 지정 환경을 만들 수 있습니다. 디자인 고려 사항에 대한 자세한 내용은 콘텐츠 공유에 대한 지침 및 검사 목록을 참조하세요.
참고
대상 앱을 구현하는 경우 UI 환경을 고려합니다. Windows에서 사용자가 앱을 선택하면 공유 플라이아웃을 사용하여 앱이 표시됩니다. 이 보기 상태는 화면에 앱을 표시할 수 있는 여러 가지 방법 중 하나입니다. 앱이 사이드 공유 플라이아웃에서 콘텐츠 공유를 위한 깔끔한 인터페이스를 표시하는지 확인합니다.
앱이 원본 앱에서 받는 콘텐츠는 수정할 수 없습니다. 그러나 데이터를 수신하여 처리한 후 시스템에 알릴 수 있습니다. 이 알림은 사진과 같이 처리하고 업로드하는 데 많은 시간이 걸리는 콘텐츠의 경우 특히 중요합니다. 콘텐츠 대상 공유 앱 샘플에서는 작업 방법을 보여 줍니다. 자세한 내용은 빠른 시작: 공유 콘텐츠 받기를 참조하세요.
이러한 역할—원본과 대상—은 다르지만 하나의 앱에서 두 역할을 모두 지원할 수 있습니다. 예를 들어 사진 공유 앱의 경우 사진을 다른 사람에게 메일로 보낼 수 있도록 원본 앱 역할을 하면서, 사진 앨범을 새 사진으로 업데이트할 수 있도록 대상 앱 역할도 할 수 있습니다.
앱에 공유 추가를 시작하려면 다음 항목과 샘플 앱을 확인하세요.
- 콘텐츠 공유에 대한 지침 및 검사 목록. 원본 또는 대상 앱을 작성하는지에 따라 이 항목에서는 콘텐츠 공유에 최적화된 사용자 환경을 제공하는 데 유용한 정보를 제공합니다.
- 공유할 데이터 서식 선택. 공유를 위한 표준 형식 및 표준 형식이 적용되지 않는 경우 사용자 지정 형식을 만들고 사용하는 방법에 대해 알아봅니다.
- 콘텐츠 공유. 여기서는 원본 앱을 구현하는 방법의 기본 사항을 알아봅니다. 보다 구체적인 시나리오도 다루며 구현 시 고려해야 하는 몇 가지 세부 정보를 제공합니다.
- 공유 콘텐츠 받기. 이 항목에서는 공유 계약을 앱에 추가하는 방법, 사용자가 콘텐츠를 공유하기 위해 개발자 앱을 선택했는지 검색하는 방법의 기본 사항, 공유되는 데이터를 처리하는 방법 등에 대해 설명합니다. 빠르게 시작 및 실행할 수 있도록 몇 가지 구체적인 시나리오에 대해서도 설명합니다.
- 콘텐츠 공유 원본 앱 샘플. 이 샘플에서는 공유 작업을 시작하고 공유할 콘텐츠를 패키지하는 방법을 보여 줍니다.
- 콘텐츠 공유 대상 앱 샘플. 이 샘플에서는 다른 앱에서 공유된 콘텐츠를 받는 방법을 보여 줍니다.
- 대상 앱 디버깅에 대한 지침. 공유 대상 앱 디버깅과 관련된 문제에 대해 알아봅니다.