Настройка и сборка мобильного приложения

Ранее вы узнали о возможностях функции упаковки приложений, о том, как она работает и о ее преимуществах. В этой статье вы узнаете, как использовать функцию упаковки для упаковывания одного или нескольких приложений на основе холста в единый нативный пакет мобильного приложения.

Предварительные условия

  • Вам понадобится доступ к порталу Azure для регистрации своего приложения и настройки разрешений API на платформе Microsoft Identity.
  • Вам понадобится доступ к центру приложений Visual Studio, чтобы добавить новую организацию и приложения.
  • Вам понадобится одно или несколько приложений на основе холста (сохраненных в решении), которые вы можете упаковать для распространения среди мобильных пользователей.
  • Используйте платформу Android, убедитесь, что вы сгенерировали ключи, а потом сгенерируйте хэш подписи до регистрации приложения. Вам понадобится сгенерированный хэш подписи для настройки URI перенаправления.

Установите упаковку для Power Apps в своей среде

Функция упаковки создаст мобильную версию приложения на основе холста, которую вы можете распространять в качестве приложений для Android и iOS под вашим собственным брендом через каналы распространения, такие как Microsoft Intune, Центр приложений Майкрософт, Google Play и Apple Business Manager.

Чтобы использовать упаковку Power Apps, вам необходимо установить ее в своей среде. Перейдите в раздел Приложения Dynamics 365 в центре администрирования Power Platform, выберите Упаковка для Power Apps и нажмите Установить.

Установка упаковки для Power Apps.

Выберите среду из списка и нажмите кнопку Установить.

Выберите среду и начните установку.

Примечание

У вас должны быть права администратора в среде для установки упаковки для Power Apps.

Добавление приложения на основе холста в решение

Упаковка Power Apps требует, чтобы приложения были частью решения. Если ваши приложения на основе холста еще не являются частью решения, добавьте их в существующее или новое решение. Перейдите в раздел Решения, выберите решение и нажмите кнопку Изменить.

Выбор решения.

Выберите + Добавить существующее в верхнем меню и выберите Приложение > Приложение на основе холста в раскрывающемся списке.

В верхнем меню выберите Добавить существующее.

Перейдите на вкладку За пределами Dataverse и выберите приложение из списка. Нажмите кнопку Добавить, чтобы добавить это приложение в решение.

Выберите Добавить приложение в решение.

Дополнительные сведения: Добавление приложения в решение

Регистрация приложения

Создайте новую регистрацию для своего приложения в каталоге организации с помощью портала Azure. Подробные инструкции см. в разделе Краткое описание: регистрация приложения на платформе Microsoft Identity.

Примечание

И одно-, и мультитенантные клиенты могут использовать упаковку для создания собственных мобильных приложений на базе своих приложений Power Apps на основе холста.

Независимо от того, являетесь вы создателем для одного или нескольких клиентов, выберите любой из параметров, содержащих Любой каталог Azure AD — с несколькими клиентами при выборе типа учетной записи для своего приложения, чтобы его можно было упаковать. Выберите один из следующих типов учетных записей:

  • Учетные записи в любом каталоге организации (любой каталог Azure AD — с несколькими клиентами)
  • Учетные записи в каталоге организации (любой каталог Azure AD — с несколькими клиентами) и личные учетные записи Microsoft (например, Skype, Xbox).

Регистрация приложения — поддерживаемые типы учетных записей для упаковки.

Важно!

  • Сейчас упаковка поддерживает только типы учетных записей Несколько клиентов. Тип учетной записи Один клиент еще не поддерживается. Дополнительная информация об учетных записей: Типы учетных записей на платформе Microsoft Identity.
  • Чтобы URI перенаправления соответствовал требуемому формату, не создавайте URI перенаправления при создании регистрации приложения. После завершения регистрации приложения перейдите в приложение и выберите Аутентификация > + Добавить платформу, чтобы вместо этого добавить платформу.
  • Вы должны создать отдельный URI перенаправления для каждой целевой платформы (iOS, Android).

После регистрации приложения скопируйте Идентификатор приложения (клиент) и URI перенаправления, которые вам понадобятся позже при настройке проекта упаковки в Power Apps. Дополнительные сведения: Регистрация приложения

Формат URI перенаправления

Для iOS URI перенаправления требуется только Идентификатор пакета.

Примеры для iOS:

  • Идентификатор пакета: com.contoso.myapp
  • URI-адрес перенаправления: msauth.com.contoso.myapp://auth

Для Android URI перенаправления требует Имя пакета и Хэш подписи. Чтобы создать хэш подписи, сгенерируйте ключи, а потом сгенерируйте хэш подписи.

Примеры для Android:

  • Имя пакета: com.contoso.myapp
  • URI перенаправления: msauth://com.contoso.myapp/<generated signature hash>

Разрешить зарегистрированные приложения в вашей среде

Вам потребуется разрешить приложения, зарегистрированные с помощью портала Azure, в вашей среде Power Platform. Для выполнения этого шага используйте последнюю версию Модуль Power Apps PowerShell для Администратор и запустите следующий командлет с идентификатором приложения (клиента) из шага Регистрация приложения:

Add-AdminAllowedThirdPartyApps -ApplicationId <App ID>

Примечание

  • Этот командлет доступен в версии 2.0.144 и новее модуля Power Apps PowerShell для Администратор.
  • Для запуска этого командлета вам потребуются привилегии глобального администратора клиента. Командлет позволяет администратору указать, какие сторонние приложения, зарегистрированные в Azure AD, могут вызвать подключения Power Platform.

Конфигурация разрешений API

Добавьте и настройте следующие разрешения API для приложения, которое вы зарегистрировали ранее на портале Azure:

  • API Майкрософт
    • Dynamics CRM
  • API, которые использует моя организация
    • Подключения API Azure
    • Служба PowerApps
    • Power BI (требуется только в том случае, если ваши приложения на основе холста используют данные Power BI)
    • Управление мобильными приложениями Майкрософт (требуется только в том случае, если вы хотите использовать Microsoft Intune для распространения мобильных приложений)

Примечание

Если вы не найдете разрешения в разделе API, которые использует моя организация, выполните следующие команды PowerShell и повторите попытку:

  • Отсутствует разрешение Подключения API Azure:
    Connect-AzureAD -TenantId <your tenant ID>
    New-AzureADServicePrincipal -AppId fe053c5f-3692-4f14-aef2-ee34fc081cae -DisplayName "Azure API Connections"
    
  • Отсутствует разрешение Служба PowerApps:
    Connect-AzureAD -TenantId <your tenant ID>
    New-AzureADServicePrincipal -AppId 475226c6-020e-4fb2-8a90-7a972cbfc1d4 -DisplayName "PowerApps Service"
    

Подробные шаги см. в Запросить разрешения на портале регистрации приложений.

Создайте контейнер центра приложений для своего мобильного приложения

На этом шаге вы будете использовать центр приложений для создания контейнера приложения для своего мобильного приложения. Дополнительная информация: Контейнер центра приложений

Совет

Дополнительные сведения о центре приложений см. в Документация центра приложений Visual Studio.

  1. Перейдите в Центр администрирования.

  2. Войти в рабочую или учебную учетную запись.

  3. Если у вас нет существующей организации, выберите Добавить новую > Добавить новую организацию для создания новой организации.

  4. Выберите организацию из списка на левой панели.

  5. Выберите Приложения > Добавить приложение.

  6. Введите имя приложения.

  7. Выберите тип выпуска приложения.

  8. Выберите ОС Пользовательская для приложений iOS, или ОС Android для приложений Android.

    Примечание

    Вы должны создать отдельные контейнеры App Center для каждой платформы.

  9. Для ОС Android выберите Платформа как React Native.

    Примечание

    Платформа должна быть React Native для всех приложений в центре приложений.

    Конфигурация приложений центра приложений.

  10. Выберите Добавить новое приложение.

  11. Скопируйте URL-адрес центра приложений для приложения, который вам понадобится позже при настройке проекта упаковки в Power Apps.

    Например: https://appcenter.ms/orgs/Contoso-sales/apps/Sample-canvas-app-for-Android-OS/

    URL-адрес центра приложений.

    Дополнительная информация: URL-адрес центра приложений

  12. Создайте новый токен API для доступа к приложению и скопируйте его для последующей настройки проекта приложения на основе холста. Дополнительная информация: Токен API центра приложений

    1. Выберите Настройки слева.
    2. Выберите Токены API приложения.
    3. Выберите Создать токен API.
    4. Введите описание.
    5. Выберите Полный доступ.
    6. Выберите Добавить новый токен API.

      Примечание

      Перед закрытием диалогового окна убедитесь, что вы скопировали токен.

    7. Скопируйте токен и сохраните его для настройки упаковки приложения на основе холста позднее. Токен центра приложений.

Повторите описанные выше шаги, чтобы создать приложения для любого дополнительного типа ОС.

Создание проекта упаковки

Используй свое основное приложение на основе холста, чтобы создать проект упаковки, используя информацию о приложении из платформы Microsoft Identity и центра приложений, которую вы настроили на предыдущих шагах. Дополнительная информация: Создание проекта упаковки

Чтобы создать проект упаковки, перейдите в Power Apps > Приложения > выберите основное приложение на основе холста > выберите Упаковка и введите сведения о проекте упаковки, описанные в этом разделе. После ввода всех данных выберите Сохранить > Сборка, чтобы собрать проект.

В зависимости от выбранной платформы процесс сборки ставит в очередь запросы на создание пакетов для Android, iOS или платформы Google.

Примечание

В зависимости от рабочей нагрузки процесс сборки может занять несколько часов.

После успешной сборки вы увидите свое мобильное приложение в центре приложений.

Отображаемое имя

Отображаемое имя мобильного приложения, которое будет отображаться на главном экране мобильного устройства.

Дополнительные приложения

Необязательно. Дополнительные приложения для объединения в одном пакете мобильного приложения. Дополнительная информация: Дополнительное приложение, Основное приложение

Платформы приложений

Определяет тип вывода процесса сборки упаковки на основе выбранной вами платформы. Дополнительная информация: Платформы приложений

Подписать мое приложение (предварительная версия)

Необязательно URI Azure KeyVault позволяет автоматически подписывать приложения для распространения, настроив хранилище ключей, содержащее необходимые сертификаты. Дополнительная информация: Настройка KeyVault для автоматической подписи

Важно!

  • Это предварительная версия функции.
  • Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.

Идентификатор пакета

Идентификатор пакета, который однозначно идентифицирует мобильное приложение. Например: com.contoso.myapp. Дополнительная информация: Идентификатор пакета

Идентификатор приложения (клиент)

Идентификатор клиента, зарегистрированного ранее приложения на платформе удостоверений Майкрософт. Дополнительные сведения: Идентификатор приложения (клиент)

URI-адрес перенаправления

URL-адрес, созданный ранее, для перенаправления после успешного входа в приложение, зарегистрированного на платформе Microsoft Identity. Дополнительные сведения: URI перенаправления

URL-адрес центра приложений

Для iOS, Android или центра приложений Google Play Маркет скопированный ранее URL-адрес. Дополнительная информация: URL-адрес центра приложений

Токен API центра приложений

Созданный ранее. Дополнительная информация: Токен API центра приложений

Внешний вид

Настройте значки приложений, изображения на экране, цвет и тему:

Внешний вид приложения с выделенным цветом и нумерацией - 1 - значки приложений, 2 - изображение экрана-заставки, 3 - изображение экрана приветствия, 4 - цвет заливки фона, 5 - цвет заливки кнопок, 6 - тема текста строки состояния, 7 - параметры настройки.

Значки приложения iOS / значки приложения Android

Изображения значков для приложения для iOS, Android или платформы Google Play Маркет. Размер файла изображения значка должен соответствовать требуемому количеству пикселей. [1]

Изображения экрана

  • Изображение экрана-заставки

    Изображение, которое будет использоваться на экране-заставке вашего мобильного приложения во время его загрузки. Изображение по умолчанию, используемое, если оно не указано. [2]

  • Изображение экрана приветствия

    Изображение, которое будет использоваться на экране приветствия (входа) вашего мобильного приложения во время его загрузки. Изображение по умолчанию, используемое, если оно не указано. [3]

Цвет

  • Цвет заливки фона

    Шестнадцатеричный код цвета, используемый для фона экрана приветствия. [4]

  • Цвет заливки кнопки

    Шестнадцатеричный код цвета, используемый для заливки цвета кнопки. [5]

Тема текста строки состояния

Цвет текста строки состояния в верхней части приложения. [6]

Настройки

Переход к настройкам приложения. Также доступно с помощью жеста встряхивания. Настройка не предусмотрена. [7]

  • Название приложения - имя приложения, за которым следует идентификатор пакета приложения.
  • Версия приложения - номер версии приложения; генерируется автоматически.
  • Версия платформы - версия платформы Power Apps Mobile.
  • Идентификатор сеанса - идентификатор текущего открытого сеанса.
  • Очистить кэш - сбрасывает упакованное приложение к настройкам по умолчанию.
  • Настройки приложения - показывает список приложений, которые являются частью текущего пакета. При выборе приложения из этого списка отображаются сведения о приложении, включая информацию о соединителе, для использования которого может быть настроено приложение.

Настройка KeyVault для автоматической подписи

Предварительные условия

Выполните следующие действия, чтобы настроить URI KeyVault:

  1. Войдите в свой клиент как администратор и создайте субъект-службу Azure для приложения 1P AAD: 4e1f8dc5-5a42-45ce-a096-700fa485ba20 (WrapKeyVaultAccessApp), запустив следующий скрипт:

    1. Connect-AzureAD -TenantId <your tenant ID>
    2. New-AzureADServicePrincipal -AppId 4e1f8dc5-5a42-45ce-a096-700fa485ba20 -DisplayName "Wrap KeyVault Access App"
  2. Добавьте роль к указанному выше субъекту-службе в подписке, в которой будет находиться Key Vault. Подробные шаги см. в разделе Назначение пользователя в качестве администратора подписки Azure. Примечание. На шаге 3 вы можете выбрать «Участник», так как для доступа к хранилищу ключей Key Vault требуется только минимальная роль.

  3. Создайте или получите доступ к существующему хранилищу ключей: Создание хранилища ключей с помощью портала Azure

  4. Добавьте политики доступа для хранилища ключей.

    Добавление политик доступа для хранилища ключей.

  5. В зависимости от устройства выполните одно из следующих действий:

    • Для Android создайте файл .pfx и отправьте его в раздел сертификатов хранилища ключей. Дополнительные сведения: Создание ключей

      Создание сертификата для Android.

      Примечание

      Имя сертификата должно присутствовать на шаге тега. Пароль также должен совпадать с паролем, который вы ввели в параметре доступа к хранилищу, используемом для создания файла .pfx на шаге 2.

    • Для iOS:

      1. Установите .cer в приложение "Доступ к цепочке ключей", дважды щелкнув его. Дополнительные сведения: Создание сертификата распространения
        Затем экспортируйте файл как файл .p12, щелкнув правой кнопкой мыши файл сертификата, выбрав Экспорт и выбрав формат файла .p12.

        Примечание

        Пароль .p12, который вы установили на шаге 4, потребуется при отправке его в хранилище ключей на следующем шаге.

      2. Создайте профиль подготовки и выполните следующую команду, чтобы закодировать его в base64:

        • Mac: base64 -i example.mobileprovision
        • Windows: certutil -encode data.txt tmp.b64
      3. Получите выведенную строку base64 из предыдущего шага и отправьте ее в секрет KeyVault. Затем получите файл .p12 и загрузите его в сертификат Keyvault.

        Создание сертификата для iOS.

  6. После того как сертификаты для iOS или Android созданы и отправлены, добавьте три тега с именем в качестве идентификатора пакета и значением, соответствующим имени отправленных сертификатов.

    Добавление тегов.

Подписывание кода

Процесс подписывания кода отличается для устройств на Android и iOS.

Тестирование и распространение пакета мобильного приложения

Для тестирования и распространения см. Тест центра приложений и Распространение.

См. также