Como criar um objeto QuickLink (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Os usuários desejam ter a capacidade de compartilhar conteúdo com amigos e família como se fosse uma extensão da experiência de computador deles. Os aplicativos que adotam esse conceito criam um ambiente que permite aos usuários compartilhar conteúdo de forma rápida e fácil. Ao suportar o contrato de Compartilhamento de Destino, você pode tornar a experiência de compartilhamento mais fácil usando um atalho personalizado chamado QuickLink. Um QuickLink e como um link para seu aplicativo que é personalizado para um conjunto específico de ações do usuário.

Quando os usuários compartilham o conteúdo, eles normalmente querem fazer escolhas sobre como compartilhar seu conteúdo e com quem compartilhá-lo. Um exemplo comum disso é compartilhar por email. Se um usuário desejar compartilhar algo por email, deve fornecer os endereços de email das pessoas com quem ele deseja compartilhar. Mesmo que um usuário possa não se preocupar em fornecer esses endereços de email na primeira vez, a adição manual deles novamente durante as subsequentes sessões de compartilhamento se torna tediosa. Uma melhor experiência para o aplicativo de email é criar um QuickLink para aplicar na próxima vez as escolhas feitas pelo usuário na última vez.

Um QuickLink não armazena realmente nenhum dado. Em vez disso, ele contém um identificador que, quando selecionado, é enviado para o aplicativo. Para que os QuickLinks funcionem, o aplicativo precisa armazenar os dados em algum lugar (como na nuvem ou no computador do usuário) juntamente com a ID associada. Há muitas maneiras para fazer isso. Para obter uma maneira de armazenar dados, veja o tópicoGerenciando dados de aplicativos.

Para saber mais sobre como dar suporte ao contrato de Compartilhamento de Destino, veja Guia de início rápido: recebendo conteúdo compartilhado. Esse tópico descreve as etapas básicas que o aplicativo precisa seguir quando os usuário o selecionam para compartilhar conteúdo.

O que você precisa saber

Tecnologias

Pré-requisitos

Instruções

O objeto QuickLink faz parte da classe ShareOperation.

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

Depois que você tiver uma instância do objeto QuickLink, você deverá primeiro configurá-lo com uma cadeia de caracteres de ID de destino que o sistema possa retornar para seu aplicativo quando o usuário selecionar o QuickLink. O seguinte exemplo mostra como configurar uma ID de destino.

quickLink.id = "123456789";

Depois, especifique um título para o QuickLink. Um título ajuda o usuário a identificar o QuickLink e seu objetivo.

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);
});

Etapa 4: Especifique os tipos de arquivo compatíveis.

Em seguida, especifique quais tipos de arquivo e formatos de dados são compatíveis com o QuickLink. O sistema mostra o QuickLink somente quando o DataPackage compartilhado do aplicativo de origem de compartilhamento contém um daqueles tipos de arquivos ou formatos de dados.

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

Recomendamos que você use o mesmo ícone que os usuário veriam se estivessem selecionando o aplicativo sem um QuickLink. Dessa maneira, o usuário sabe que o link está associado ao aplicativo.

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

Quando você tiver concluído a criação do QuickLink, poderá enviá-lo para o sistema chamando o método ShareOperation.reportCompleted.

shareOperation.reportCompleted(quickLink);

Exemplo completo

A função a seguir cria e retorna um QuickLink. Chama essa função depois do aplicativo concluir uma operação de compartilhamento, em vez de chamar ShareOperation.reportCompleted diretamente.

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);
    });
}

Tópicos relacionados

Exemplo de aplicativo de compartilhamento de destino de conteúdo

Compartilhando e trocando dados

Início rápido: recebendo conteúdo compartilhado

QuickLink

ShareOperation

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share

Diretrizes para depurar aplicativos de destino