共用方式為


包裝精靈:建立原生行動應用程式的逐步指南

使用本指南將一個或多個畫布應用程式轉換為可在 Google Play 和 iOS App Store 上部署的單一自訂品牌應用程式套件。

Power Apps 中的包裝功能可讓您將畫布應用程式的原生行動版本建立為自訂品牌的 Android 和 iOS 行動應用程式 (IPA、APK、AAB 套件)。 您可以透過 Google PlayApple Business Manager 或其他原生分發方法,將這些包裝的原生行動應用程式分發給終端使用者。

當您更新並重新發佈應用程式時,包裝的應用程式會自動為使用者更新。

使用包裝精靈建立自訂品牌原生應用程式的步驟

1. 登入並啟動包裝專案

  1. 登入 Power Apps Maker Portal
  2. 從左瀏覽窗格,選取包裝。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
  3. 選擇要包裝的應用程式,然後在命令列上選擇包裝

2. 選擇應用程式

  1. 選取要裝合的應用程式畫面上,選取主要和次要應用程式。

    • 主要應用程式:行動應用程式啟動時終端使用者看到的主要應用程式。
    • 次要應用程式:捆綁在同一個行動應用程式套件中的可選其他應用程式。

    顯示選擇應用程式的第一步的螢幕擷取畫面。

    注意

    • 您可以在多個包裝項目中使用同一個主應用程式。
    • 如果主應用程式名稱不正確,請繼續下一步並返回重新整理名稱。
  2. 選取下一步

3. 選擇目標平台

  1. 選擇目標行動平台畫面上,輸入套件組合 ID

    注意

    套件組合 ID 是您的應用程式的唯一識別碼。 它必須包含一個句點 (.),且不能包含空格。 產生並上傳您的 iOS 或 Android 憑證後,在建立 Azure Key Vault 時使用相同的套件組合 ID。 如果您已經建立了 Azure Key Vault,請在 Azure 入口網站標籤區段中驗證組合 ID。

  2. 目標平台下,選取終端使用者在其行動裝置上使用的所有行動平台。

  3. 您需要有 Azure 金鑰保存庫,才能將您的建置上傳到 Azure Blob 儲存體。 如果您尚未建立,請建立一個。 如需詳細資訊 ,請參閱建立 Azure 金鑰保存庫。 新增所需的標籤、機密和憑證。 如果尚未建立,請新增環境變數。

    a. 若要建立環境變數,請前往 Power Apps>解決方案>預設解決方案。 然後選取新建>更多>環境變數,新增顯示名稱為「PA_Wrap_KV_ResourceID」。 顯示新增環境變數的螢幕的螢幕擷取畫面。 新環境變數的名稱必須有首碼「new」。如果沒有,請參閱設定環境變數首碼以了解詳細步驟。 顯示帶有新首碼的螢幕的螢幕擷取畫面 b. 若要將保存庫資訊新增至環境變數,請以管理員身分存取 Azure 入口網站。導覽到所有資源>您的 Key Vault>屬性,然後複製資源 ID 顯示要複製的資源 ID 的螢幕擷取畫面。

    c. 若要將輸入新增至環境變數,請前往 Power Apps>ApplicationName>全部>環境變數。 按一下三個點,選取編輯,將複製的值加到預設值,然後儲存。

    d. 若要檢查表值是否已更新,請前往 Power Apps>資料表>環境變數定義>new_PA_Wrap_KV_ResourceID預設值中的值必須與要新增保存庫的資源 ID 的值相同。

    注意

    在環境變數後面加入 Key Vault 資訊輸入的指南:

    • 環境變數不能為空或可以包含多個項目。
    • 確保新增的資源ID正確 (驗證拼字)。
    • 確保新增的資源 ID 具有非空標籤,並包含包裝精靈中使用的套件組合 ID 所需的所有標籤。

    e. 依照自動程式碼簽署步驟中的步驟,建立自動簽章過程中所需的標籤、機密和憑證。

  4. 您需要有 Azure Blob 儲存體帳戶和容器,才能將您的建置上傳到 Azure Blob 儲存體。 如果您尚未建立,請建立一個。

    1. Azure 入口網站的金鑰保存庫中,前往機密為 Azure Blob 儲存體存取金鑰建立機密。 更多資訊:向金鑰保存庫新增機密 展示如何建立 Azure 密碼的螢幕擷取畫面

    2. 若要檢視和複製您的存取金鑰:查看帳戶存取金鑰顯示存取金鑰的螢幕擷取畫面

    3. 密碼值欄位中輸入 Azure Blob 儲存體存取金鑰。 顯示 Azure 密碼的螢幕擷取畫面

    4. 在您的金鑰保存庫中,前往標籤,並建立一個具有與上述相同密碼值的新標籤。 顯示 Azure 標記的螢幕擷取畫面

  5. 開啟自動應用程式簽署 (選用)。 顯示選擇目標平台的第二步的螢幕擷取畫面。

    注意

    手動簽署選項:

    無論在精靈中選擇了哪種簽署選項,您都必須手動簽署 AAB 檔案。

  6. 選取下一步

設定環境變數首碼

新環境變數的名稱必須帶有首碼「new」。如果沒有,請按照以下步驟操作:

  1. 前往解決方案>新解決方案
  2. 選取一個發佈者或建立一個。
  3. 選取發佈者旁邊的編輯圖示來查看或變更首碼。
  4. 如果首碼不是「new」,請編輯它以將首碼設為「new」。
  5. 儲存變更。

4. 註冊您的應用程式

註冊您的應用程式畫面上,在 Azure 中註冊您的應用程式以與 Microsoft 身分平台建立信任。

  • 如果您已經註冊了應用程式

    • 在擁有的註冊欄位中尋找您的註冊。
  • 如果您沒有看到您註冊的應用程式

    1. 選取新應用程式註冊來建立新的註冊。

    2. 提供:

      • 應用程式名稱:向客戶顯示的應用程式名稱
      • Android 簽章雜湊 (如果針對 Android):28 個字元的字母數字字串 顯示新應用程式註冊畫面的螢幕擷取畫面
    3. 在 Microsoft Entra 系統管理中心,前往應用程式註冊,然後選擇您的應用程式。 在「基本」區段中,找到「支援的帳戶類型」,將其設定為任何組織目錄中的帳戶 (任何 Microsoft Entra 目錄 - 多租用戶)。 顯示多租用戶註冊畫面的螢幕擷取畫面

    4. 儲存您的變更。

      注意

      如果簽章雜湊金鑰已經存在,則可以重複使用它。

將管理員允許的第三方應用程式設定為 Azure 租用戶管理員

包裝精靈會自動設定所需的 API 權限。 授予管理員存取權限:

  1. 以管理員身分開啟 Windows PowerShell。
  2. 執行以下命令:
    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -AllowClobber -Force
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
    Import-Module -Name Microsoft.PowerApps.Administration.PowerShell
    Add-AdminAllowedThirdPartyApps
    Get-AdminAllowedThirdPartyApps
    
  3. 出現提示時提供 App ID。

完成這些步驟後,註冊畫面將如下所示:

螢幕擷取畫面顯示註冊螢幕,其中綠色勾號表示步驟已完成

以 Azure 租用戶管理員身分授予 API 權限

Azure 管理員在註冊期間授予 API 權限。 當您授予應用程式管理員同意時,請確保將 DeviceManagementManagedApplication 設定為。 如需詳細資訊,請參閱在「企業應用程式」窗格中授予租用戶範圍的管理員同意 顯示應用程式 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。

如需詳細步驟,請參閱要求在應用程式註冊入口網站中要求授權

如果您沒有看到我的組織所使用的 API 下的權限,請以 Azure 管理員身分執行下列 PowerShell 命令:

  1. 確保模組 Microsoft Graph 可用或安裝它:

    Install-Module -Name Microsoft.Graph
    
  2. 授予靜態 AppId fefe053c5f-3692-4f14-aef2-ee34fc081cae Azure API 連線權限:

    Connect-MgGraph -TenantId <your tenant ID>
    New-MgServicePrincipal -AppId fe053c5f-3692-4f14-aef2-ee34fc081cae -DisplayName "Azure API Connections"
    
  3. 授予靜態 AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 的 PowerApps 服務權限:

    Connect-MgGraph -TenantId <your tenant ID>
    New-MgServicePrincipal -AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 -DisplayName "PowerApps Service"
    

注意

如果僅可見應用程式名稱欄位,請繼續下一步,然後選擇 Android 作為目標平台來顯示簽章雜湊欄位。

手動設定 API 權限 (選用)

如果出現錯誤,請手動設定 API 權限。 如需詳細資訊,請參閱新增和設定

以應用程式管理員身分新增重新導向 URI

  1. 在 Azure 入口網站中,前往您的應用程式註冊>驗證
  2. 選擇新增平台,然後選擇 iOSAndroid
  3. 對於 iOS,輸入套件組合 ID。 對於 Android,請輸入套件組合 ID簽章雜湊金鑰 顯示應用程式重新導向 URI 的螢幕擷取畫面。

5. 設定品牌

  1. 設定品牌步驟中,為您的應用程式設定以下選項:

注意

所有影像必須為 .png 格式。 如果未選擇自訂影像,則將使用預設影像。

設定 Description 需求
應用程式圖示 您的應用程式圖示 iOS:1024x1024 像素或更大
Android:432x432 像素或更大
啟動顯示畫面影像 應用程式載入時顯示的影像 .png 格式
歡迎使用畫面影像 登入畫面上顯示的影像 .png 格式
背景填滿色彩 歡迎螢幕背景顏色 十六進位顏色代碼
按鈕填滿色彩 按鈕的顏色 十六進位顏色代碼
狀態列文字主題 狀態列文字的顏色 亮或暗
  1. 選取下一步

6. 管理輸出

  1. 輸入您的 Azure blob 儲存體帳戶名稱和容器名稱。
  2. 建置完成後,從 Azure blob 儲存位置下載 APK 或 IPA。

螢幕擷取畫面顯示如何使用 Azure Blob 儲存體管理輸出的第五步驟。

7. 總結並建構

  1. 包裝畫面上,查看您的應用程式詳細資訊,然後選擇建置
  2. 成功建置後,您的應用程式套件將在您指定的 Azure Blob 儲存體中可用。

查看您的建構

您可以透過多種方式查看您的建置:

  • 建置完成後,選擇查看建置
  • 前往側邊窗格中的包裝專案,將滑鼠懸停在所需專案上,然後選擇它
  • 選擇頂端標題中的查看建置選項

螢幕擷取畫面顯示如何查看建置。

注意

若要手動對 iOS 應用程式進行程式碼簽署,請使用 Mac 裝置解壓縮 IPA 檔案。

測試並分發您的應用程式

測試您的應用程式並根據需要分發它。 如果遇到問題,請參閱疑難排解頁面

手動在 Azure 入口網站上註冊您的應用程式 (選用)

您可以在精靈中自動建立應用程式註冊,也可以在 Azure 中手動建立。 詳細資訊:快速入門:使用 Microsoft 身分識別平台註冊應用程式

注意

單一用戶和多組織用戶共享客戶都可以使用裝合,根據其 Power Apps 畫布應用程式建立原生行動應用程式。

註冊時,選擇包含任何 Microsoft Entra 目錄 - 多租用戶的帳戶類型:

  • 任何組織目錄中的帳戶 (任何 Microsoft Entra 目錄 - 多組織用戶共享)
  • 任何組織目錄中的帳戶 (任何 Microsoft Entra 目錄 - 多租用戶) 和個人 Microsoft 帳戶,例如 Skype 或 Xbox

應用程式註冊 - 裝合支援的帳戶類型。

重要

  • 裝合目前只支援多組織用戶共享帳戶類型。 尚不支援單一租用戶帳戶類型。 更多資訊:Microsoft 身分識別平台中的帳戶類型
  • 您必須為每個平台建立單獨的重新導向 URI (iOS、Android)。

手動簽署您的行動裝置應用程式套件 (選用)

您可以在步驟 2 中自動簽署您的應用程式,也可以在建置後手動簽署。 Android 和 iOS 的程式碼簽署不同。

iOS、Android (APK) 自動簽署的優點

  • 重新包裝時無需重複簽名程序。
  • 您不必等待應用程式開發人員完成該過程。
  • 您無需設定 Android Studio 或記住密碼。
  • 您不需要 Mac 裝置來進行 iOS 簽署。
平台 簽署方式
iOS iOS 的手動程式碼簽署
Android Android 的手動程式碼簽署
Google Play 商店 Google Play 商店的程式碼簽署

另請參閱