Compartir a través de


Cómo compartir un vínculo (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Los vínculos, o identificadores uniformes de recursos (URI), son otro formato común de datos que los usuarios quieren compartir. El motivo más común para compartir un vínculo es cuando un usuario selecciona específicamente uno en particular; sin embargo, también te recomendamos que tu aplicación admita el uso compartido de vínculos:

  • Cuando el contenido que selecciona el usuario también está disponible en línea.
  • Como origen secundario para compartir contenido HTML.

Lo que debes saber

Tecnologías

Requisitos previos

  • Debes estar familiarizado con Visual Studio y sus plantillas asociadas.
  • Debes estar familiarizado con JavaScript.

Instrucciones

Paso 1: Obtener el objeto DataTransferManager

El objeto DataTransferManager es el punto de partida para la operación de uso compartido de contenido.

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

Paso 2: Agregar un controlador de eventos para el evento datarequested

Agrega un controlador de eventos DataRequested para activarlo cuando el usuario quiera invocar el uso compartido. En una aplicación de la Tienda Windows, esto se produce automáticamente cuando el usuario invoca el acceso a Compartir. Si estás desarrollando para Windows Phone, no hay un acceso a Compartir integrado, por lo que tendrás que agregar un control para que el usuario pulse y active el controlador.

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

Paso 3: Obtener un objeto DataRequest

Cuando se produce un evento datarequested, tu aplicación recibe un objeto DataRequest. Este objeto contiene un DataPackage que puedes usar para proporcionar el contenido que el usuario quiere compartir.

var request = e.request;

Paso 4: Agregar el vínculo a DataPackage

Para agregar el vínculo, usa el método setUri.

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

Observaciones

Para las aplicaciones que comparten un URI de protocolo de activación, agrega información adicional al DataPackage además del URI. Esto ayuda a asegurar que las aplicaciones de destino pueden proporcionar la mejor experiencia a todos los usuarios, incluidos lo que usan un sistema operativo diferente.

  • Incluye un título y una descripción adecuados para el contenido.
  • Incluye un fragmento de código HTML que describa el contenido que se va a compartir y que incluya el URI en línea. Recomendamos incluir una cadena que resalte el hecho de que el vínculo funciona para los usuarios de Windows 8 y, si es posible, proporciona un vínculo web adicional para usuarios de otros sistemas operativos.
  • Incluye una versión de texto de tu fragmento de código HTML.

Algunas aplicaciones de destino podrían registrarse como compatibles con URI aunque en realidad solo administren URI http:// o https://. Proporcionar otros formatos de datos aumenta las probabilidades de que la aplicación de destino complete correctamente tu escenario.

Ejemplo completo

A continuación, mostramos un ejemplo de una función que establece un vínculo para que un usuario lo comparta. Para obtener un ejemplo más detallado, consulta nuestra galería de muestras de código.

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

Temas relacionados

Muestra de una aplicación de origen de contenido compartido

Uso compartido e intercambio de datos

Cómo compartir archivos

Cómo compartir contenido HTML

Cómo compartir texto

Inicio rápido: compartir contenido

DataPackage

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share