创建带有指向特定屏幕的深层链接的画布应用
发布时间:2026-09-17 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
构建应用时的一个常见场景是需要将“深层链接”共享到特定屏幕。 当您希望让用户直接访问特定屏幕和数据而不是让他们从应用的“主”屏幕导航时,深层链接非常有用。
要深度链接到 Power Apps,您需要使用以下 URL 语法: https://apps.powerapps.com/play/{App ID}?{Query} 。
应用 ID - 应用程序的 ID。 转到 Power Apps > 应用程序 > 选择您的应用程序> 详细信息 。
查询 - 查询文本允许您提供要深度链接的数据。 您需要对画布应用进行一些代码更改,以使用提供的参数通过查询 URL 打开应用。
设置一个画布应用来处理查询参数。
创建一个 UI,用于直接从您的应用屏幕通过电子邮件发送深层链接。
使用应用浏览到特定客户,发送包含深层链接的电子邮件,然后使用收到的电子邮件中的链接直接将应用打开到该客户。
如果您不熟悉 Power Apps,请通过 生成应用 然后自定义该应用的 控件 、 库 、 窗体 和 卡 来熟悉 Power Apps 的基础知识。
若要创建应用,须具有 环境创建者 安全角色。
使用 Microsoft Dataverse 中的 客户 表 创建应用 。
您的应用将打开到 BrowseScreen ,其中显示库中的客户列表。 默认情况下,此库显示一个电子邮件地址、一个城市和一个客户名称。 此应用还包含 DetailScreen 和 EditScreen 。
现在,您将设置导航以使用我们要用于将用户带到另一个屏幕的上下文。
在 BrowseScreen 屏幕上,选择库属性下的 布局 ,然后选择 标题、副标题和正文
在 BrowseScreen 屏幕上,选择库属性下的 布局 ,然后选择 标题、副标题和正文
选择 BrowseGallery 库的第一个记录。 然后,在 OnSelect 下,输入: Navigate(DetailScreen1, Fade, {accountVal:ThisItem}) Navigate() 函数将创建一个名为 accountVal 的上下文变量。 每当您从库中选择记录时,都会填充此变量。 选择记录后,您将被带到 DetailScreen ,其中包含 accountVal 中的选定值(在本例中为“客户”)。
选择 BrowseGallery 库的第一个记录。 然后,在 OnSelect 下,输入:
Navigate() 函数将创建一个名为 accountVal 的上下文变量。 每当您从库中选择记录时,都会填充此变量。 选择记录后,您将被带到 DetailScreen ,其中包含 accountVal 中的选定值(在本例中为“客户”)。
从屏幕左侧的 树视图 ,展开 DetailScreen1 ,然后选择 DetailForm1 。
从屏幕左侧的 树视图 ,展开 DetailScreen1 ,然后选择 DetailForm1 。
从屏幕右侧的属性窗格中,选择 编辑字段 ,然后添加 客户 、 主要联系人 和 电子邮件 字段。
从屏幕右侧的属性窗格中,选择 编辑字段 ,然后添加 客户 、 主要联系人 和 电子邮件 字段。
选择 DetailForm ,将 项目 设置为 accountVal 。
选择 DetailForm ,将 项目 设置为 accountVal 。
保存 ,使用名称“客户深层链接”。
保存 ,使用名称“客户深层链接”。
应用 ID 是代表给定应用的唯一 GUID,在您将应用保存到云时生成。
要获取 应用 ID ,请打开新标签页并转到 Power Apps > 应用程序 > 选择您的应用程序> 详细信息 。 详细信息: 获取应用 ID
此示例的目标是在应用启动时将用户带到 DetailsScreen1 ,并将 accountId 查询参数作为应用 URL 的一部分。 为此,我们将使用启动应用时检索提供的查询字符串参数的函数 Param() 。
从屏幕左侧的 树视图 中选择 应用 。 小费 如果您已关闭 Power Apps Studio,请通过 编辑 应用重新打开已保存的“客户深层链接”应用。
从屏幕左侧的 树视图 中选择 应用 。
如果您已关闭 Power Apps Studio,请通过 编辑 应用重新打开已保存的“客户深层链接”应用。
从属性列表中选择 OnStart 属性。
从属性列表中选择 OnStart 属性。
要存储 应用 ID 值,请更新 OnStart 属性公式,如下所示。 Set(AppID, "GUID"); If(Not(IsBlank(Param("accountId"))),Set(accountId,Param("accountId"))); 在此公式中,函数 Set() 将 应用 ID 设置为应用的 GUID。 函数 Param() 将值存储在 accountId 变量中(如果不为空)。 备注 确保将上述公式中的“GUID”相应地替换为您的应用 ID。
要存储 应用 ID 值,请更新 OnStart 属性公式,如下所示。
在此公式中,函数 Set() 将 应用 ID 设置为应用的 GUID。 函数 Param() 将值存储在 accountId 变量中(如果不为空)。
确保将上述公式中的“GUID”相应地替换为您的应用 ID。
选择应用的 StartScreen 属性,并添加: If(Not(IsBlank(Param("accountId"))),DetailScreen1,BrowseScreen1) 此函数检查 Param 是否为空,然后停留在 BrowseScreen1 上。 或者,转到 DetailScreen1 。
选择应用的 StartScreen 属性,并添加:
此函数检查 Param 是否为空,然后停留在 BrowseScreen1 上。 或者,转到 DetailScreen1 。
从 树视图 中选择 DetailScreen1 。
从 树视图 中选择 DetailScreen1 。
选择 OnVisible 属性,输入: If(Not(IsBlank(accountId)), UpdateContext({accountVal:LookUp(Accounts, Account = GUID(accountId))})) 此函数使用上一步中存储的 accountId 来设置 accountVal 变量。
选择 OnVisible 属性,输入:
此函数使用上一步中存储的 accountId 来设置 accountVal 变量。
您的应用现在已配置为作为参数接收 accountId ,其包含 客户 表中客户的 GUID。 当向应用发起的请求中提供此参数时,应用将使用给定的 accountId 直接打开详细信息屏幕 ( DetailScreen1 )。
要使用参数值调用应用,我们必须使用以下语法:
https://apps.powerapps.com/play/{App ID}?{Query}
在上述语法中,我们必须添加 应用 ID 和包含 accountId 变量及其值的查询。
例如,在示例租户的浏览器中输入以下 URL 时,应用 客户深层链接 直接使用提供的 accountId 参数值打开(在本例中为“A. Datum Corporation(示例)”): https://apps.powerapps.com/play/061b64cd-e5a0-4a7a-a77f-b6f8586dd6c7?accountId=01e5bf81-7d44-ec11-8c60-002248094566
我们还可以提供一个变量 accountVal 来指向客户的 ID,而不是使用上面解释的绝对链接,同时从应用内部调用给定客户的 URL。
为此,我们将创建一个按钮,并添加可从 客户深层链接 应用使用指向所选客户详细信息屏幕的深层链接在应用中调用电子邮件的功能。
选择 添加数据 >搜索并选择 Office 365 Outlook > 选择 连接 。 备注 此操作添加 Microsoft 365 Outlook 连接,以便我们可以使用后续步骤调用撰写电子邮件以共享客户信息。
选择 添加数据 >搜索并选择 Office 365 Outlook > 选择 连接 。
此操作添加 Microsoft 365 Outlook 连接,以便我们可以使用后续步骤调用撰写电子邮件以共享客户信息。
从 树视图 中选择 DetailScreen1 。
从 树视图 中选择 DetailScreen1 。
在屏幕右下角插入一个按钮,并将其重命名为 共享客户 。
在屏幕右下角插入一个按钮,并将其重命名为 共享客户 。
在按钮的 OnSelect 属性上,输入: Office365Outlook.SendEmailV2("Recipient", "Subject", "Here's the deep link to the selected account - https://apps.powerapps.com/play/{App ID}?accountId=" & accountVal.Account) 此公式使用 Outlook 的 Microsoft 365 连接器使用 SendEmailV2 操作发送电子邮件。 备注 将上述公式中的 Recipient 、 Subject 和 AppID 替换为收件人的电子邮件地址、电子邮件的主题和应用的 ID。
在按钮的 OnSelect 属性上,输入:
此公式使用 Outlook 的 Microsoft 365 连接器使用 SendEmailV2 操作发送电子邮件。
将上述公式中的 Recipient 、 Subject 和 AppID 替换为收件人的电子邮件地址、电子邮件的主题和应用的 ID。
运行应用,然后转到任何客户的详细信息屏幕。 然后,选择 共享客户 按钮。 OnSelect 按钮公式会触发一封电子邮件发送给收件人,使用之前配置的主题和正文。 以下是配置的应用发送的示例电子邮件:
打开电子邮件,复制指向所选客户的深层链接,您将直接进入 客户深层链接 应用中的客户详细信息屏幕,而不是默认的浏览屏幕。
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
Last updated on 2023-03-16