링크를 공유하는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

사용자가 공유하기를 원하는 다른 일반적인 데이터 형식으로는 링크, 즉 URI(Uniform Resource Identifier)가 있습니다. 링크를 공유하는 가장 일반적인 이유는 사용자가 특별히 선택한 경우이지만, 다음과 같은 경우에는 앱에서 링크 공유를 지원하는 것이 좋습니다.

  • 사용자가 선택한 콘텐츠를 온라인에서도 사용할 수 있는 경우
  • HTML을 공유할 때 보조 원본으로

알아야 할 사항

기술

사전 요구 사항

  • Visual Studio 및 관련 템플릿을 잘 알고 있어야 합니다.
  • JavaScript에 대해 잘 알고 있어야 합니다.

지침

단계 1: DataTransferManager 개체 가져오기

DataTransferManager 개체는 모든 공유 작업의 시작점입니다.

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareAsyncHandler);

단계 2: datarequested 이벤트에 대한 이벤트 처리기 추가

사용자가 공유를 호출하려고 하면 실행되는 DataRequested 이벤트 처리기를 추가합니다. Windows 스토어 앱에서는 사용자가 공유 참 메뉴를 호출하면 자동으로 실행됩니다. Windows Phone용으로 개발하는 경우에는 기본 제공 공유 참 메뉴가 없으므로 사용자가 처리기를 탭하여 트리거하는 컨트롤을 추가해야 합니다.

dataTransferManager.addEventListener("datarequested", function (e) {
    // Code to handle event goes here.
});

단계 3: DataRequest 개체 가져오기

datarequested 이벤트가 발생하면 앱이 DataRequest 개체를 받습니다. 이 개체에는 사용자가 공유하려는 콘텐츠를 제공하는 데 사용할 수 있는 DataPackage가 포함되어 있습니다.

var request = e.request;

단계 4: DataPackage에 링크 추가

링크를 추가하려면 setUri 메서드를 사용합니다.

request.data.setUri(new Windows.Foundation.Uri("http://www.fabrikam.com"));

설명

활성화 프로토콜 URI를 공유하는 앱인 경우 URI 옆의 DataPackage에 몇 가지 정보를 추가합니다. 이렇게 하면 대상 앱이 서로 다른 OS(운영 체제)를 사용하는 사용자를 포함한 모든 사용자에게 더 나은 환경을 제공하도록 할 수 있습니다.

  • 콘텐츠에 적합한 제목 및 설명을 제공합니다.
  • 공유할 콘텐츠를 설명하는 HTML 코드 조각을 포함하고 URI를 인라인으로 포함합니다. 링크가 Windows 8 사용자에 대해 작동함을 강조하는 문자열을 포함하는 것이 좋으며 가능하면 다른 OS(운영 체제) 사용자에게 추가 웹 링크를 제공합니다..
  • HTML 코드 조각의 텍스트 버전을 포함합니다.

일부 대상 앱은 실제로 http:// 또는 https:// URI만 처리할 수 있는 경우에도 URI를 지원하도록 등록할 수 있습니다. 대체 데이터 서식을 제공하여 대상 앱이 시나리오를 성공적으로 완료할 가능성을 향상시킵니다.

전체 예제

다음은 사용자에 대해 공유할 링크를 설정하는 함수의 예를 보여 줍니다. 자세한 예를 보려면 코드 갤러리 샘플(영문)을 참조하세요.

function registerForShare() {
    var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareLinkHandler);
}

function shareLinkHandler(e) {
        var request = e.request;
        request.data.properties.title = "Share Link Example";
        request.data.properties.description = "A demonstration that shows how to add a link (URI) to share.";
        request.data.setUri(new Windows.Foundation.Uri("http://www.fabrikam.com"));
}

관련 항목

콘텐츠 공유 원본 앱 샘플

데이터 공유 및 교환

파일을 공유하는 방법

HTML을 공유하는 방법

텍스트를 공유하는 방법

빠른 시작: 콘텐츠 공유

DataPackage

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share