Функции Launch и Param

Применимо к: приложениям на основе холста

Запускает веб-страницу или приложение на основе холста и предоставляет доступ к параметрам запуска.

Launch

Запускает веб-страницу или приложение на основе холста. Функция поддерживает:

  • Адрес (обязательно), URL-адрес веб-страницы или URI приложения (идентификатор приложения c префиксом /providers/Microsoft.PowerApps/apps/) на основе холста.
  • Параметры (необязательно), именованные значения для передачи на веб-страницу или в приложение на основе холста. В приложении на основе холста параметры можно прочитать с помощью функции Param.
  • Цель (необязательно), вкладка браузера для запуска веб-страницы или приложения на основе холста.

Функция Launch может использоваться только в формулах поведения.

Адрес

Веб-страницы запускаются через URL-адрес. Например:

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

Вы можете запустить приложения на основе холста с помощью веб-ссылки или URI приложения (ИД приложения с /providers/Microsoft.PowerApps/apps/). Чтобы найти эти значения для приложения:

  1. Переход к Power Apps.

  2. Выберите Приложения в левой области навигации.

  3. Выберите приложение.

  4. Выберите Сведения в верхнем меню.
    Вы также можете выбрать ... (Дополнительные команды), затем выберите Сведения из раскрывающегося меню.

    Параметр сведений о приложении.

  5. Скопируйте Веб-ссылку или Идентификатор приложения.

    Сведения о приложении с веб-ссылкой и идентификатором приложения.

Веб-ссылка может использоваться на любой веб-странице и запустит приложение на основе холста. Она также может быть использована с функцией Launch.

Идентификатор приложения может быть использован с функцией 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 Вместо значения перечисления используйте свою собственную текстовую строку для имени окна или вкладки. Self — это только внутреннее имя, которое используется только функцией Launch. Оно не влияет и не соответствует заголовку окна, которое видят ваши пользователи. Если окно или вкладка с данным именем уже существует, его содержимое будет заменено. В противном случае будет создано новое окно или вкладка. name не может начинаться с символа подчеркивания "_".

New является перечислением по умолчанию при работе в веб-браузере с Replace и name в качестве доступных вариантов. В мобильном плеере Создать задано по умолчанию для веб-страниц с именем в качестве доступного варианта; в то время как текущее приложение на основе холста всегда будет заменено другим приложением на основе холста.

Заметка

  • Используя LaunchTarget с любым значением, кроме Создать, во встроенных сценариях (например, Power BI или SharePoint) не поддерживается и может привести к неожиданному поведению. В будущем это поведение может измениться или может вызвать ошибку.

Param

Функция Param возвращает параметр, переданный в приложение при запуске. Если именованный параметр не передавался, функция Param возвращает пустое значение.

  • При запуске приложения на основе холста из другого приложения на основе холста используйте аргументы Параметр для функции Launch. Имена и значения параметров будут автоматически закодированы в кодировке URL.
  • При запуске приложения на основе холста с веб-страницы добавьте параметры в строку запросавеб-ссылки приложения на основе холста. Это включает в себя добавление &parametername=parametervalue при условии, что строка запроса уже была запущена для tenantId. Например, при добавлении &First%20Name=Vicki&category=3 будут передаваться два параметра: First Name со значением "Vicki" и category со значением "3" (тип значения — текст). Имя и значение параметра должны быть закодированы в кодировке URL, если они содержат пробелы или специальные символы, аналогично использованию функции EncodeURL.
  • Имена параметров чувствительны к регистру символов.
  • Имена и значения параметров будут автоматически декодированы из кодировки URL для использования в вашем приложении.
  • Значения параметров не изменяются, пока приложение не будет перезагружено. Использование Запуска на мобильном устройстве, где приложение уже запущено, не обновляет параметры.
  • Даже если параметр содержит число, тип, возвращаемый функцией Param, всегда будет текстовой строкой. Преобразование в другие типы будет происходить автоматически или использовать явные преобразования, такие как функция Value для явного преобразования в число.

Заметка

Для пользовательских страниц единственными параметрами, принимаемыми страницей, являются: recordid и entityName.

Синтаксис

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

  • Address — обязательный аргумент. Адрес веб-страницы или ИД приложения для запуска.
  • ParameterName — необязательный параметр. Имя параметра.
  • ParameterValue — необязательный параметр. Соответствующие значения параметров для передачи в приложение или веб-страницу.

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

  • Address — обязательный аргумент. Адрес веб-страницы или ИД приложения для запуска.
  • ParameterName — необязательный параметр. Имя параметра.
  • ParameterValue — необязательный параметр. Соответствующие значения параметров для передачи в приложение или веб-страницу.
  • LaunchTarget — необязательный параметр. Значение перечисления LaunchTarget или пользовательское имя.

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
  • расположение
  • packagekind
  • packageproperties
  • playerresourcespath
  • playersessionid
  • powerappslanguage
  • screencolor
  • sdkversion
  • site
  • skipappmetadata
  • skipiframecreation
  • skiplaunchappcache
  • source
  • 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" )
То же, что и в предыдущем примере, создание или замена содержимого окна или вкладки с именем Результаты поиска.

Из приложения на основе холста в приложение на основе холста

Обновите идентификатор приложения, имя экрана и номер записи соответствующим образом.

Launch( "/providers/Microsoft.PowerApps/apps/YOUR-APP-ID",
        { Navigate: "Second Screen", Record: 34 }
)

Из веб-страницы в приложение на основе холста

Обновите идентификатор приложения, идентификатор клиента, имя экрана и номер записи соответствующим образом.

<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 был указан при запуске приложения и возвращается. "Second Screen"
Param( "Record" ) Параметр Record был указан при запуске приложения. Хотя он был передан в качестве числа в функцию Launch, результат из функции Param будет текстовой строкой, которая может быть неявно или явно преобразована в другие типы. "34"
Param( "User" ) Параметр User не был предоставлен. Пустоевозвращается значение, которое можно проверить с помощью функции IsBlank. пусто

Пошаговые примеры для Launch и Param

Шаблон макета планшета Витрина товаров был использован для следующих примеров. Чтобы создать приложение с этим шаблоном, выполните действия из статьи о создании приложения и выберите шаблон Витрина товаров. Также можно использовать собственное приложение.

Пример — Launch

  1. Переход к Power Apps.

  2. Выберите Приложения в левой области навигации.

  3. Выберите свое приложение, затем выберите Изменить.

  4. Выберите Вставить в меню, затем выберите Label.

  5. Переместите метку в правый нижний угол экрана.

  6. На панели свойств справа выберите Цвет как белый и установить для параметра Толщина границы значение 1.

  7. Выберите свойство Text справа и введите текст как Планшеты Surface в новостях.

  8. Из списка свойств слева вверху выберите OnSelect.

  9. Введите формулу как Launch("https://www.bing.com/news/search","q","Microsoft Surface tablets"). Вы также можете использовать любой другой URL, параметр и ключевые слова по вашему выбору.

    Пример функции Launch.

  10. Сохраните и опубликуйте приложение.

  11. Запустите приложение.

  12. Выберите метку Планшеты Surface в новостях, чтобы запустить поиск новостей по ключевым словам Планшеты Microsoft Surface.

Совет

Для масштабируемости вы можете заменить введенные вручную ключевые слова в функции Launch на переменные.

Пример — Param

  1. Переход к Power Apps.

  2. Выберите Приложения в левой области навигации.

  3. Выберите свое приложение, затем выберите Изменить.

  4. Выберите Вставить в меню, затем выберите Label.

  5. Переместите метку в правый нижний угол экрана.

  6. Выберите свойство Text для метки сверху слева.

  7. Введите формулу как Param("browser"). Вы также можете использовать другой параметр по вашему выбору.

    Пример Param.

  8. Сохраните и опубликуйте приложение.

  9. Скопируйте веб-ссылку для вашего приложения из Power Apps.

  10. Откройте новый браузер.

  11. Вставьте веб-ссылку приложения в браузер и добавьте &browser=Microsoft%20Edge в конце.

    Веб-адрес.

  12. Когда ваше приложение запускается, метка показывает переданное значение параметра.

    Метка примера функции Param.

  13. Закройте проигрыватель приложения и отредактируйте приложение.

  14. Выберите App из представления дерева в левой навигации.

  15. Выберите свойство StartScreen в левом верхнем углу.

  16. Введите формулу как If( Param("screen") = "techspecs", TechSpecs ).

    Пример функции Param для навигации.

    Функция If в свойстве StartScreen проверяет, равен ли параметр определенному значению, в этом случае значению techspecs. И если оно совпадает, возвращает элемент управления экраном TechSpecs в свойство StartScreen.

    Заметка

    Замените имя элемента управления TechSpecs в функции If именем элемента управления в вашем приложении, если вы не используете шаблон приложения Product Showcase.

  17. Сохраните и опубликуйте приложение.

  18. Откройте новый браузер.

  19. Вставьте веб-ссылку приложения в браузер и добавьте &screen=techspecs в конце.

    Веб-адрес для экрана TechSpecs.

  20. Приложение запускается напрямую с TechSpecs в качестве начального экрана.

См. также

Справочник по формуле приложения на основе холста