Launch 和 Param 函式

適用於: 畫布應用程式

啟動網頁或畫布應用程式並提供啟動參數的存取權。

啟動

啟動網頁或畫布應用程式。 此函式支援:

  • 位址 (必要項目),畫布應用程式網頁或應用程式 URI (以 /providers/Microsoft.PowerApps/apps/ 為前置的應用程式識別碼) 的 URL。
  • 參數 (非必要),要傳遞至網頁或畫布應用程式的具名值。 在畫布應用程式中,可以使用 Param 函式讀取參數。
  • Target (非必要),啟動網頁或畫布應用程式的瀏覽器索引標籤。

Launch 只能在 行為公式 中使用。

位址

網頁透過 URL 位址啟動。 例如:

Launch( "https://bing.com" )

您可以使用 Web 連結應用程式 URI (以 /providers/Microsoft.PowerApps/apps/ 為前置的應用程式識別碼) 啟動畫布應用程式。 若要尋找應用程式的這些值:

  1. 移至 Power Apps

  2. 從左導覽窗格選取 Apps

  3. 選取您的應用程式。

  4. 從頂端功能表選取詳細資料
    您也可以選取 ... (其他命令),然後從下拉式功能表中選取 Details

    應用程式詳細資料選項。

  5. 複製 Web 連結應用程式 ID

    應用程式詳細資料與 Web 連結和應用程式識別碼。

Web 連結 可在任何網頁中使用,並啟動畫布應用程式。 它也可以搭配 Launch 函式使用。

應用程式 ID 可以搭配 Launch 函式使用,但必須以 /providers/Microsoft.PowerApps/apps/ 為首。 例如:

Launch( "/providers/Microsoft.PowerApps/apps/f342faaf-5f82-4ace-a64b-7c1b01499231" )

無法直接啟動裝置上的原生應用程式。 一些平臺上可能會有間接選項,例如安裝自訂 URL 方案或與網頁瀏覽器註冊的原生應用程式,為特定網站提供選項。

參數

Launch 會將參數傳遞至網頁或畫布應用程式。 有兩種方式提供參數:

  • 名稱值對的引數清單。 例如:

    Launch( "https://bing.com/search", "q", "Power Apps", "count", 1 )
    
  • 欄位值的記錄。 例如:

    Launch( "https://bing.com/search", { q: "Power Apps", count: 1 } )
    

    此表單可讓名稱與值之間的關聯變得更易運作。 這是唯一支援非必要 LaunchTarget 引數的表單。

位址和參數以 URL 方式編碼後再傳遞以使用 % 替換特定非字母數位字元和十六進位數 (彷彿 EncodeUrl 函式已用於每個一樣)。

當您啟動網頁時,參數的 查詢字串 可包括在 URL 位址結尾處。 提供給 Launch 的任何其他參數都會新增至查詢字串的結尾處。 當啟動畫布應用程式時,查詢字串無法運作。

在已執行該應用程式的行動裝置上啟動應用程式時,不會在正在執行的應用程式中重新整理參數。 需要重新載入應用程式才能重新整理參數。

Target

使用 LaunchTarget引數指定要在其中開啟網頁或應用程式的目標瀏覽器視窗。 使用下列其中一個 LaunchTarget列舉值或提供自訂視窗 名稱

LaunchTarget 列舉 描述
New 網頁或應用程式會在新視窗或索引標籤中開啟。
Replace 網頁或應用程式會取代目前視窗或索引標籤。
name 您可以使用自己的文字字串 命名 視窗或索引標籤,而不是使用 enum 值。Self 只是由 Launch 函式使用的內部名稱。 這並不影響,也將不符合使用者看到的視窗標題。 如果已存在含給定 名稱 的視窗或索引標籤,將取代其內容。 否則,將建立新視窗或索引標籤。 名稱不能以底線字元 "_" 開頭。

在網頁瀏覽器中執行時,新增是預設的列舉,而取代名稱作為可用選項。 在行動播放器中,新增是網頁的預設而名稱是可用選項;而目前畫布應用程式一律會被其他畫布應用程式取代。

Note

  • 在內嵌方案中不支援具有新增以外任何值的 LaunchTarget (例如 Power BI 或 SharePoint),可能會導致意外行為。 在未來,此行為可能會發生變化,或者可能會造成錯誤。

Param

Param 函式會擷取啟動時傳遞至應用程式的參數。 如果未傳遞具名參數,Param 會傳回 空白

  • 當從另一個畫布應用程式啟動畫布應用程式時,請使用 Launch 函式的 參數 引數。 參數名稱和值將會自動進行 URL 編碼。
  • 當從網頁啟動畫布應用程式時,請新增參數至 畫布應用程式 web 連結查詢字串。 這包括新增假設查詢字串已為 tenantId 啟動的 &parametername=parametervalue。 例如,新增 &First%20Name=Vicki&category=3 會傳遞兩個參數:First Name,值為 "Vicki"category,值為 "3" (數值類型是 Text)。 如果參數名稱和值包含空格或特殊字元 (類似使用 EncodeURL 函式),必須進行 URL 編碼。
  • Param 名稱會區分大小寫。
  • 將會自動解碼 Param 名稱和值以便用於您的應用程式。
  • 除非重新載入應用程式,否則參數值不會改變。 在已執行應用程式的行動裝置上使用啟動不會重新整理參數。
  • 即使參數包含數字,由 Param 傳回的類型永遠都是文字字串。 轉換成其他類型時會自動發生或使用顯式轉換如 Value 函式,將顯式轉換為數字。

注意

對於自訂頁面,該頁面接受的唯一參數是:recordId 和 entityName。

語法

Launch( Address [, ParameterName1, ParameterValue1, ... ] )

  • Address – 必要項目。 網頁的位址或要啟動之應用程式的識別碼。
  • ParameterName(s) – 非必要項目。 參數名稱。
  • ParameterValue(s) – 非必要項目。 要傳遞至應用程式或網頁的對應參數值。

Launch( Address, { [ ParameterName1: ParameterValue1, ... ] } [, LaunchTarget ] )

  • Address – 必要項目。 網頁的位址或要啟動之應用程式的識別碼。
  • ParameterName(s) – 非必要項目。 參數名稱。
  • ParameterValue(s) – 非必要項目。 要傳遞至應用程式或網頁的對應參數值。
  • LaunchTarget – 非必要項目。 LaunchTarget enum 值或自訂 名稱

Param( ParameterName )

  • ParameterName - 必要項目。 傳遞至應用程式的參數名稱。

保留的參數

以下關鍵字保留供內部使用 (不考慮大小寫),不可做為 Param() 函式中的自訂參數:

  • amp%3Bauthmode
  • amp%3Benableonbehalfof
  • amp%3Bhidenavbar
  • amp%3Blocale
  • appmetadataversion
  • authmode
  • channeltype
  • cordovapath
  • correlationid
  • 偵錯
  • delegatelaunchurl
  • delegatelaunchurl
  • disablepreviewredirect
  • embedderorigin
  • enableonbehalfof
  • groupid
  • hideappsplash
  • hidenavbar
  • hint
  • hostclienttype
  • hostmode
  • iframecontainerid
  • isfullscreen
  • ispreviewmode
  • loader
  • loaderType
  • locale
  • location
  • packagekind
  • packageproperties
  • playerresourcespath
  • playersessionid
  • powerappslanguage
  • screencolor
  • sdkversion
  • site
  • skipappmetadata
  • skipiframecreation
  • skiplaunchappcache
  • 來源
  • sourcetime
  • standaloneconsent
  • teamid
  • teamtype
  • tenantId
  • theme
  • uselocalpackagehostresources
  • userteamrole

範例

簡易啟動

從畫布應用程式到網頁:

公式 Description
Launch( "http://bing.com/search",
"q", "Power Apps", "count", 1 )
開啟網頁 https://bing.com/search?q=Power%20Apps&count=1. 會開啟新視窗或索引標籤。
Launch( "http://bing.com/search",
{ q: "Power Apps", count: 1 } )
與先前使用相等記錄標記法的範例相同。 會開啟新視窗或索引標籤。
Launch( "http://bing.com/search",
{ q: "Power Apps", count: 1 },
LaunchTarget.Replace )
與先前的範例相同,若要在網頁瀏覽器中執行,請將目前的視窗或索引標籤替換為結果。
Launch( "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 }
)

從網頁到畫布應用程式

視需要更新應用程式 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

上述 從網頁另一個畫布應用程式 簡易啟動畫布應用程式範例顯示 Param 函式的簡單範例:

公式 描述 結果
Param( "Navigate" ) 當應用程式啟動並傳回時,就會提供 Navigate 參數。 "第二畫面控制項"
Param( "Record" ) 當應用程式啟動時,就會提供 Record 參數。 即使以數字傳遞給 Launch 函式,從 Param 獲得的結果將是可以隱式或顯式轉換為其他類型的文字字串。 "34"
Param( "User" ) 不會提供 User 參數。 傳回的 空白 值可以使用 IsBlank 函式測試。 空白

啟動和 Param 的逐步範例

產品展示 平板電腦配置範本用於下列範例。 若要使用此範本建立應用程式,請依照 建立應用程式 文章的步驟進行,並選取 產品展示 範本。 您也可以使用自己的應用程式。

範例 - 啟動

  1. 移至 Power Apps

  2. 從左導覽窗格選取 Apps

  3. 選取您的應用程式,然後選取 Edit

  4. 從功能表選取 Insert,然後選取 Label

  5. 將標籤移到畫面控制項的底部。

  6. 從右側的屬性窗格中,選取 Colorwhite,並將 Border thickness 設定為 1

  7. 從右側選取 Text 屬性並將文字輸入為 Surface tablets in news

  8. 從左上部的屬性清單中,選取 OnSelect

  9. 輸入公式為 Launch("https://www.bing.com/news/search","q","Microsoft Surface tablets")。 您也可以使用您選擇的任何其他 URL、參數和關鍵字。

    啟動範例。

  10. 儲存並發佈應用程式。

  11. 播放應用程式。

  12. 選取標籤 Surface tablets in news 及使用關鍵字 Microsoft Surface tablets 啟動新搜尋。

小費

基於可伸縮性,您可以在 Launch 函式中以 變數 取代手動輸入的關鍵字。

範例 - Param

  1. 移至 Power Apps

  2. 從左導覽窗格選取 Apps

  3. 選取您的應用程式,然後選取 Edit

  4. 從功能表選取 Insert,然後選取 Label

  5. 將標籤移到畫面控制項的底部。

  6. 從左上部選取標籤的 Text 屬性。

  7. 輸入公式為 Param("browser")。 您也可以使用自己選擇的不同參數。

    Param 範例。

  8. 儲存並發佈應用程式。

  9. Power Apps 複製應用程式的 Web 連結

  10. 開啟新瀏覽器。

  11. 在瀏覽器中貼上應用程式 web 連結,並在結尾處附加 &browser=Microsoft%20Edge

    Web 位址。

  12. 當您的應用程式啟動時,標籤顯示傳遞的參數值。

    Param 範例標籤。

  13. 關閉應用程式播放器及編輯應用程式。

  14. 從左導覽的樹狀結構視圖中選取 App

  15. 選取左上方的 StartScreen 屬性。

  16. 輸入公式為 If( Param("screen") = "techspecs", TechSpecs )

    用於導覽的 Param 範例。

    StartScreen 屬性中的 If function 會檢查參數是否等於特定值,在這種情況下,值為 techspecs。 如果相符,則會將 TechSpecs 畫面控制項傳回至 StartScreen 屬性。

    注意

    如果您使用的不是產品介紹應用程式範本,請將 If 函式中的 TechSpecs 控制項名稱取代為您自己應用程式中的畫面控制項名稱。

  17. 儲存並發佈應用程式。

  18. 開啟新瀏覽器。

  19. 在瀏覽器中貼上應用程式 web 連結,並在結尾處附加 &screen=techspecs

    TechSpecs 畫面控制項的網址。

  20. 應用程式會直接以 TechSpecs 做為開始畫面來啟動。

另請參閱

畫布應用程式公式參考