Как публиковать приложения с помощью Expo SDK Framework

12 set 2022 3 min di lettura
Как публиковать приложения с помощью Expo SDK Framework
Indice dei contenuti

Введение

Эта статья является частью серии, посвященной Expo, фреймворку для приложений React.

Если вы новичок в Expo, вам предлагается прочитать предыдущие статьи этой серии:

Настройте приложение с помощью app.json

В управляемом приложении у нас нет собственных проектов iOS или Android для изменения, это полностью управляется Expo. Поэтому, когда мы хотим изменить конфигурацию, например значок и изображение на главном экране, мы можем использовать app.json.

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

Чтобы поделиться приложением с вашей командой, мы можем запустить команду expo publish из терминала, чтобы создать пакет JavaScript и загрузить все ресурсы в сети CDN. Подробнее об издании читайте здесь.

expo publish
Примечание. Запуск expo publish загрузит исходный код приложения в CDN Expo (на базе CloudFront). Если вы предпочитаете размещать все на своих серверах, прочитайте, как разместить приложение на своих серверах.

Когда команда expo publish выполняется, CLI предупреждает нас об оптимизации ресурсов. Мы можем запустить expo optimize, чтобы оптимизировать ресурсы, и, если возможно, мы немного уменьшим наши ресурсы. Повторно опубликуйте эту команду позже, чтобы пожинать плоды. После публикации вам предоставляется постоянный URL-адрес, которым вы можете поделиться с коллегами, например https://expo.io/@author/app-nam. Эта ссылка определяется именем пользователя учетной записи Expo и полем slug в проекте app.json. В iOS вы можете открывать только созданные вами проекты, если у вас нет приоритетного плана, чтобы ваши коллеги тоже могли открывать ваши проекты. Еще один способ открыть любое управляемое приложение, опубликованное в клиенте Expo, — создать пользовательскую сборку клиента iOS Expo. Подробнее читайте здесь.

expo optimize

Сборка и развертывание

iOS и Apple App Store

Перед запуском сборки необходимо установить bundleIdentifier в app.json.

...
 "ios": {
 "supportsTablet": true,
 "bundleIdentifier": "com.example.app",
 "icon": "./path/to/icon-ios.png"
 },...

Теперь, когда мы запустим expo build:ios, мы запустим сборку с сервисом сборки Expo. Нам будет предложено ввести учетные данные Apple Developer, а затем несколько раз нажать Enter, чтобы позволить Expo управлять сертификатом распространения, push-ключом и профилем подготовки. Вы также можете предоставить все это самостоятельно, что вам может понадобиться, если вы переместите существующее приложение в управляемый рабочий процесс.

expo build:ios
Примечание: команда expo build:[ios/android] использует службу сборки Expo: если вы предпочитаете запускать сборки в своей инфраструктуре, прочитайте, как это сделать при создании автономных приложений на вашем C I.

Теперь вы можете использовать загрузчик приложений для загрузки приложения в App Store Connect, но нам проще выполнить expo upload:ios. Оказавшись в App Store Connect, вам нужно будет выполнить некоторую ручную работу в их веб-интерфейсе. Узнайте больше о распространении в магазинах приложений.

expo upload:ios

Магазин Android и Google Play

Сборки Android следуют тому же процессу, что и сборки iOS, но мы ограничим необходимые нам разрешения только теми, которые мы используем в приложении, потому что разрешения Android более статичны, чем iOS. Эквивалентом bundleIdentifier для iOS является package для Android:

...
 "android": {
 "icon": "./path/to/icon-ios.png"
 "package": "com.example.app",
 "permission": ["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"]
 },...

Здесь мы создадим Android App Bundle ( .aab ), потому что нам нужен более компактный двоичный файл для Play Store:

expo build:android --type app-bundle --release-channel android

Если вы хотите установить бинарный файл на локальное устройство для тестирования, не используйте флаг --app-bundle, вместо этого вы получите файл .apk. Теперь нам нужно создать приложение в консоли Google Play и вручную загрузить его через веб-интерфейс. После первой загрузки приложения вы можете выполнять последующие загрузки с помощью команды expo upload:android. Узнайте больше о распространении в магазинах приложений.

expo upload:android

Создание и распространение в Интернете

Запустите команду expo build:web, затем загрузите каталог web-build на любой хост, способный обслуживать статические файлы.

expo build:web

Обновить приложение

Как только приложение будет готово для тестирования или в магазинах, вы, вероятно, не захотите повторять процесс еще раз, чтобы внести несколько небольших изменений. Чтобы отправить обновление, нам просто нужно снова запустить expo publish. Когда мы создавали наш пакет Android-приложения выше, мы указывали на определенный канал выпуска Android ( узнайте больше о каналах выпуска ). Чтобы опубликовать обновление в приложении Android, этот канал выпуска также должен быть обновлен. Чтобы определить правила загрузки и применения этих обновлений приложениями, прочитайте о настройке обновлений OTA.

Часто выпускаются обновления для Expo SDK. Если вы решите обновить приложение до более новой версии SDK, копии предыдущей версии продолжат работать корректно. Пользователи будут загружать последнюю копию, поддерживаемую их клиентом.

Вывод

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

Здесь вы можете найти все статьи, посвященные ЭКСПО:

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.