Compartilhar via


Passar parâmetros de instalação para seu aplicativo por meio do Instalador de Aplicativo

Ao distribuir seu aplicativo com o MSIX, você pode configurá-lo para que os parâmetros da cadeia de caracteres de consulta que você define na URI de download/instalação sejam transmitidos para o aplicativo quando ele é iniciado, após o usuário clicar na URI de download/instalação. Isso funciona se for a primeira vez que um usuário está instalando o aplicativo ou se o aplicativo já tinha sido instalado anteriormente. Este artigo mostra como configurar seu aplicativo empacotado e sua URI de download/instalação para aproveitar essa funcionalidade. Isso pode ser útil se você quiser monitorar ou gerenciar diferentes instalações com base na origem, tipo de download, etc., e funcionará para downloads da web e em quaisquer outros casos em que um usuário clique na URI, como em uma campanha de e-mail. Confira esta postagem de blog para obter mais detalhes.

Configurar seu aplicativo para ativação de protocolo

A primeira coisa a fazer é registrar seu aplicativo para que ele seja iniciado usando um protocolo personalizado que você mesmo define. Quando esse protocolo é acionado, seu aplicativo é iniciado e quaisquer parâmetros especificados na URI são passados para os argumentos de ativação do seu aplicativo quando ele é iniciado. Você pode registrar o protocolo adicionando uma entrada de extensão de protocolo no nó Extensões de Aplicativos no arquivo appxmanifest.xml do seu MSIX:

<Application>
...
   <Extensions>
     <uap:Extension Category="windows.protocol">
        <uap:Protocol Name="my-custom-protocol"/>
     </uap:Extension>
   </Extensions>
  
...
</Application>

Se você estiver usando o Projeto de Empacotamento do Windows, também pode definir um protocolo personalizado usando o editor de manifesto padrão, clicando duas vezes no arquivo package.appxmanifest, navegando até a guia Declarações e selecionando Protocolo em Declarações Disponíveis:

Protocol declaration in package.appxmanifest

Escrever código para manipular parâmetros quando seu aplicativo é iniciado após a instalação

Você precisará programar o código em seu aplicativo para gerenciar os parâmetros de instalação que serão transmitidos para o seu aplicativo quando ele for iniciado. No código de exemplo abaixo, é usado o método AppInstance.GetActivatedEventArgs para determinar o tipo de ativação usado para iniciar um aplicativo (também é possível gerenciar os parâmetros usando um método diferente). Quando seu aplicativo é lançado/ativado com parâmetros de cadeia de caracteres de consulta com base em uma URI de instalação (consulte a definição na próxima seção), o tipo de ativação será uma ativação de protocolo, conforme definido pelo protocolo personalizado declarado em seu appxmanifest.xml e na URI de download/instalação. Os argumentos de ativação serão do tipo ProtocolActivatedEventArgs, e é isso que o código a seguir utiliza:


using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;

public static void Main(string[] cmdArgs)
{
            
    var activationArgs = AppInstance.GetActivatedEventArgs();
    switch (activationArgs.Kind)
    {
        //Install parameters will be passed in during a protocol activation
        case ActivationKind.Protocol:
        HandleProtocolActivation(activationArgs as ProtocolActivatedEventArgs);
        break;
        case ActivationKind.Launch:
        //Regular launch activation type
        HandleLaunch(activationArgs as LaunchActivatedEventArgs);
        break;
        default:
        break;
     }       
    

     static void HandleProtocolActivation(ProtocolActivatedEventArgs args)
     {

         if (args.Uri != null)
        {
            //Handle the installation parameters in the protocol uri
            handleInstallParameter(args.Uri.ToString());

        }
            
}

Adicione seu protocolo de ativação personalizado e parâmetros à URI de instalação

Depois de configurar seu aplicativo para gerenciar os parâmetros de instalação, você pode personalizar a URI de download/instalação do aplicativo para conter parâmetros exclusivamente definidos que serão transmitidos para o seu aplicativo no momento do lançamento, após o usuário clicar na URI. A URI deve conter:

  1. O protocolo ms-appinstaller que invoca o Instalador de Aplicativos.
  2. O parâmetro de ativação exclusivo activationUri que se refere ao protocolo personalizado do seu aplicativo e os parâmetros de instalação que você deseja que sejam repassados para o seu aplicativo quando ele for lançado.
  3. O protocolo personalizado de seu aplicativo e o parâmetro com seu valor.

Nos URIs de exemplo abaixo, defini um protocolo personalizado, my-custom-protocol, um parâmetro, my-parameter, e atribuí a ele o valor my-param-value. Após o usuário clicar na URI e iniciar o aplicativo, o aplicativo receberá a parte da sequência de consulta da URI após activationUri, que, neste caso, será my-custom-protocol:?my-parameter=my-param-value.

ms-appinstaller:?source=https://contoso.com/myapp.appinstaller&activationUri=my-custom-protocol:?my-parameter=my-param-value
ms-appinstaller:?source=https://contos.com/myapp.msix&activationUri=my-custom-protocol:?my-parameter=my-param-value