自訂和建立您的行動應用程式
先前您已了解「裝合」功能的功能、運作方式及其優點。 在本文中,您將了解如何使用裝合功能,將一個或多個畫布應用程式封裝到單一原生行動應用程式套件中。
先決條件
- 您需要存取 Azure 入口網站才能註冊您的應用程式,並在 Microsoft 身分識別平台上設定 API 權限。
- 您將需要存取 Visual Studio 應用程式中心 才能新增組織和應用程式。
- 您需要有一個或多個畫布應用程式 (儲存在解決方案中),您可以將其封裝以供行動裝置使用者散發。
- 若要使用 Android 平台,請務必在註冊應用程式之前,先產生金鑰,然後產生簽章雜湊。 您必須先產生簽章雜湊才能設定重定導向 URI。
在環境中安裝 Power Apps 適用的裝合
裝合功能會建立您能分發的畫布應用程式行動裝置版本,方式如您的自訂品牌 Android 和 iOS 原生行動裝置應用程式透過 Microsoft Intune、Microsoft App Center、Google Play Store 和 Apple Business Manager 等分發管道一樣。
若要使用 Power Apps 的裝合,您需要在您的環境中安裝它。 移至 Power Platform 系統管理中心的 Dynamics 365 應用程式 區段,選取 Power Apps 適用的裝合,然後按一下安裝選項。
從清單中選取您的環境,然後按一下安裝按鈕。
注意
您必須具有環境的管理員權限,才能安裝 Power Apps 適用的裝合。
將畫布應用程式新增至解決方案
Power Apps 的裝合需要應用程式成為解決方案的一部分。 如果您的畫布應用程式不是解決方案的一部分,請將它們新增至現有或新的解決方案。 移至解決方案區段,選取解決方案,然後按下編輯按鈕。
在頂端功能表選擇 + 新增現有的選項,並在下拉式清單中選取應用程式 > 畫布應用程式。
選取 Oustide Dataverse 索引標籤,然後在清單中選擇您的應用程式。 按下新增按鈕,將此應用程式新增至解決方案。
其他資訊:將應用程式新增至解決方案
應用程式註冊
使用 Azure 入口網站在組織目錄中為您的應用程式建立新註冊。 如需詳細步驟,請參閱快速入門:使用 Microsoft 身分識別平台註冊應用程式。
注意
單一用戶和多組織用戶共享客戶都可以使用裝合,根據其 Power Apps 畫布應用程式建立原生行動應用程式。
無論您是單一用戶還是多組織用戶共享製作者,當您為應用程式選擇支援的帳戶類型時,必須選擇包含任何 Azure AD 目錄 - 多組織用戶共享的任意選項來以啟用它進行裝合。 選擇以下帳戶類型之一:
- 任何組織目錄中的帳戶 (任何 Azure AD 目錄 - 多組織用戶共享)
- 任何組織目錄中的帳戶 (任何 Azure AD 目錄 - 多租用戶) 和個人 Microsoft 帳戶 (例如 Skype、Xbox)
重要
- 裝合目前只支援多組織用戶共享帳戶類型。 尚不支援單一用戶帳戶類型。 有關帳戶類型的其他資訊:Microsoft 身分識別平台中的帳戶類型。
- 為確保重新導向 URI 與 要求格式相符,請勿在建立應用程式註冊時建立重新導向 URI。 當應用程式註冊完成後,請移至應用程式,然後選擇驗證 > + 應用程式平台來新增平台。
- 您必須為要鎖定的每個平台 (iOS、Android) 建立單獨的重新導向 URI。
註冊應用程式之後,請先複製應用程式 (租用戶) 識別碼和重新導向 URI,稍後在 Power Apps 中設定裝合專案時將需要它們。 其他資訊:註冊應用程式
重新導向 URI 格式
如果是 iOS,重新導向 URI 只需要組合識別碼。
iOS 範例:
- 組合識別碼:
com.contoso.myapp
- 重新導向 URI:
msauth.com.contoso.myapp://auth
如果是 Android,重新導向 URI 需要套件名稱和簽屬雜湊。 若要建立簽屬雜湊,產生金鑰,然後產生簽屬雜湊。
Android 範例:
- 套件名稱:
com.contoso.myapp
- 重新導向 URI:
msauth://com.contoso.myapp/<generated signature hash>
允許在您的環境中註冊應用程式
您需要在 Power Platform 環境中允許使用 Azure 入口網站註冊的應用程式。 若要執行此步驟,請為管理員使用最新版本的 Power Apps PowerShell 模組,並使用應用程式註冊步驟中的應用程式 (用戶端) 識別碼執行以下 cmdlet:
Add-AdminAllowedThirdPartyApps -ApplicationId <App ID>
注意
- 此 cmdlet 可在管理員的 Power Apps PowerShell 模組版本 2.0.144 或更新版本中使用。
- 您將需要全域租用戶管理員權限,才能執行此 Cmdlet。 該 Cmdlet 允許管理員指定 Azure AD 中那些已註冊的協力廠商應用程式可以叫用 Power Platform 連線。
設定 API 權限
針對先前使用 Azure 入口網站註冊的應用程式,新增和設定下列 API 權限:
- Microsoft APIs
- 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"
如需詳細步驟,請參閱要求在應用程式註冊入口網站中要求授權。
為行動應用程式建立應用程式中心容器
在此步驟中,您將使用應用程式中心為行動應用程式建立應用程式容器。 其他資訊:應用程式中心容器
提示
如需應用程式中心的詳細資訊,請移至 Visual Studio 應用程式中心文件。
移至應用程式中心。
使用您的工作或學校帳戶登入。
如果您沒有任何現有的組織,請選取新增 > 新增新組織來建立新組織。
從左窗格的清單中選取組織。
選取應用程式 > 新增應用程式。
輸入應用程式名稱。
選取應用程式版本類型。
為 iOS 應用程式選取自訂作業系統,或為 Android 應用程式選擇 Android 作業系統。
注意
您必須為每個平台建立單獨的應用程式中心容器。
如果是 Android 作業系統,請選取平台做為 React Native。
注意
對於應用程式中心中的所有應用程式,平台必須是 React Native。
選取新增應用程式。
複製稍後在 Power Apps 中設定裝合專案時需要的應用程式的應用程式中心URL。
例如,
https://appcenter.ms/orgs/Contoso-sales/apps/Sample-canvas-app-for-Android-OS/
其他資訊:應用程式中心URL
為應用程式存取建立新的 API 權杖,然後複製該權杖以用於稍後設定畫布應用程式專案。 其他資訊:應用程式中心API 權杖
- 在左側選取設定。
- 選取應用程式 API 權杖。
- 選取新增 API 權杖。
- 輸入描述。
- 選取完整存取。
- 選取新增 API 權杖。
注意
請務必在關閉對話方塊之前,先複製該權杖。
- 複製該權杖,然後將其儲存用於稍後的畫布應用程式裝合設定。
重複上述步驟,為其他作業系統類型建立應用程式。
建立裝合專案
使用您的主要畫布應用程式,用您在前面步驟中設定的 Microsoft 身分識別平台和應用程式中心的應用程式資訊建立裝合專案。 其他資訊:組建裝合專案
若要建立裝合專案,請移至 Power Apps > 應用程式 > 選取主要畫布應用程式 > 選取裝合,然後輸入本節所述的裝合專案詳細資料。 輸入所有詳細資料之後,請選取儲存 > 組建以建立專案。
視所選的平台而定,組建流程會將要求排入佇列,以便為 Android、iOS 或 Google 平台建立套件。
注意
視工作負載而定,組建流程可能需要幾個小時才能完成。
成功組建之後,您將在應用程式中心中看見您的行動應用程式。
顯示名稱
行動應用程式的顯示名稱,其會顯示在行動裝置主畫面上。
次要應用程式
選擇性。 組合在同一行動應用程式套件中的其他應用程式。 其他資訊:次要應用程式、主要應用程式
應用程式平台
根據您所選取的平台來判斷裝合組建流程的輸出類型。 其他資訊:應用程式平台
註冊我的應用程式 (預覽版)
選擇性 Azure Keyvault URI 可透過設定包含所需憑證的 Key Vault 進行自動應用程式簽屬以進行分發。 其他資訊:設定 Key Vault 以進行自動簽署
重要
- 這是預覽功能。
- 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
套件組合識別碼
唯一識別行動應用程式的套件組合識別碼。 例如:com.contoso.myapp
。 其他資訊:組合識別碼
應用程式 (用戶端) 識別碼
先前使用 Microsoft 身分識別平台註冊的應用程式的用戶端識別碼。 其他資訊:應用程式 (用戶端) 識別碼
重新導向 URI
先前建立的 URL,用於在成功登入 Microsoft 身分識別平台註冊的應用程式後重新導向。 其他資運:重新導向 URI
應用程式中心 URL
對於先前複製的 iOS、Android 或 Google Play 商店應用程式中心URL。 其他資訊:應用程式中心URL
應用程式中心 API 權杖
先前建立。 其他資訊:應用程式中心API 權杖
外觀
設定應用程式圖示、畫面影像、色彩及主題:
iOS 應用程式圖示/ Android 應用程式圖示
特定於 iOS、Android 或 Google Play 商店平台的應用程式圖示影像。 圖示影像檔案大小必須符合必要的像素數目。 [1]
畫面影像
啟動顯示畫面影像
載入時將在行動應用程式的啟動顯示畫面上使用的影像。 未提供時使用的預設影像。 [2]
歡迎使用畫面影像
載入時將在行動應用程式的歡迎使用 (登入) 畫面上使用的影像。 未提供時使用的預設影像。 [3]
色彩
背景填滿色彩
用於歡迎使用畫面背景的十六進位顏色代碼。 [4]
按鈕填滿色彩
用來填滿按鈕色彩的十六進位色彩代碼。 [5]
狀態列文字主題
應用程式頂端狀態列文字的色彩。 [6]
設定
帶您進入應用程式設定。 您也可以使用搖晃手勢。 無法自訂。 [7]
- 應用程式名稱 - 應用程式的名稱,後接應用程式組合套件識別碼。
- 應用程式版本 - 應用程式的版本號碼; 會自動產生。
- 平台版本 - Power Apps Mobile 平台的版本。
- 工作階段識別碼 - 目前開啟之工作階段的識別碼。
- 清除快取 - 將裝合的應用程式重設為預設設定。
- 應用程式設定 - 顯示屬於目前套件的應用程式清單。 從該清單中選擇應用程式會顯示應用程式詳細資料,包括該應用程式可能設定為使用的連接器資訊。
設定 Key Vault 以進行自動簽署
先決條件
- 您需要在 Apple 開發者計劃或 Apple 企業開發者計劃中註冊一個 Apple 帳戶。
- 建立分發憑證或臨機操作佈建設定檔或企業佈建設定檔。
- Azure Active Directory 訂閱 建立 Key Vault。
- 您租用戶的管理員存取權。
請依照下列步驟設定 Key Vault URI:
以系統管理員身分登入您的租用戶,並執行下列指令碼為 1P AAD 應用程式 4e1f8dc5-5a42-45ce-a096-700fa485ba20 (WrapKeyVaultAccessApp) 建立 Azure 服務主體:
Connect-AzureAD -TenantId <your tenant ID>
New-AzureADServicePrincipal -AppId 4e1f8dc5-5a42-45ce-a096-700fa485ba20 -DisplayName "Wrap KeyVault Access App"
在將具有 Key Vault 的訂閱中,將角色新增至上方訂閱所列之服務主體。 如需詳細步驟,請參閱將使用者指派為 Azure 訂閱的管理員。 請注意:在步驟 3 中,您可以選擇參與者,因為存取金鑰保存庫只需要最低限度的角色。
建立或存取現有的金鑰保存庫:使用 Azure 入口網站建立 Key Vault
新增金鑰保存庫的存取原則。
根據您的裝置,執行下列其中一項動作:
如果是 Android,請建立 .pfx 檔案,並將其上傳至 Key Vault 憑證區段。 其他資訊:產生金鑰
注意
憑證的名稱必須存在於標籤步驟中。 密碼也需要符合在步驟 2 中用於建立 .pfx 檔案的儲存傳遞參數中輸入的密碼。
如果是 iOS:
按兩下將 .cer 安裝到 Keychain Access 應用程式中。 其他資訊:建立分發憑證
然後右鍵按一下您的憑證檔案,選擇匯出,然後選擇檔案格式 .p12 將檔案匯出為 .p12 檔案。注意
在下一步將其上傳到 Key Vault 時,需要您在步驟 4 中設定的 .p12 密碼。
建立佈建設定檔,並執行下列命令,將其編碼為 base64:
- Mac:base64
-i example.mobileprovision
- Windows:
certutil -encode data.txt tmp.b64
- Mac:base64
取得上一個步驟中輸出的
base64
字串,並上傳至 Key Vault 密碼。 然後,取得 .p12 檔案,並將它上傳至 Key Vault 憑證。
建立並上傳 iOS 或 Android 憑證後,請新增三個標籤,名稱為組合識別碼,值對應至已上傳憑證的名稱。
程式碼簽署
Android 與 iOS 裝置的程式碼簽署流程不同。