Power Apps のホスト オブジェクト
適用対象: キャンバス アプリ モデル駆動型アプリ
Power Apps の ホスト オブジェクトはアプリを実行している現在のホストに関する情報を提供します。
Description
Host オブジェクトは、アプリを実行しているホスト デバイス、オペレーティング システム、プレーヤーに関する情報を提供します。 Host は App オブジェクト に似ており、すべてのアプリがこの情報にアクセスできます。
Host の最適な用途の 1 つは、特定のデバイスまたは特定のブラウザーで正常に動作しないアプリをデバッグすることです。 このオブジェクトのテキスト プロパティを使用して、Text label コントロールを使用してアプリの UI に情報を表示したり、情報をデータベース テーブルまたは Application Insights に記録します。
Host を使用して、アプリを特定のデバイスまたはブラウザーに合わせて調整することは魅力的です。 しかし、Power Apps が幅広いハードウェアおよびソフトウェア プラットフォームで実行できるように設計されており、Host ベースのロジックがそれらすべてを考慮できない可能性があり、時間の経過とともに変化するため、これは危険です。 より適切な方法は、より抽象化され、特定のハードウェアやソフトウェアに関連付けられていない情報を使用することです。 たとえば、Screen コントロールの Size プロパティを使用して、電話などの小型デバイスで実行しているときに、画面を調整して表示を減らすか、情報を再編成します。
Power Apps Studio で Host オブジェクトにアクセスするには、ツリー ビュー ペインの上部にある App オブジェクトを展開し、Host を選択します。 この例では、ホスト オブジェクトには数式を受け入れるプロパティがありません。
注意
ホスト オブジェクトは現在、カスタム ページとキャンバス アプリでのみ使用できます。
BrowserUserAgent property
テキスト プロパティ BrowserUserAgent には、アプリの実行時にブラウザーが自身を識別するために使用する完全なユーザー エージェント文字列が含まれています。
たとえば、ブラウザのユーザー エージェント文字列は次のようになります。
- Mozilla/5.0 (Windows NT 10.0; Win64; x64)
- AppleWebKit/537.36 (KHTML, like Gecko)
- Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.78
注意Note
Power Apps をネイティブ アプリで、または Power Apps アプリの ラップ 機能を使って実行している場合、アプリがユーザー エージェント文字列を提供するブラウザー コントロールを介して表示されます。
OSType プロパティ
OSType プロパティは、アプリが実行されているオペレーティング システムの名前を提供します。 OSType は、ブラウザから Power Apps に送信されたユーザー エージェント文字列から決定されます。 以下は、OSType の値の一般的なパターンの例です。
価値 |
---|
ウィンドウ |
Mac OS |
iOS |
Android |
Linux |
... |
注意
OSType を使用して、報告されたオペレーティング システムに基づいてアプリのエクスペリエンスや機能を変更しないでください。
OSType テキストは、ラベルのテキスト プロパティで表示するなど、任意の式で使用できます。
Label1.Text: "You're running " & Host.OSType
SessionID プロパティ
SessionID プロパティは、現在のセッションを識別する GUID を返します。 管理者に問題を報告する際には、この情報を含めてください。
注意
Power BI の Power Apps などの埋め込みシナリオでは、SessionID プロパティは、 Power Apps セッション ID ではなく、基になる Power BI セッション ID を返します。
Label1.Text: $"Provide session ID { Host.SessionID } to your administrator."
TenantID プロパティ
TenantID プロパティは、現在認証されているユーザーに関連付けられている Microsoft Entra テナントを指定するグローバル一意識別子 (GUID) を提供します。
注意
SessionID と同様に、Power BI の Power Apps などの埋め込みシナリオでは、テナント ID は 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
使用例
- 新しいキャンバス アプリを作成します。
- Text label コントロールを追加し、
Text
プロパティを"Host.BrowserUserAgent: " & Host.BrowserUserAgent
に設定します。 - Text label コントロールを追加し、
Text
プロパティを"Host.OSType: " & Host.OSType
に設定します。 - Text label コントロールを追加し、
Text
プロパティを"Host.SessionID: " & Host.SessionID
に設定します。 - Text label コントロールを追加し、
Text
プロパティを"Host.TenantID: " & Host.TenantID
に設定します。 - Text label コントロールを追加し、
Text
プロパティを"Host.Version: " & Host.Version
に設定します。 - Text label コントロールを追加し、
Text
プロパティを"Host.OfflineEnabled: " & Host.OfflineEnabled
に設定します。
さまざまなデバイスとさまざまなブラウザーでアプリを実行すると、以下のような結果が表示されます。
Edge ブラウザーを搭載した Windows 上の Power Apps Studio
Host.Version は、 Power Apps Studioで作業しているときは常に空白になります。
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: aaaabbbb-0000-cccc-1111-dddd2222eeee
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: aaaabbbb-0000-cccc-1111-dddd2222eeee
Host.Version: PowerApps-Native/3.23084.8(iOS)
Firefox ブラウザーを搭載した Windows 上の Power Apps Web プレーヤー
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: aaaabbbb-0000-cccc-1111-dddd2222eeee
Host.Version: PowerApps-Web/3.23084.6(Windows)
Safari ブラウザーを搭載した iOS 上の Power Apps Web プレーヤー
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: aaaabbbb-0000-cccc-1111-dddd2222eeee
Host.Version: PowerApps-Web/3.23084.6(iOS)