Power Apps 中的主機物件

適用於: 畫布應用程式 模型導向應用程式

Power Apps 中的主機物件提供有關執行應用程式之目前主機的資訊。

描述:

Host 物件提供有關主機裝置、作業系統和正在執行應用程式的播放器的資訊。 Host 類似於 App 物件,每個應用程式都可以存取此資訊。

Host 的最佳用途之一是偵錯在特定裝置或特定瀏覽器上無法正常運作的應用程式。 使用此物件的文字屬性可以透過 Text label 控制項在應用程式的 UI 中顯示訊息,或將資訊記錄到資料庫資料表或 Application Insights

使用 Host 為特定裝置或瀏覽器客製化應用程式是很誘人的選擇。 但這麼做很危險,因為 Power Apps 被設計為在廣泛的硬體和軟體平台上執行,以 Host 為基礎的邏輯可能無法解釋這些,而且它們會隨著時間而改變。 更好的做法是使用更具抽象的資訊,而不依賴特定硬體和軟體的資訊。 例如,在較小的裝置 (例如手機) 上執行時,使用 Screen 控制項的 Size 屬性來自訂螢幕以顯示更少內容或重新組織資訊。

若要存取 Power Apps Studio 中的 Host 物件,請展開樹狀結構檢視窗格頂端的應用程式物件,然後選取 Host。 在此範例中,主機物件沒有任何會接受公式的屬性。

樹狀檢視窗格中的主機物件。

注意

目前只有自訂頁面和畫布應用程式中才有主機物件。

BrowserUserAgent 屬性

BrowserUserAgent 文字屬性包含瀏覽器在執行應用程式時用於識別其自身的完整使用者代理程式字串。

例如,瀏覽器使用者代理程式字串可能是:

  • Mozilla/5.0 (Windows NT 10.0;Win64;x64)
  • AppleWebKit/537.36 (KHTML,例如 Gecko)
  • Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.78

注意

如果您在本機應用程式中執行 Power Apps 或使用 Power Apps 中的換行功能,則該應用程式將透過瀏覽器控制項呈現,該控制項提供使用者代理程式字串。

OSType 屬性

OSType 屬性提供應用程式執行所在作業系統的名稱。 OSType 取決於瀏覽器傳送至 Power Apps 的使用者代理程式字串。 以下是 OSType 常見值的範例:

數值
Microsoft
Mac OS
iOS
Android
Linux
...

注意

請勿使用 OSType 根據報告的作業系統變更應用程式的體驗或功能。

OSType 文字可用於任何公式,例如將其顯示在標籤的文字屬性中:

Label1.Text: "You're running " & Host.OSType

SessionID 屬性

SessionID 屬性會傳回識別目前工作階段的 GUID。 向管理員報告問題時,請加入此資訊。

注意

在內嵌案件 (例如 Power BI 中的 Power Apps) 中,SessionID 屬性會傳回基礎 Power Apps 工作階段識別碼,而不是 Power BI 工作階段識別碼。

Label1.Text: $"Provide session ID { Host.SessionID } to your administrator."

TenantID 屬性

TenantID 屬性提供全域唯一識別碼 (GUID),此識別碼指定與目前已驗證使用者相關聯的 Microsoft Entra 租用戶。

注意

SessionID 類似,在內嵌案件 (例如 Power BI 中的 Power Apps) 中,租用戶識別碼用於 Power Apps 工作階段驗證的租用戶。

Label1.Text: Host.TenantID

Version 屬性

Version 屬性提供 Power Apps 播放程式的識別碼和版本號碼。 與 BrowserUserAgent 類似,其可能會傳回一個以上的版本號碼,並以空格分隔。

注意

Version 屬性在 Power Apps Studio 中運作時始終是空白字串。

Label1.Text: Host.Version

OfflineEnabled 屬性

OfflineEnabled 屬性提供應用程式在 Power Apps 播放器中的執行階段模式。 對於未啟用離線功能的應用程式,該屬性始終為 False。 對於已啟用離線功能的應用程式,該屬性在 Web 上為 False,但在 iOS、Android 和 Windows 上為 True。

注意

即使畫布應用程式在沒有網路連線的情況下無法執行,對於已啟用離線使用的畫布應用程式,OfflineEnabled 屬性在 Power Apps Studio 中仍然為 True。

Label1.Text: Host.OfflineEnabled

範例

  1. 建立新的畫布應用程式。
  2. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.BrowserUserAgent: " & Host.BrowserUserAgent
  3. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.OSType: " & Host.OSType
  4. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.SessionID: " & Host.SessionID
  5. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.TenantID: " & Host.TenantID
  6. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.Version: " & Host.Version
  7. 新增 Text label 控制項,並將 Text 屬性設定為 "Host.OfflineEnabled: " & Host.OfflineEnabled

在不同的裝置和不同的瀏覽器上執行您的應用程式,您將會看到類似下面的結果。

Windows 上使用 Edge 瀏覽器的 Power Apps Studio

在 Power Apps Studio 中運作時,Host.Version 總是為空。

Host.BrowserUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76
Host.OSType: Windows
Host.SessionID: ee2eed1a-8455-4e68-a433-a709302d0c71
Host.TenantID: 5da56e5c-97b6-468f-a448-a6e432c48269
Host.Version: 

iOS 上的 Power Apps 原生行動播放程式

Host.BrowserUserAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 PowerApps/e1c23ff9-4822-4e75-a003-01c91407a4d2
Host.OSType: Windows
Host.SessionID: 3ebec22f-ee2e-412a-b3eb-45d97db34863
Host.TenantID: 5da56e5c-97b6-468f-a448-a6e432c48269
Host.Version: PowerApps-Native/3.23084.8(iOS)

Windows 上使用 Firefox 瀏覽器的 Power Apps 網頁播放程式

Host.BrowserUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0
Host.OSType: Windows
Host.SessionID: 283309a4-d88b-4b2a-88de-73b47d1b62d0
Host.TenantID: 5da56e5c-97b6-468f-a448-a6e432c48269
Host.Version: PowerApps-Web/3.23084.6(Windows)

iOS 上使用 Safari 瀏覽器的 Power Apps 網頁播放程式

Host.BrowserUserAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1
Host.OSType: iOS
Host.SessionID: a09a946d-ce71-4c1f-bd35-519c79849c8d
Host.TenantID: 5da56e5c-97b6-468f-a448-a6e432c48269
Host.Version: PowerApps-Web/3.23084.6(iOS)