Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um cenário comum quando se constroem apps é a necessidade de partilhar uma "ligação profunda" com um ecrã específico. As ligações profundas são úteis quando pretende levar os utilizadores diretamente a um ecrã e dados específicos, em vez de lhes pedir que naveguem a partir do ecrã "home" da sua aplicação.
Para uma ligação profunda para o Power Apps, utilizará esta sintaxe URL: https://apps.powerapps.com/play/{App ID}?{Query}
.
Nesta sintaxe:
- ID de Aplicação — ID da aplicação. Aceda a Power Apps>Aplicações> Selecione a sua aplicação >Detalhes.
- Consulta — O texto de consulta permite-lhe fornecer os dados para uma ligação profunda. Terá de fazer algumas alterações de código na sua aplicação de tela para utilizar os parâmetros fornecidos para abrir a aplicação utilizando o URL de consulta.
Neste artigo irá aprender a :
- Criar uma aplicação de tela para lidar com o parâmetro de consulta.
- Criar uma UI para enviar um link profundo diretamente a partir de um ecrã da sua aplicação.
- Utilizar a aplicação para navegar para uma conta específica, enviar um e-mail com o link profundo e usar o link do e-mail recebido para abrir a app diretamente para essa conta.
Pré-requisitos
- Licença do Power Apps
- Se é novo em Power Apps, familiarize-se com o básico Power Apps, gerando uma app e, em seguida, personalizando os controlos, galeria, formulários e cartões.
- Para criar uma aplicação, é necessário que tenha a função de Segurança Criador do Ambiente atribuída.
Criar a aplicação
Criar uma aplicação utilizando a tabela Contas no Microsoft Dataverse.
A sua aplicação abre o BrowseScreen, que mostra uma lista de contas numa galeria. Por predefinição, esta galeria mostra um endereço de e-mail, uma localidade e um nome da conta. A aplicação também contém DetailScreen e EditScreen.
Atualizar navegação
Agora vai definir a navegação para usar um contexto que usaremos para levar o utilizador a outro ecrã.
No ecrã BrowseScreen, selecione Esquema sob as propriedades da galeria e selecione Título, subtítulo e corpo
Selecione o primeiro registo da galeria BrowseGallery. E depois, em OnSelect introduza o seguinte:
Navigate(DetailScreen1, Fade, {accountVal:ThisItem})
A função Navigate() cria uma variável de contexto chamada accountVal. Esta variável é povoada sempre que seleciona um registo da galeria. Ao selecionar o registo, será levado para o DetailScreen com o valor selecionado (neste exemplo, conta) em accountVal.
A partir da vista árvore no lado esquerdo do ecrã, expanda o DetailScreen1 e selecione DetailForm1.
A partir do painel de propriedades no lado direito do ecrã, selecione Editar campos e adicione os campos conta, Contacto principal e E-mail.
Selecione DetailForme defina item para accountVal.
Guardar com o nome "Conta de ligação profunda".
Obter o ID da Aplicação
O ID de aplicação é um GUID único que representa uma determinada aplicação, e que é gerado quando guarda a app na nuvem.
Para obter o ID de Aplicação, abra um novo separador e aceda a Power Apps>Aplicações> Selecione a sua aplicação >Detalhes. Mais informações: Obter um ID de aplicação
Ativar uma ligação profunda a um ecrã
O objetivo deste exemplo é levar os utilizadores ao DetailsScreen1 quando a aplicação for lançada com o parâmetro de consulta accountId como parte do URL da aplicação. Para o efeito, utilizaremos a função Param() que recupera o parâmetro de cadeia de consulta fornecido durante o lançamento da app.
Selecione App na Vista de árvore no lado esquerdo do ecrã.
Sugestão
Se tiver fechado Power Apps Studio, reabra a aplicação "Conta ligação avançada" guardada editando a aplicação.
Selecione a propriedade OnStart da lista de propriedades.
Para armazenar o valor de ID de aplicação, atualize a fórmula de propriedade OnStart tal como abaixo.
Set(AppID, "GUID"); If(Not(IsBlank(Param("accountId"))),Set(accountId,Param("accountId")));
Nesta fórmula, a função Set() define o ID de aplicação para o GUID da aplicação. E a função Param() armazena o valor na variável accountId quando não está em branco.
Nota
Certifique-se de que substitui "GUID" na fórmula acima para o seu ID de aplicação, conforme apropriado.
Selecione a propriedade StartScreen para a aplicação e adicione o seguinte:
If(Not(IsBlank(Param("accountId"))),DetailScreen1,BrowseScreen1)
Esta função verifica se o Param. está em branco e, em seguida, permaneça no BrowseScreen1. Caso contrário, vá ao DetailScreen1.
Selecione DetailScreen1 a partir da Vista árvore.
Selecione a propriedade OnVisible e introduza o seguinte:
If(Not(IsBlank(accountId)), UpdateContext({accountVal:LookUp(Accounts, Account = GUID(accountId))}))
Esta função utiliza accountId armazenada a partir do passo anterior para definir a variável accountVal.
Crie o URL de ligação profunda
A sua aplicação está agora configurada para receber o accountId como o parâmetro que contém o GUID para uma conta a partir da tabela Contas. E quando este parâmetro for fornecido com o pedido à app, a aplicação abrirá diretamente o ecrã de detalhes (DetailScreen1) com a conta accountId.
Para invocar a aplicação com o valor do parâmetro, temos de usar a seguinte sintaxe:
https://apps.powerapps.com/play/{App ID}?{Query}
Na sintaxe acima, temos de adicionar o ID da aplicação e a consulta que contém a variável accountId com o seu valor.
Por exemplo, quando o seguinte URL foi introduzido num navegador para o inquilino da amostra, a Conta de ligação avançada abriu diretamente com o valor do parâmetro accountId da conta fornecida (neste exemplo, "A. Datum Corporation (exemplo)"): https://apps.powerapps.com/play/061b64cd-e5a0-4a7a-a77f-b6f8586dd6c7?accountId=01e5bf81-7d44-ec11-8c60-002248094566
Enviar ligação avançada em e-mail
Também podemos fornecer uma accountVal variável para apontar para o ID da conta em vez de usar link absoluto explicado acima, enquanto invoca o URL para a conta dada a partir de dentro da app.
Para isso, vamos criar um botão e adicionar a capacidade de invocar um e-mail a partir da aplicação com a ligação avançada para o ecrã de detalhes da conta selecionada a partir da aplicação Conta de ligação avançada.
Selecione Dados no lado esquerdo do ecrã.
Selecione Adicionar dados> pesquise e selecione Office 365 Outlook> e selecione Ligar.
Nota
Esta ação adiciona a ligação Outlook Microsoft 365 para que possamos usar os próximos passos para invocar a composição de um e-mail para partilhar a informação da conta.
Selecione DetailScreen1 a partir da Vista árvore.
Insira um botão na parte inferior direita do ecrã e mude o seu nome para Conta partilhada.
Na propriedade OnSelect do botão, insira o seguinte:
Office365Outlook.SendEmailV2("Recipient", "Subject", "Here's the deep link to the selected account - https://apps.powerapps.com/play/{App ID}?accountId=" & accountVal.Account)
Esta fórmula utiliza o conector Microsoft 365 para o Outlook para enviar um e-mail utilizando a operação SendEmailV2.
Nota
Substitua Destinatário, Sujeito e AppID na fórmula acima referida pelo endereço de e-mail do destinatário, sujeito para o e-mail e o ID da app.
Guarde e publique a aplicação.
Testar a aplicação
Executar a aplicação e ir para o ecrã de detalhes para qualquer conta. E, em seguida, selecione o botão Partilhar conta. A fórmula do botão OnSelect aciona um e-mail para o destinatário com o sujeito e o corpo configurados anteriormente. Aqui está uma amostra de e-mail enviada pela aplicação configurada:
Abra o e-mail e copie a ligação avançada que aponta para a conta selecionada, e será levado diretamente para o ecrã de detalhes da conta na app de Conta de ligação avançada, em vez do ecrã de navegação predefinido.