Cómo administrar la activación de URI (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

Una aplicación se puede registrar para convertirse en el controlador predeterminado de un nombre de esquema de identificador uniforme de recursos (URI) específico. Tanto las aplicaciones de escritorio como las aplicaciones de Windows en tiempo de ejecución pueden registrarse para ser el controlador predeterminado de un nombre de esquema de URI. Si el usuario elige tu aplicación como el controlador predeterminado de un nombre de esquema de URI, esta se activará cada vez que ese tipo de URI se inicie.

Te recomendamos que la registres para un nombre de esquema de URI solo si esperas controlar todos los inicios de URI de ese tipo de esquema de URI. Si, en efecto, eliges registrarla para un nombre de esquema de URI, deberás proporcionar al usuario final todas las funciones que se esperan cuando tu aplicación se active para ese esquema de URI. Por ejemplo, una aplicación registrada para el nombre de esquema de URI mailto: debe abrirse en un nuevo mensaje de correo electrónico para que el usuario pueda redactarlo. Para obtener más información sobre las asociaciones de URI, consulta Directrices y lista de comprobación de tipos de archivo y URI.

Estos pasos muestran cómo registrar un nombre de esquema de URI personalizado (alsdk://) y, asimismo, cómo activar la aplicación cuando el usuario inicia un URI alsdk://.

Nota  

En las aplicaciones de la Tienda de Windows Phone, algunas extensiones de archivo y URI se reservan para que las usen aplicaciones integradas y del sistema operativo. Se ignorarán los intentos de registrar aplicaciones con una extensión de archivo o URI reservada. Para obtener más información, consulta la lista de esta página.

Instrucciones

Paso 1: Especificar el punto de extensión en el manifiesto del paquete

La aplicación recibe eventos de activación solo para los nombres de esquema de URI indicados en el manifiesto del paquete. A continuación te mostramos cómo debes indicar que la aplicación controle el nombre de esquema de URI alsdk.

  1. Haz doble clic para abrir package.appxmanifest en el Explorador de soluciones.

    A continuación mostramos una breve descripción de cada uno de los campos que puedes cumplimentar en el manifiesto del paquete:

    Campo Descripción

    Nombre

    Elige un nombre para un grupo de tipos de archivos que comparten el mismo nombre para mostrar, logotipo, información y marcas de edición. Elige un nombre de grupo que pueda continuar siendo el mismo a lo largo de las actualizaciones de la aplicación.

    Nota  El nombre debe estar completamente en minúsculas.
     

    Tipos de archivo reservados o no permitidos

    A continuación encontrarás listas alfabéticas de esquemas URI que no se pueden registrar para tu aplicación porque están reservados o no se permiten:

    Nota  

    Aplicaciones de la Tienda Windows

    application.manifest, application.reference, batfile, blob, cerfile, chm.file, cmdfile, comfile, cplfile, dllfile, drvfile, exefile, explorer.assocactionid.burnselection, explorer.assocactionid.closesession, explorer.assocactionid.erasedisc, explorer.assocactionid.zipselection, explorer.assocprotocol.search-ms, explorer.burnselection, explorer.closesession, explorer.erasedisc, explorer.zipselection, file, fonfile, hlpfile, htafile, inffile , insfile, internetshortcut, jsefile, lnkfile, microsoft.powershellscript.1, ms-accountpictureprovider, ms-appdata, ms-appx, ms-autoplay, msi.package, msi.patch, ms-windows-store, ocxfile, piffile, regfile, scrfile, scriptletfile, shbfile, shcmdfile, shsfile,smb, sysfile, ttffile,unknown, usertileprovider,vbefile,vbsfile, windows.gadget,wsffile, wsfile,wshfile

    Nota  

    Aplicaciones de la Tienda de Windows Phone

    Windows Phone reserva los siguientes esquemas URI para las aplicaciones integradas.

    bing, callto, dtmf, http, https, mailto, maps, ms-excel, ms-powerpoint, ms-settings-airplanemode, ms-settings-bluetooth, ms-settings-cellular, ms-settings-emailandaccounts, ms-settings-location, ms-settings-lock, ms-settings-wifi, ms-word, office, onenote, tel, wallet, xbls, zune

    Windows Phone reserva los siguientes esquemas URI para el sistema operativo.

    Explorer.AssocActionId.BurnSelection, Explorer.AssocActionId.CloseSession, Explorer.AssocActionId.EraseDisc, Explorer.AssocActionId.ZipSelection, Explorer.AssocProtocol.search-ms, Explorer.BurnSelection, Explorer.CloseSession, Explorer.EraseDisc, Explorer.ZipSelection, File, Iehistory, Ierss, Javascript, Jscript, LDAP, Res, rlogin, StickyNotes, telnet, tn3270, Vbscript, windowsmediacenterapp, windowsmediacenterssl, windowsmediacenterweb, WMP11.AssocProtocol.MMS

    Nombre para mostrar

    Especifica el nombre para mostrar para identificar el nombre de esquema de URI en Establecer programas predeterminados en el Panel de control.

    Logotipo

    Especifica el logotipo que se usa para identificar el nombre de esquema de URI en Establecer programas predeterminados en el Panel de control. Si no se especifica ningún logotipo, se usará el logotipo pequeño para la aplicación.

    Vista deseada (solo Windows)

    Especifique la Desired View para indicar la cantidad de espacio que la ventana necesita cuando se inicia para el nombre del esquema de URI. Los posibles valores para Desired View son Default, UseLess, UseHalf, UseMore o UseMinimum.

    Nota  Windows tiene en cuenta diferentes factores a la hora de determinar el tamaño final de la ventana de la aplicación de destino, como por ejemplo, la preferencia de la aplicación de origen, el número de aplicaciones en pantalla, la orientación de la pantalla, etc. Establecer Vista deseada no garantiza un comportamiento de ventanas específico para la aplicación de destino.
     

    Windows 8.1:  Desired View no se admite hasta Windows 8.1 y Windows Server 2012 R2.

    Windows Phone:  Desired View no se admite para Windows Phone.

     

  2. Selecciona la pestaña Declaraciones.

  3. En la lista desplegable, selecciona Protocolo y haz clic en Agregar.

  4. Escribe alsdk como Nombre.

  5. Escribe “images\Icon.png” como Logotipo.

  6. Presiona Ctrl+S para guardar el cambio realizado en package.appxmanifest.

Esto agrega un elemento Extension como este al manifiesto del paquete. La categoría windows.protocol indica que la aplicación controla el nombre de esquema de URI alsdk.


<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.protocol">
               <Protocol Name="alsdk"/>
               <Logo>images\logo.png</Logo>                                     
               <DisplayName>SDK Sample URI Scheme</DisplayName>
            </Extension>                      
         </Extensions>
      </Application>
   </Applications>
</Package>

Paso 2: Agrega los iconos adecuados

Las aplicaciones que se convierten en predeterminadas para un nombre de esquema de URI muestran sus iconos en varios lugares del sistema, como por ejemplo, en el Panel de control Programas predeterminados.

Te recomendamos que incluyas los iconos adecuados con tu proyecto para que el logotipo tenga un aspecto genial en todos los sitios. Para una aplicación de la Tienda Windows, incluye en tu carpeta de imágenes versiones de 16/32/48/256 píxeles del logotipo pequeño y el icono. Para una aplicación de la Tienda de Windows Phone, incluye en su lugar versiones de 63/129/336 píxeles. Haz coincidir el aspecto del logotipo del icono de aplicación con la paleta de colores incorporada y que el logotipo llegue al borde sin que quede espacio entre ellos. Prueba los iconos en fondos de color blanco. Para ver iconos de ejemplo, consulta el ejemplo de inicio por asociación (Windows).

El Explorador de soluciones con una vista de los archivos en la carpeta de imágenes. Hay versiones de 16, 32, 48 y 256 píxeles de ‘Icon.targetsize’ y ‘smallTile-sdk’

Paso 3: Registrar la aplicación para el evento activado

Realiza el registro para el evento activated para controlar la activación de URI.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

Paso 4: Administrar el evento activado

El controlador de eventos activated registrado en el paso 1 recibe todos los eventos de activación. La propiedad kind indica el tipo de evento de activación. Este ejemplo está configurado para administrar eventos de activación de protocol.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind == Windows.ApplicationModel.Activation.ActivationKind.protocol) 
   {
       // TODO: Handle URI activation.

       // The received URI is eventArgs.detail.uri.rawUri
   }
}

Observaciones

Cualquier aplicación o sitio web puede usar tu nombre de esquema de URI, incluidos los malintencionados. Por este motivo, los datos que incluyes en el URI podrían provenir de un origen que no es de confianza. Te desaconsejamos que realices una acción permanente en función de los parámetros que recibes en el URI. Puedes usar parámetros de URI, por ejemplo, para que la aplicación se inicie en una página de cuenta del usuario, pero no te recomendamos que los uses para modificar directamente la cuenta del usuario.

Nota  Si vas a crear un nuevo nombre de esquema de URI para tu aplicación, asegúrate de seguir las directrices de RFC 4395. Esto garantiza que el nombre cumpla los estándares de los esquemas de URI.

 

Nota  

Si se inician a través del contrato Protocolo, las aplicaciones de la Tienda de Windows Phone deben asegurarse de que el botón Atrás lleve al usuario de vuelta a la pantalla que inició la aplicación, y no al contenido anterior de la aplicación.

Es recomendable que las aplicaciones creen un marco XAML por cada evento de activación que abra un nuevo destino de URI. Así, la navegación hacia atrás del nuevo marco XAML no incluirá nada del contenido anterior que la aplicación tuviera en la ventana actual al pasar a suspensión.

Las aplicaciones que decidan usar un único marco XAML para los contratos de inicio y protocolo deben borrar las páginas en el diario de navegación del marco antes de trasladarse a una página nueva. Cuando se inician mediante un contrato de protocolo, las aplicaciones deben considerar incluir UI que permita al usuario volver atrás al inicio de la aplicación.

Ejemplo completo

Consulta el ejemplo de inicio por asociación (Windows).

Temas relacionados

Conceptos

Programas predeterminados

Modelo de asociación de tipos de archivo y URI

Guía sobre compatibilidad de Windows 8 Release Preview y Windows Server 2012 RC (información de modelo de usuario)

Tareas

Cómo iniciar la aplicación predeterminada de un URI

Cómo administrar la activación de archivos

Directrices

Directrices y lista de comprobación de tipos de archivo y URI

Referencia

Windows.UI.WebUI.WebUIProtocolActivatedEventArgs

WinJS.Application.onactivated