Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Inicio rápido: compartir contenido (aplicaciones de la Tienda Windows con JavaScript y HTML)

Windows 8 ofrece un conjunto sólido de API para compartir contenido que pueden ayudarte a conectar a tus usuarios con las personas que conocen y con las aplicaciones que más usan.

Las aplicaciones eficaces permiten que los usuarios compartan fácilmente contenido de manera flexible. La integración de operaciones de uso compartido en tu aplicación permite que el contenido fluya desde tu aplicación de manera acorde con sus objetivos. Si los usuarios comparten contenido desde tu aplicación de forma regular, esta ganará visibilidad y se integrará mejor en la experiencia de Windows 8.

Si quieres aprender a usar estas API, sigue leyendo. Si quieres obtener más información acerca de la manera en que tu aplicación puede recibir contenido compartido, consulta Inicio rápido: recepción de contenido compartido.

Objetivo: Después de leer este documento de inicio rápido, tendrás una buena noción acerca de cómo compartir contenido.

Requisitos previos

Para usar el código que se describe en esta sección, necesitarás:

  • Windows 8
  • Microsoft Visual Studio Express 2012 for Windows 8

Instrucciones

Elección de formatos de datos

Toda las operaciones de uso compartido de contenido se basan en el objeto DataPackage. Este objeto contiene los datos que el usuario quiere compartir. Entre los tipos de contenido que puede incluir DataPackage, se encuentran:

  • Texto sin formato
  • Identificadores uniformes de recursos (URI)
  • HTML
  • Texto con formato
  • Mapas de bits
  • Archivos
  • Datos definidos por el desarrollador

Un objeto DataPackage puede contener uno de estos formatos o más, en cualquier combinación. Además, DataPackage puede contener una función delegada, es decir, una función a la que se llama cuando la aplicación receptora solicita datos. Te recomendamos que tu aplicación use una función delegada cuando los datos que un usuario quiere compartir hacen uso intensivo de los recursos; en esos casos, una función delegada puede ayudar a que tu aplicación comparta los datos de manera más eficaz. Para obtener más información sobre las funciones delegadas, consulta Uso compartido y funciones delegadas más adelante en este tema.

Elección de propiedades

Cuando empaquetas datos para compartirlos, puedes suministrar diversas propiedades que proporcionan información adicional acerca del contenido que se va a compartir. Aprovechar estas propiedades puede ayudar a tu aplicación de destino a mejorar la experiencia del usuario. Por ejemplo, proporcionar un título y una descripción que representen lo que el usuario comparte puede ayudar cuando el usuario comparte contenido con más de una aplicación. De forma similar, agregar una vista en miniatura al compartir una imagen o un vínculo a una página web puede proporcionar una referencia visual para el usuario. Para obtener más información acerca de qué propiedades hay disponibles, consulta nuestra documentación acerca de DataPackage.DataPackagePropertySet.

Configuración del origen de contenido compartido

Para configurar tu aplicación como aplicación de origen de contenido compartido, primero debes obtener la instancia de la clase DataTransferManager que se ha asignado a la ventana actual.


var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();

Esta clase admite un evento datarequested, que se desencadena cuando un usuario pulsa el acceso a Compartir. Tu aplicación necesita detectar este evento para saber en qué momento el usuario quiere compartir datos desde tu aplicación.


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

El ejemplo anterior registra un controlador de eventos al que se llama cada vez que se desencadena un evento datarequested. Este controlador recibe un objeto DataRequest, que tu aplicación usa para establecer los datos que el usuario quiere compartir desde tu aplicación de origen de contenido compartido.

Todo el contenido que compartes debe contar con dos propiedades: un título y el contenido. También recomendamos que incluyas una propiedad de descripción para mayor claridad.

El siguiente código se basa en los ejemplos anteriores y muestra cómo compartir texto sin formato con una aplicación de destino.


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

function shareTextHandler(e) {
    var request = e.request;
    request.data.properties.title = "Share Text Example";
    request.data.properties.description = "Demonstrates how to share text.";
    request.data.setText("Hello World!");
}

Uso compartido y funciones delegadas

A veces no es deseable preparar los datos en el mismo momento en que el usuario invoca la operación de uso compartido. Por ejemplo, si tu aplicación admite diversos formatos de datos, no resulta eficaz crear todos los formatos de inmediato. La mejor solución es esperar hasta que la aplicación de destino especifique el formato que quiere y después generar solo los datos solicitados. Para ello, configura el objeto DataPackage para que llene solo los datos necesarios mediante una llamada a una función delegada en el momento de la solicitud.


request.data.setDataProvider(Windows.ApplicationModel.DataTransfer.StandardDataFormats.bitmap, onDeferredImageRequested);

Para obtener más información sobre este tipo de uso compartido, consulta Cómo compartir archivos.

Invocación del panel de uso compartido mediante programación

Si dejar que el usuario invoque el uso compartido mediante el acceso a Compartir no es la solución ideal para tu aplicación, puedes invocar el panel de uso compartido mediante programación (para ver ejemplos, consulta Directrices para compartir contenido). En el siguiente ejemplo, se muestra cómo hacerlo.


function showShareUI() {
    Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}

Control de errores y otros problemas

En la mayoría de los casos, proporcionar contenido es un proceso sencillo. Sin embargo, en algunos casos es posible que tu aplicación no pueda compartir. Para ayudar a controlar estas situaciones, el objeto DataRequest admite un método FailWithDisplayText. Usa este método para mostrar un mensaje de texto al usuario si no puede compartir desde una vista determinada o si necesita realizar otros pasos antes de compartir. Por ejemplo, es posible que la aplicación solicite al usuario que seleccione contenido para compartir, pero el usuario no seleccionó nada.

Resumen y next steps

Seguramente ahora comprendes bien cómo funciona el uso compartido de contenido.

Para obtener más información, u obtener ejemplos más específicos de cómo agregar recursos compartidos a tu aplicación, consulta lo siguiente:

Temas relacionados

Elección de formatos de datos para uso compartido
Directrices y lista de comprobación de uso compartido de contenido
Inicio rápido: recepción de contenido compartido

 

 

Mostrar:
© 2018 Microsoft