自定义并生成移动应用

之前,您了解了整合功能的功能、它的工作原理以及好处。 在本文中,您将了解如何使用整合功能将一个或多个画布应用打包为单个本机移动应用包。

先决条件

  • 您需要访问 Azure 门户来注册您的应用,并在 Microsoft 身份平台上配置 API 权限。
  • 您需要访问 Visual Studio App Center 来添加新组织和应用。
  • 您将需要一个或多个画布应用(保存在解决方案中),您可以将其打包来向移动用户分发。
  • 要使用 Android 平台,请确保生成密钥,然后生成签名哈希,然后再注册应用。 您需要生成的签名哈希来配置重定向 URI

在您的环境中安装 Power Apps 整合功能

整合功能将创建画布应用的移动版本,您可以通过以下分发渠道将其作为自定义品牌的 Android 和 iOS 本机移动应用进行分发,如 Microsoft IntuneMicrosoft App CenterGoogle Play 商店Apple Business Manager

要使用 Power Apps 整合功能,您需要将其安装在您的环境中。 转到 Power Platform 管理中心上的 Dynamics 365 应用部分,选择 Power Apps 整合并单击安装选项。

安装 Power Apps 整合功能。

从列表中选择您的环境,然后单击安装按钮。

选择环境并开始安装。

备注

您需要具有环境管理员权限才能安装 Power Apps 整合功能。

将画布应用添加到解决方案

Power Apps 整合功能要求应用是解决方案的一部分。 如果您的画布应用还不是解决方案的一部分,请将它们添加到现有或新的解决方案中。 转到解决方案部分,选择一个解决方案,然后按编辑按钮。

选择解决方案。

从顶部菜单中选择 + 添加现有项选项,然后在下拉列表中选择应用 > 画布应用

从菜单中选择“添加现有项”。

选择在 Dataverse 之外选项卡,然后从列表中选择您的应用。 按添加按钮将此应用添加到解决方案中。

选择“将应用添加到解决方案中”。

详细信息:将应用添加到解决方案

应用注册

使用 Azure 门户在组织目录中为您的应用创建新注册。 有关详细步骤,请参阅快速入门:向 Microsoft 身份平台注册应用程序

备注

单租户和多租户客户都可以使用整合功能根据其 Power Apps 画布应用创建本机移动应用。

无论您是单租户还是多租户制作者,在为您的应用选择支持的帐户类型以对其启用整合时,必须选择包含任何 Azure AD 目录 - 多租户的任何选项。 选择以下帐户类型之一:

  • 任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户
  • 任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)

 应用注册 - 整合支持的帐户类型。

重要

  • 整合目前仅支持多租户帐户类型。 还不支持单租户帐户类型。 关于帐户类型的详细信息:Microsoft 身份平台中的帐户类型
  • 为确保重定向 URI所需格式匹配,请不要在创建应用注册时创建重定向 URI。 应用注册完成后,转到应用,然后选择身份验证 > + 添加平台添加平台。
  • 您必须为要定位的每个平台(iOS、Android)创建一个单独的重定向 URI

注册应用后,复制应用程序(客户端)ID重定向 URI,您稍后在 Power Apps 中配置整合项目时将需要这些信息。 详细信息:注册应用程序

重定向 URI 格式

对于 iOS,重定向 URI 只需要捆绑销售 ID

iOS 示例:

  • 捆绑销售 IDcom.contoso.myapp
  • 重定向 URImsauth.com.contoso.myapp://auth

对于 Android,重定向 URI 需要有包名称签名哈希。 要创建签名哈希,生成密钥,然后生成签名哈希

Android 示例:

  • 包名称com.contoso.myapp
  • 重定向 URImsauth://com.contoso.myapp/<generated signature hash>

在您的环境中允许注册的应用

您需要在 Power Platform 环境中允许使用 Azure 门户注册的应用。 要执行此步骤,使用面向管理员的最新版本的 Power Apps PowerShell 模块,并使用应用注册步骤中的应用程序(客户端)ID 运行以下 cmdlet:

Add-AdminAllowedThirdPartyApps -ApplicationId <App ID>

备注

  • 此 cmdlet 在面向管理员Power Apps PowerShell 模块 的 2.0.144 或更高版本中可用。
  • 您需要全局租户管理员特权来运行此 cmdlet。 此 cmdlet 允许管理员指定 Azure AD 中哪些已注册的第 3 方应用程序可以调用 Power Platform 连接。

配置 API 权限

为您之前使用 Azure 门户注册的应用添加和配置以下 API 权限:

  • Microsoft API
    • Dynamics CRM
  • 我的组织使用的 API
    • Azure API 连接
    • PowerApps 服务
    • Power BI(仅在画布应用使用 Power BI 数据时需要)
    • Microsoft 移动应用管理(仅在您希望使用 Microsoft Intune 进行移动应用分发时需要)

备注

如果您在我的组织使用的 API 下找不到权限,请根据需要运行以下 PowerShell 命令,然后重试:

  • 缺少 Azure API 连接权限:
    Connect-AzureAD -TenantId <your tenant ID>
    New-AzureADServicePrincipal -AppId fe053c5f-3692-4f14-aef2-ee34fc081cae -DisplayName "Azure API Connections"
    
  • 缺少 PowerApps 服务权限:
    Connect-AzureAD -TenantId <your tenant ID>
    New-AzureADServicePrincipal -AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 -DisplayName "PowerApps Service"
    

有关详细步骤,请参阅在应用注册门户中请求权限

为移动应用创建 App Center 容器

在此步骤中,您将使用 App Center 为您的移动应用创建应用容器。 详细信息:App Center 容器

提示

有关 App Center 的详细信息,请转到 Visual Studio App Center 文档

  1. 转到 App Center

  2. 使用您的工作或学校帐户登录。

  3. 如果您没有任何现有组织,选择新增 > 添加新组织创建新组织。

  4. 从左侧窗格的列表中选择组织。

  5. 选择应用 > 添加应用

  6. 输入应用名称。

  7. 选择应用发布类型。

  8. 为 iOS 应用选择自定义操作系统,或为 Android 应用选择 Android 操作系统。

    备注

    您必须为每个平台创建单独的 App Center 容器。

  9. 对于 Android 操作系统,平台选择React Native

    备注

    对于 App Center 中的所有应用,平台均必须为 React Native

    App center 应用配置。

  10. 选择添加新应用

  11. 复制应用的 App Center URL,稍后在 Power Apps 中配置整合项目时将需要此信息。

    例如,https://appcenter.ms/orgs/Contoso-sales/apps/Sample-canvas-app-for-Android-OS/

    App center URL。

    详细信息:App Center URL

  12. 为应用访问创建一个新的 API 令牌,并复制它以在稍后配置画布应用项目时使用。 详细信息:App Center API 令牌

    1. 从左侧选择设置
    2. 选择应用 API 令牌
    3. 选择新建 API 令牌
    4. 输入说明。
    5. 选择完全访问权限
    6. 选择添加新 API 令牌

      备注

      确保在关闭对话框之前复制令牌。

    7. 复制令牌,并进行保存以供稍后配置画布应用整合时使用。 App center 令牌。

重复上述步骤为任何其他操作系统类型创建应用。

创建整合项目

使用您的主画布应用,使用您在前面步骤中配置的 Microsoft 身份平台和 App Center 中的应用信息创建一个整合项目。 详细信息:构建整合项目

要创建整合项目,转到 Power Apps > 应用 > 选择主画布应用 > 选择整合,输入本节中所述的整合项目详细信息。 输入所有详细信息后,选择保存 > 构建构建项目。

根据选择的平台,构建过程会将请求排队,来为 Android、iOS 或 Google 平台创建包。

备注

根据工作负荷,构建过程可能需要几个小时完成。

成功构建后,您将在 App Center 中看到您的移动应用。

显示名称

当移动应用出现在移动设备主屏幕上时它的显示名称。

次要应用

可选。 同一个移动应用包中的捆绑销售的其他应用。 详细信息:次要应用主要应用

应用平台

根据您选择的平台确定整合构建过程的输出类型。 详细信息:应用平台

注册我的应用(预览版)

可选Azure 密钥保管库 URI 允许通过配置包含所需证书的密钥保管库进行自动应用签名以进行分发。 详细信息:设置密钥保管库以进行自动签名

重要

  • 这是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。

捆绑销售 ID

唯一标识移动应用的捆绑销售 ID。 例如,com.contoso.myapp。 详细信息:捆绑销售 ID

应用程序(客户端)ID

之前向 Microsoft 身份平台注册的应用的客户端 ID。 详细信息:应用程序(客户端)ID

重定向 URI

之前创建的用于在成功登录向 Microsoft 身份平台注册的应用后重定向的 URL。 详细信息:重定向 URI

App Center URL

对于 iOS、Android 或 Google Play 商店,这是指之前复制的 App Center URL。 详细信息:App Center URL

App Center API 令牌

之前创建的令牌。 详细信息:App Center API 令牌

外观

配置应用图标、屏幕图像、颜色和主题:

带有突出显示的加以编号的项目的应用的外观 - 1 - 应用图标、2 - 初始屏幕图像、3 - 欢迎屏幕图像、4 - 背景填充颜色、5 - 按钮填充颜色、6 - 状态栏文本主题、7 - 设置选项

iOS 应用图标/Android 应用图标

特定于 iOS、Android 或 Google Play 商店平台的应用的图标图像。 图标图像文件大小必须与所需的像素数一致。 [1]

屏幕图像

  • 初始屏幕图像

    加载时将在移动应用的初始屏幕上使用的图像。 未提供时使用的默认图像。 [2]

  • 欢迎屏幕图像

    加载时将在移动应用的欢迎(登录)屏幕上使用的图像。 未提供时使用的默认图像。 [3]

颜色

  • 背景填充色

    用于欢迎屏幕背景的十六进制颜色代码。 [4]

  • 按钮填充色

    用于填充按钮颜色的十六进制颜色代码。 [5]

状态栏文本主题

应用顶部状态栏文本的颜色。 [6]

设置

带您进入应用设置。 使用抖动手势时也可用。 无法自定义。 [7]

  • 应用名称 - 应用的名称,后跟应用捆绑销售 ID。
  • 应用版本 - 应用的版本号;自动生成。
  • 平台版本 - Power Apps Mobile 平台的版本。
  • 会话 ID - 当前打开的会话的 ID。
  • 清除缓存 - 将整合的应用重置为默认设置。
  • 应用设置 - 显示属于当前包一部分的应用的列表。 从此列表中选择应用会显示应用详细信息,包括应用可能被配置使用的连接器信息。

设置密钥保管库以进行自动签名

先决条件

执行以下步骤配置密钥保管库 URI:

  1. 以管理员身份登录您的租户,通过运行以下脚本为 1P AAD 应用程序创建 Azure 服务主体:4e1f8dc5-5a42-45ce-a096-700fa485ba20 (WrapKeyVaultAccessApp):

    1. Connect-AzureAD -TenantId <your tenant ID>
    2. New-AzureADServicePrincipal -AppId 4e1f8dc5-5a42-45ce-a096-700fa485ba20 -DisplayName "Wrap KeyVault Access App"
  2. 在将要存在密钥保管库的订阅中,将角色添加到上面列出的服务主体。 有关详细步骤,请参阅将用户分配为 Azure 订阅的管理员。 注意:在步骤 3 中,您可以选择参与者,因为访问密钥保管库只需要最低限度的角色。

  3. 创建或访问现有密钥保管库:使用 Azure 门户创建密钥保管库

  4. 为密钥保管库添加访问策略。

    为密钥保管库添加访问策略。

  5. 根据您的设备,执行下列操作之一:

    • 对于 Android,创建 .pfx 文件,并将文件上载到密钥保管库证书部分。 详细信息:生成密钥

      为 Android 创建证书。

      备注

      证书的名称必须出现在标记步骤中。 密码还需要与您在步骤 2 中存储用于创建 .pfx 文件的传递参数时输入的密码相一致。

    • 针对 iOS:

      1. 双击 .cer 将证书安装到 Keychain Access 应用中。 详细信息:创建分发证书
        然后右键单击证书文件,选择导出并选择文件格式 .p12 将文件导出为 .p12 文件。

        备注

        在下一步将文件上载到密钥保管库时,需要您在步骤 4 中设置的 .p12 密码。

      2. 创建预配配置文件并运行以下命令将其编码为 base64:

        • Mac:base64 -i example.mobileprovision
        • Windows:certutil -encode data.txt tmp.b64
      3. 从上一步获取输出的 base64 字符串并上载到密钥保管库密码。 然后,获取 .p12 文件并将其上载到密钥保管库证书。

        为 iOS 创建证书。

  6. 创建并上传 iOS 或 Android 证书后,添加三个标记,名称为捆绑销售 ID,值对应于已上传证书的名称。

    添加标记。

代码签名

代码签名过程对于 Android 和 iOS 设备不同。

测试和分发移动应用包

要了解测试和分发,请参阅 App Center 测试分发

另请参见