Launch 関数と Param 関数
適用対象: キャンバス アプリ
Web ページまたはキャンバス アプリを起動し、起動パラメーターへのアクセスを提供します。
Launch
Web ページまたはキャンバス アプリを起動します。 関数は次のものをサポートしています。
- アドレス (必須)、キャンバス アプリのWebページのURL。
- パラメーター (オプション)、Webページまたはキャンバス アプリに渡す名前付きの値。 キャンバス アプリでは、Param 関数によってパラメーターを読み込みます。
- ターゲット (オプション)、Webページまたはキャンバス アプリを起動するブラウザー タブ。
Launch は 動作式でのみ使用できます。
注意
Launch 式で Power Apps を開き、エンド ユーザーにアプリが表示されない場合は、ブラウザのポップアップ ブロック機能でアプリがブロックされていないか、または新しい画面に移動するかどうかを尋ねるダイアログ ボックスに対するユーザーの応答をブラウザが待っているかどうかを確認することをお勧めします。
番地
Web ページは URL アドレスを介して起動されます。 例:
Launch( "https://bing.com" )
Web リンク または アプリ URI (/providers/Microsoft.PowerApps/apps/
が接頭辞のアプリ ID) を使用してキャンバス アプリを起動できます。 アプリのこれらの値を検索するには、次を実行してください。
Power Apps に移動します。
左側のナビゲーション ウィンドウから、アプリを選択します。
アプリを選択します。
上部メニューから詳細を選択します。
また、... (その他のコマンド) を選択し、ドロップダウン メニューから詳細を選択します。Web リンクをコピーします。
Web リンクはすべての Web ページで使用することができ、キャンバス アプリを起動できます。 Launch 関数を使用することもできます。 例:
Launch( "https://apps.powerapps.com/e/{environment id}/a/{app id}?tenantId={tenantId}" )
デバイス上のネイティブ アプリを直接起動することはできません。 特定の Web サイトにオプションを提供するためのカスタム URL スキームのインストール、または Web ブラウザーへの登録を行うネイティブ アプリなど、一部のプラットフォームでは間接的なオプションが利用可能な場合があります。
パラメーター
Launch は、Webページまたはキャンバス アプリにパラメータを渡すことができます。 パラメーターは 2 つの方法で提供されます。
名前値のペアの引数リスト。 たとえば、次のようなものです。
Launch( "https://bing.com/search", "q", "Power Apps", "count", 1 )
フィールド値のレコード。 たとえば、次のようなものです。
Launch( "https://bing.com/search", { q: "Power Apps", count: 1 } )
このフォームにより、名前と値の関連付けが明確になり、操作が簡単になります。 オプションの LaunchTarget 引数をサポートする唯一のフォームです。
アドレスおよびパラメーターは渡される前に URL エンコードされ、EncodeUrl 関数が使用されたかのように英数字以外の文字および %
と 16 進数で置き換えられます。
Web ページを起動するとき、パラメーターの クエリ文字列 が URL アドレスの最後に含められます。 Launch に提供される追加のパラメーターすべては、クエリ文字列の最後に追加されます。 キャンバス アプリの起動時は、クエリ文字列は機能しません。
アプリがすでに実行されているモバイル デバイスでアプリを起動すると、実行中のアプリのパラメーターは更新されません。 パラメーターを更新するにはアプリのリロードが必要です。
ターゲット
LaunchTarget 引数を使用して、Web ページまたはアプリを開くターゲット ブラウザー ウィンドウを指定します。 次の LaunchTarget 列挙値またはカスタムウィンドウ名のいずれかを使用します。
LaunchTarget 列挙型 | 内容 |
---|---|
新しい | Web ページまたはアプリは、新しいウィンドウまたはタブで開かれます。 |
交換する | Web ページまたはアプリは、現在のウィンドウまたはタブを置き換えます。 |
名前 | 列挙値の代わりに、独自のテキスト文字列を使用してウィンドウまたはタブに name を付けます。Self は、Launch 関数でのみ使用される内部専用の名前です。 ユーザーに表示されるウィンドウのタイトルには影響せず、照合もしません。 指定された名前のウィンドウまたはタブは既に存在しているので、その内容は置き換えられます。 それ以外の場合、新しいウィンドウまたはタブが作成されます。 name はアンダースコア文字「_」で始めることはできません。 |
New は、Webブラウザーで実行する場合のデフォルトの 列挙型 で、使用可能なオプションとして Replace と name があります。 モバイル プレーヤーでは、利用可能なオプションとして 名前 を持つ New を含む Web ページのデフォルトです。一方、現在のキャンバス アプリは常に別のキャンバス アプリに置き換えられます。
Note
- 組み込みシナリオ (たとえば、Power BI や SharePoint) で New 以外の値を持つ LaunchTarget を使うことはサポートされておらず、予期しない動作が発生する可能性があります。 将来的には、この挙動が更新される可能性もありますが、依然としてエラーとなる可能性もあります。
Param
Param 関数は、アプリに渡されたパラメーターをアプリの起動時に取得します。 名前付きパラメーターが渡されていなかった場合、Param は空白を返します。
- 別のキャンバス アプリからキャンバス アプリを起動する場合、Launch 関数に Parameter 引数を使用します。 パラメーターの名前と値は自動的に URL エンコードされます。
- Web ページからキャンバス アプリを起動する場合、パラメーターを キャンバス アプリの Web リンク の クエリ文字列 に追加します。 これには、クエリ文字列がすでに
tenantId
に対して開始されていると仮定した¶metername=parametervalue
を追加することが含まれます。 たとえば、&First%20Name=Vicki&category=3
を追加すると、値が"Vicki"
のFirst Name
と値が"3"
(値の型はテキスト) のcategory
の 2 つのパラメーターを渡します。 空白または特殊文字が含まれている場合、EncodeURL 関数の使用と同じように、パラメーターの名前および値を URL エンコードする必要があります。 - Param 名は大文字と小文字が区別されます。
- Param 名および値は、アプリで使用できるように自動的に URL デコードされます。
- アプリがリロードされない限り、パラメーター値は変更されません。 アプリが既に実行されているモバイル デバイスで起動 を使用すると、パラメーターが更新されません。
- パラメーターに数値が含まれている場合でも、Param から返される型は常にテキスト文字列になります。 その他の型への変換は自動的に行われるか、または明示的に数値に変換する Value 関数などの、明示的な変換を使用します。
注意
カスタム ページ の場合、ページで受け入れられるパラメーターは、recordId と entityName だけです。
構文
起動( アドレス [, パラメータ名1, パラメータ値1, ... ] )
- 住所 – 必須。 起動する Web ページのアドレスまたはアプリ ID。
- ParameterNames – オプション。 パラメーター名。
- ParameterValues – オプション。 アプリまたは Web ページに渡す、対応するパラメーター値。
起動( アドレス, { [ パラメータ名1: パラメータ値1, ... ] } [, 起動ターゲット ] )
- 住所 – 必須。 起動する Web ページのアドレスまたはアプリ ID。
- ParameterNames – オプション。 パラメーター名。
- ParameterValues – オプション。 アプリまたは Web ページに渡す、対応するパラメーター値。
- LaunchTarget – オプション。 LaunchTarget 列挙値またはカスタム名。
Param( パラメータ名 )
- ParameterName - 必須。 アプリに渡されるパラメーターの名前。
予約済みパラメーター
次のキーワードは内部使用のために予約されており (大文字と小文字に関係なく)、Param() 関数のカスタム パラメータとして使用しないでください:
- amp%3Bauthmode
- amp%3Benableonbehalfof
- amp%3Bhidenavbar
- amp%3Blocale
- appmetadataversion
- authmode
- channeltype
- cordovapath
- correlationid
- debug
- delegatelaunchurl
- delegatelaunchurl
- disablepreviewredirect
- embedderorigin
- enableonbehalfof
- groupid
- hideappsplash
- hidenavbar
- ヒント
- hostclienttype
- hostmode
- iframecontainerid
- isfullscreen
- ispreviewmode
- loader
- loaderType
- locale
- location
- packagekind
- packageproperties
- playerresourcespath
- playersessionid
- powerappslanguage
- screencolor
- sdkversion
- サイト
- skipappmetadata
- skipiframecreation
- skiplaunchappcache
- ソース
- sourcetime
- standaloneconsent
- teamid
- teamtype
- tenantId
- theme
- uselocalpackagehostresources
- userteamrole
使用例
簡単な起動
キャンバス アプリから Web ページへ:
式 | 説明 |
---|---|
起動( "http://bing.com/search", "q", "Power Apps", "count", 1 ) |
Web ページ https://bing.com/search?q=Power%20Apps&count=1 を開きます。 新しいウィンドウまたはブラウザー タブが開かれます。 |
起動( "http://bing.com/search", { q: "Power Apps", count: 1 } ) |
同等のレコード表記を使用している前の例と同じです。 新しいウィンドウまたはブラウザー タブが開かれます。 |
起動( "http://bing.com/search", { q: "Power Apps", count: 1 }, LaunchTarget.Replace ) |
前の例と同じで、Web ブラウザーで実行している場合、現在のウィンドウまたはタブを結果で置き換えます。 |
起動( "http://bing.com/search", { q: "Power Apps", count: 1 }, "Search Results" ) |
前の例と同じように、検索結果という名前のウィンドウまたはタブのコンテンツを作成または置換します。 |
キャンバス アプリからキャンバス アプリへ
必要に応じて、アプリ ID、画面名、およびレコード番号を更新します。
Launch( "/providers/Microsoft.PowerApps/apps/YOUR-APP-ID",
{ Navigate: "Second Screen", Record: 34 }
)
Web ページからキャンバス アプリへ
必要に応じて、アプリ ID、テナント ID、画面名、およびレコード番号を更新します。
<html>
<body>
<a
href="https://apps.powerapps.com/play/e/YOUR-APP-ENVIRONMENT-ID/a/YOUR-APP-ID?tenantId=YOUR-TENANT-ID&Navigate=Second%20Screen&Record=34"
>
Launch canvas app
</a>
</body>
</html>
単純な Param
上記の Web ページから または 別のキャンバス アプリから キャンバス アプリを起動する簡単な起動例は、Param 関数の簡単な例を示しています。
計算式 | 内容 | 結果 |
---|---|---|
パラメータ( "ナビゲート" ) | Navigate パラメーターはアプリの起動時に指定され、返されます。 | 「2 番目の画面」 |
パラメータ( "レコード" ) | Record パラメーターはアプリの起動時に指定されます。 Launch 関数に数字として渡されても、Param からの結果は、暗黙的または明示的にその他の型に変換できるテキスト文字列になります。 | 「34」 |
パラメータ( "ユーザー" ) | User パラメーターが指定されていません。 IsBlank 関数でテスト可能な blank 値が返されます。 | 空白 |
Launch および Param の例
製品ショーケース タブレット レイアウト テンプレートは、次の例で使用されました。 このテンプレートを使用してアプリを作成するには、アプリの作成 の記事の手順に従い、製品ショーケース テンプレートを選択します。 自分のアプリを使用することもできます。
例 - Launch
Power Apps に移動します。
左側のナビゲーション ウィンドウから、アプリを選択します。
アプリを選択し、編集を選択します。
メニューから挿入を選択し、ラベルを選択します。
ラベルを画面右下に移動します。
右側のプロパティ ウィンドウから、色を白に選択し、境界線の太さを 1 に設定します。
右側から Text プロパティを選択し、テキストを Surface タブレット ニュースとして入力します。
左上のプロパティ リストから、OnSelect を選択します。
数式を
Launch("https://www.bing.com/news/search","q","Microsoft Surface tablets")
と入力します。 その他の使用したい URL、パラメーター、およびキーワードを使用することもできます。アプリを保存し、公開します。
アプリを再生します。
選択 ラベル ニュースのSurfaceタブレット で、キーワードによるニュース検索を起動します Microsoft Surfaceタブレット。
チップ
スケーラビリティのために、Launch 関数に手動で入力したキーワードを 変数 で置き換えることができます。
例 - Param
Power Apps に移動します。
左側のナビゲーション ウィンドウから、アプリを選択します。
アプリを選択し、編集を選択します。
メニューから挿入を選択し、ラベルを選択します。
ラベルを画面右下に移動します。
左上からラベルの Text プロパティを選択します。
数式を
Param("browser")
と入力します。 使用したい異なるパラメーターを使用することもできます。アプリを保存し、公開します。
Power Apps からアプリの Web リンク をコピーします。
新しいブラウザーを開きます。
ブラウザーにアプリの Web リンクを貼り付けて、最後に
&browser=Microsoft%20Edge
を追加します。アプリが起動するとき、ラベルに渡されたパラメーター値が表示されます。
アプリ プレーヤーを閉じ、アプリを編集します。
左側のナビゲーションのツリー ビューからアプリを選択します。
左上の StartScreen プロパティを選択します。
数式を
If( Param("screen") = "techspecs", TechSpecs )
として入力します。if function in StartScreen propertyは、パラメータが特定の値 (この場合は値 techspecs) と等しいかどうかを確認します。 一致する場合は、TechSpecs スクリーン コントロールを StartScreen プロパティに返します。
注意
製品ショーケース アプリのテンプレートを使用していない場合、If 関数の TechSpecs コントロール名を、自分のアプリの画面コントロールの名前で置き換えます。
アプリを保存し、公開します。
新しいブラウザーを開きます。
ブラウザーにアプリの Web リンクを貼り付けて、最後に
&screen=techspecs
を追加します。アプリは、TechSpecs を startscreen として直接起動します。