使用此指南将一个或多个画布应用转换为单个自定义品牌应用包,您可将其部署到 Google Play 和 iOS App Store。
通过 Power Apps 中的封装功能,您可以将画布应用程序创建为本地移动版本,作为自定义品牌 Android 和 iOS 移动应用程序(IPA、APK、AAB 包)。 您可以通过 Google Play、Apple Business Manager 或其他本机分发方法,向最终用户分发这些封装的本机移动应用程序。
当您更新并重新发布应用时,系统会自动为用户更新打包的应用。
使用封装向导创建自定义品牌原生应用的步骤
1. 登录并启动封装项目
- 转到 Power Apps Maker Portal。
- 在左侧导航窗格中选择整合。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。
- 选择要封装的应用,然后在命令栏上选择封装。
2. 选择应用
在选择要封装的应用界面中,选择主应用(用户启动时看到的主应用)以及任何可选的次要应用以打包。
- 主应用:用户启动移动应用时看到的主应用。
- 次要应用:可选的附加应用,与主应用打包在同一移动应用包中。
备注
- 您可以在多个整合项目中使用相同的主要应用。
- 如果主应用名称显示不正确,请继续执行下一步,然后返回刷新名称。
选择下一步。
3. 选择目标平台
在选择要面向的平台屏幕上,输入捆绑包 ID。
备注
捆绑包 ID 是应用的唯一标识符。 它必须包含一个句点(.)并且不能包含空格。 生成并上传 iOS 或 Android 证书后,在创建 Azure 密钥保管库时,使用相同的捆绑包 ID。 如果已经创建了 Azure 密钥保管库,请在 Azure 门户的标记部分验证捆绑 ID。
在目标平台下,选择用户所需的所有移动平台。
从列表中选择 Azure 密钥库 URI。
如果未看到任何条目,请创建 Azure 密钥保管库。如果尚未创建,请创建 Azure 块存储帐户和容器:
- 更多信息:创建 Azure 存储账户
- 教程视频:如何创建存储帐户
在 Azure 门户中的密钥保管库:
a. 前往密钥创建 Azure 块存储访问密钥的密钥。
- 更多信息:向密钥保管库添加密钥
- 要查看和复制访问密钥:查看账户访问密钥
b. 在密钥值字段中输入 Azure blob 存储访问密钥。
- 更多信息:向密钥保管库添加密钥
在您的密钥保管库中,前往标签并创建一个新标签,其值与上述密钥值相同。
将登录我的应用程序开关设置为开或关。
- 如果开启:按照自动化代码签名步骤中的步骤进行操作
- 如果关闭:您需要稍后手动进行签名
选择下一步。
4. 注册您的应用
在注册您的应用屏幕上,在 Azure 中注册您的应用以与 Microsoft 身份平台之间建立信任关系。
如果您已注册应用:
- 在拥有的注册字段中找到您的注册。
如果您未看到已注册的应用:
将管理员允许的第三方应用配置为 Azure 租户管理员
包装向导会自动配置所需的 API 权限。 授予管理员访问权限:
- 以管理员身份打开 Windows PowerShell。
- 运行以下命令:
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -AllowClobber -Force Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Import-Module -Name Microsoft.PowerApps.Administration.PowerShell Add-AdminAllowedThirdPartyApps Get-AdminAllowedThirdPartyApps
- 出现提示时提供应用 ID。
完成这些步骤后,注册屏幕将如下所示:
以 Azure 租户管理员身份授予 API 权限
Azure admin 在注册时授予 API 权限。 更多信息:在企业应用程序窗格中授予整个租户的管理员同意权限。
如果在我的组织使用的 API 找不到权限,则以 Azure 管理员身份运行这些 PowerShell 命令
请确保模块 Microsoft Graph 可用,或者进行安装:
Install-Module -Name Microsoft.Graph
为静态 AppId fe053c5f-3692-4f14-aef2-ee34fc081cae 授予 Azure API 连接权限
Connect-MgGraph -TenantId <your tenant ID> New-MgServicePrincipal -AppId fe053c5f-3692-4f14-aef2-ee34fc081cae -DisplayName "Azure API Connections"
为静态 AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 授予 PowerApps Service 权限
Connect-MgGraph -TenantId <your tenant ID> New-MgServicePrincipal -AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 -DisplayName "PowerApps Service"
备注
如果仅显示应用程序名称字段可见,请继续执行下一步并选择 Android 作为目标平台以显示签名哈希字段。
手动配置 API 权限(可选)
如果出现错误,请手动配置 API 权限。 有关更多信息,请参阅添加和配置。
所需 API 权限
API 类型 | 特定 API | 原因 |
---|---|---|
Microsoft API | Dynamics CRM | 应用程序需要 user_impersonation 调用 Dataverse 才能为用户提供服务。 |
我的组织使用的 API | Azure API 连接 | 应用程序需要 Runtime.All 来调用 Power Platform 中的任何连接器。 |
我的组织使用的 API | PowerApps 服务 | 应用程序需要 User 权限从 Power Platform 联系 Power Apps 后端服务。 |
我的组织使用的 API | Power BI | 应用程序需要 Power BI 权限来访问或嵌入 Power BI 内容。 |
我的组织使用的 API | Microsoft 移动应用管理 | 应用程序需要此权限,因为 Power Apps 内部使用 Intune SDK。 |
有关详细步骤,请参阅在应用注册门户中请求权限。
以应用管理员身份添加重定向 URI
- 在 Azure 门户中,转到应用程序注册的>身份验证部分。
- 选择添加平台并选择 iOS 或 Android。
- 对于 iOS,输入捆绑包 ID。
对于 Android,输入捆绑包 ID 和签名哈希密钥。
5. 配置品牌
- 在配置品牌推广步骤中,为您的应用设置以下选项:
备注
所有图像必须采用.png 格式。 如果未选择自定义图像,则将使用默认图像。
设置 | Description | 要求 |
---|---|---|
应用图标 | 应用程序图标 | iOS:1024x1024 像素或更大 Android:432x432 像素或更大 |
初始屏幕图像 | 应用加载时显示的图像 | .png 格式 |
欢迎屏幕图像 | 登录屏幕上显示的图像 | .png 格式 |
背景填充色 | 欢迎屏幕背景的颜色 | 十六进制颜色代码 |
按钮填充色 | 按钮的颜色 | 十六进制颜色代码 |
状态栏文本主题 | 状态栏文本的颜色 | 浅或深 |
- 选择下一步。
6. 管理输出
- 输入 Azure blob 存储账户名称和容器名称。
- 生成完成后,从 Azure blob 存储位置下载 APK 或 IPA。
7. 整合并构建
- 在整合屏幕上,查看应用详细信息,然后选择生成。
- 成功生成后,应用包将在指定的 Azure Blob 存储中可用。
查看构建
您可以通过以下方式查看生成结果:
- 生成完成后,选择查看生成
- 转到侧边栏中的封装项目,将鼠标悬停在所需项目上并选择它
- 在顶部标题栏中选择查看生成选项
备注
要对 iOS 应用程序进行手动代码签名,请解压缩使用 Mac 设备的 IPA 文件。
测试并分发您的应用
测试应用并根据需要进行分发。 如果遇到问题,请参阅故障排除页面。
手动在 Azure 门户上注册您的应用(可选)
您可以在向导中自动创建应用注册,也可以在 Azure 中手动创建应用注册。 详细信息:快速入门:使用 Microsoft 标识平台注册应用程序。
备注
单租户和多租户客户都可以使用整合功能根据其 Power Apps 画布应用创建本机移动应用。
在注册时,选择包含任何 Microsoft Entra 目录 - 多租户的账户类型:
- 任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户
- 任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户和个人 Microsoft 帐户,例如,Skype 或 Xbox
重要提示
- 整合目前仅支持多租户帐户类型。 还不支持单租户帐户类型。 更多信息:Microsoft 身份平台中的账户类型。
- 您必须为每个平台(iOS、Android)单独创建一个重定向 URI。
手动为移动应用包签名(可选)
您可以在步骤 2 中自动签名应用,或在构建后手动签名。 代码签名对于 Android 和 iOS 有所不同。
自动签名对 iOS 和 Android(APK)的优势:
- 在重新包装期间,无需重复签名过程。
- 您不必等待应用程序开发人员完成该过程。
- 您无需设置 Android Studio 或记住密码。
- 您不需要 Mac 设备进行 iOS 签名。
平台 | 签名方法 |
---|---|
iOS | iOS 的手动代码签名 |
Android | Android 的手动代码签名 |
Google Play 商店 | Google Play 商店的代码签名 |