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
Inicio rápido: compartir contenido