QuickLink를 만드는 방법(HTML)

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

사용자는 친구 및 가족과 콘텐츠를 공유하여 컴퓨터 환경을 확장할 수 있는 기능을 원합니다. 이 개념을 따르는 앱은 사용자가 콘텐츠를 빠르고 쉽게 공유할 수 있는 환경을 만듭니다. 대상 공유 계약을 지원하면 QuickLink라는 사용자 지정 바로 가기를 사용하여 공유 환경을 훨씬 더 간단하게 만들 수 있습니다. QuickLink는 특정한 사용자 집합에 맞게 사용자 지정된 앱을 연결하는 링크 역할을 합니다.

콘텐츠를 공유할 때 사용자는 일반적으로 해당 콘텐츠를 공유하는 방법 및 콘텐츠를 공유할 대상을 선택하려고 합니다. 일반적인 예로 메일을 통한 공유가 있습니다. 메일을 통해 항목을 공유하려는 경우 공유할 대상 사용자의 메일 주소를 제공해야 합니다. 사용자가 처음에는 이러한 메일 주소 제공을 꺼리지 않을 수 있지만 이후 공유 세션 중에 다시 수동으로 추가하게 되면 번거로운 일이 됩니다. 따라서 우수한 메일 앱용 환경에서는 QuickLink를 만들어 사용자가 마지막으로 선택한 항목을 자동으로 적용해야 합니다.

QuickLink는 어떠한 데이터도 실제로 저장하지 않습니다. 대신 선택한 경우 앱으로 전송되는 식별자를 포함합니다. QuickLink가 작동하려면 앱에서 데이터를 연결된 ID와 함께 클라우드, 사용자 컴퓨터 등에 저장해야 합니다. 다양한 방법으로 데이터를 저장할 수 있습니다. 데이터를 저장하는 한 가지 방법은 응용 프로그램 데이터 관리를 참조하세요.

대상 공유 계약 지원에 대한 자세한 내용은 빠른 시작: 공유 콘텐츠 받기를 참조하세요. 이 항목에서는 사용자가 콘텐츠 공유를 위해 개발자 앱을 선택할 때 앱에서 따라야 하는 기본 단계에 대해 설명합니다.

알아야 할 사항

기술

사전 요구 사항

  • Microsoft Visual Studio 및 관련 템플릿을 잘 알고 있어야 합니다.
  • JavaScript에 대해 잘 알고 있어야 합니다.
  • 빠른 시작: 공유 콘텐츠 받기에 설명된 대로 공유 콘텐츠를 받는 방법을 알고 있어야 합니다.

지침

QuickLink 개체는 ShareOperation 클래스의 일부입니다.

var quickLink = new Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink();

단계 2: QuickLink에 ID를 추가합니다.

QuickLink 개체의 인스턴스를 만든 후에는 먼저 용자가 QuickLink를 선택할 때 시스템에서 앱에 반환할 수 있는 대상 ID 문자열로 구성해야 합니다. 다음 예에서는 대상 ID를 설정하는 방법을 보여 줍니다.

quickLink.id = "123456789";

단계 3: QuickLink에 제목을 추가합니다.

다음으로 QuickLink의 제목을 지정합니다. 제목은 사용자가 QuickLink와 링크의 용도를 식별하는 데 도움이 됩니다.

quickLink.title = document.getElementById("quickLinkTitle").value;

// For quicklinks, the supported FileTypes and DataFormats are set 
// independently from the manifest.
var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
quickLink.supportedFileTypes.replaceAll(["*"]);
quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
    dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
    quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
});

단계 4: 지원되는 파일 형식을 지정합니다.

이제 QuickLink에서 지원하는 파일 형식 및 데이터 서식을 지정해야 합니다. 시스템은 공유 소스 응용 프로그램에서 공유된 DataPackage에 이러한 파일 형식이나 데이터 서식 중 하나가 포함되어 있는 경우에만 QuickLink를 표시합니다.

var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
quickLink.supportedFileTypes.replaceAll(["*"]);
quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
    dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

단계 5: QuickLink에 미리 보기를 추가합니다.

개발자는 사용자가 QuickLink 없이 앱을 선택할 때 사용자에게 표시되는 것과 동일한 아이콘을 사용하는 것이 좋습니다. 그러면 링크가 개발자 앱에 연결되어 있음을 사용자가 알 수 있습니다.

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
    quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
});

단계 6: QuickLink를 시스템에 보냅니다.

QuickLink 만들기를 마친 후 ShareOperation.reportCompleted 메서드를 호출하여 링크를 시스템에 보낼 수 있습니다.

shareOperation.reportCompleted(quickLink);

전체 예제

다음 함수는 QuickLink를 만든 후 반환합니다. 앱에서 공유 작업을 마친 후 ShareOperation.reportCompleted를 직접 호출하는 대신 이 함수를 호출하세요.

function reportCompleted() {
    var quickLink = new Windows.ApplicationModel.DataTransfer.ShareTarget.QuickLink();
    quickLink.id = "123456789";
    quickLink.title = document.getElementById("quickLinkTitle").value;
    
    // For quicklinks, the supported FileTypes and DataFormats are set 
    // independently from the manifest.
    var dataFormats = Windows.ApplicationModel.DataTransfer.StandardDataFormats;
    quickLink.supportedFileTypes.replaceAll(["*"]);
    quickLink.supportedDataFormats.replaceAll([dataFormats.text, dataFormats.uri, 
        dataFormats.bitmap, dataFormats.storageItems, dataFormats.html, customFormatName]);

    Windows.ApplicationModel.Package.current.installedLocation.getFileAsync("images\\user.png").then(function (iconFile) {
        quickLink.thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(iconFile);
        shareOperation.reportCompleted(quickLink);
    });
}

관련 항목

콘텐츠 공유 대상 앱 샘플

데이터 공유 및 교환

빠른 시작: 공유 콘텐츠 받기

QuickLink

ShareOperation

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share

대상 앱 디버깅에 대한 지침