Настройка метаданных

Метаданные — это данные о приложении, которые пользователь видит до установки: название, иконка, заставка, ориентация экрана и версия. В Expo-проектах они управляются централизованно через файл конфигурации: app.json или app.config.js.

Основные поля в app.json

Пример минимальной конфигурации:

{
  "expo": {
    "name": "Моё Приложение",
    "slug": "my-app",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "platforms": ["android", "ios"]
  }
}

name

Отображаемое имя приложения на устройстве. Может содержать пробелы и кириллицу (но для App Store рекомендуется латиница).

slug

Уникальный идентификатор приложения в системе Expo. Используется в URL для OTA-обновлений. Должен быть валидным URL-сегментом (только латиница, цифры, дефисы, подчёркивания).

version

Версия приложения в формате x.y.z. Эта версия отображается в магазинах. При каждой новой публикации она должна увеличиваться.

orientation

Фиксирует ориентацию экрана: "portrait", "landscape" или "default" (разрешает обе).

icon

Путь к изображению иконки (рекомендуется 1024×1024 px, PNG без прозрачности). Expo автоматически генерирует все необходимые размеры для iOS и Android.

splash

Настройка стартового экрана:

  • image — изображение заставки (часто с логотипом).
  • resizeMode — как изображение масштабируется ("contain", "cover").
  • backgroundColor — фон за изображением (обязателен для быстрой загрузки).

Генерация иконок

Ручная подготовка иконок под все разрешения — трудоёмкая задача. Expo делает это автоматически при сборке, если указан корректный icon. Для дополнительного контроля можно использовать сторонние инструменты:

  • expo-icon — CLI-утилита для генерации иконок.
  • Онлайн-генераторы (например, https://appicon.co).

Важно: иконка должна быть квадратной, без альфа-канала и с достаточным запасом по краям (некоторые платформы обрезают углы).

Стартовый экран (splash)

Стартовый экран показывается сразу при запуске, пока загружается JavaScript-бандл. Его цель — создать ощущение быстрого старта. Фон должен совпадать с фоном первого экрана приложения, чтобы переход был незаметным.

Если не указать splash, Expo покажет чёрный экран, что выглядит как зависание. Поэтому даже простая заставка лучше, чем ничего.