Version2

Публікація в App Store та Google Play

Повний покроковий гід з публікації React Native застосунків у App Store та Google Play Store — від створення облікових записів розробника до проходження модерації та отримання першого завантаження

Вступ: від білду до рук користувачів

Ви завершили розробку застосунку. Код працює бездоганно, дизайн відшліфований, тестування пройдено. Тепер настав момент істини — публікація у App Store (iOS) та Google Play Store (Android), де ваш застосунок стане доступним для мільйонів користувачів по всьому світу.

Публікація мобільного застосунку — це не просто натискання кнопки «Опублікувати». Це багатоетапний процес, що включає:

  • Створення облікових записів розробника ($99/рік для Apple, $25 одноразово для Google)
  • Підготовку маркетингових матеріалів (іконка, скріншоти, опис, відео-превью)
  • Налаштування метаданих (категорія, вікові обмеження, ціна)
  • Проходження модерації (App Review для iOS, автоматичний скан для Android)
  • Управління версіями та оновленнями

Процес публікації в App Store та Google Play принципово відрізняється за філософією:

🍎 App Store (Apple)

Філософія: Жорсткий контроль якості через ручну модерацію.

  • ✅ Кожен білд перевіряється людиною (App Review Team)
  • ✅ Висока довіра користувачів до якості застосунків
  • ⏱️ Модерація 24–72 години (іноді до 7 днів)
  • ❌ Відхилення за порушення Guidelines (~40% при першій спробі)
  • 💰 $99/рік за Developer Program

🤖 Google Play (Android)

Філософія: Автоматизована модерація з ручною перевіркою вибіркових застосунків.

  • ✅ Автоматичний скан на шкідливий код та політики
  • ⏱️ Публікація 1–3 години (іноді миттєво)
  • 🔍 Ручна перевірка лише підозрілих застосунків
  • ❌ Відхилення рідше (~15%), але за серйозні порушення — permanent ban
  • 💰 $25 одноразово за Developer Account

Мета цієї лекції

Ця лекція проведе вас через весь процес публікації від створення облікового запису до отримання першого завантаження:

Крок 1: Підготовка застосунку до релізу

Фінальні перевірки коду, оптимізація, створення production білду через EAS Build.

Крок 2: Маркетингові матеріали

Іконка застосунку, скріншоти, опис, ключові слова, promotional відео.

Крок 3: Створення облікових записів розробника

Реєстрація у Apple Developer Program та Google Play Console.

Крок 4: Налаштування метаданих в App Store Connect

Заповнення інформації про застосунок, категорії, ціноутворення, доступність за регіонами.

Крок 5: Налаштування метаданих у Google Play Console

Аналогічно для Android, але з особливостями платформи.

Крок 6: Завантаження білдів

Upload IPA до App Store Connect, AAB до Google Play Console.

Крок 7: Проходження модерації

Підготовка до App Review, типові причини відхилень, як відповідати на запити модераторів.

Крок 8: Публікація та моніторинг

Запуск у production, відстеження установок, робота з відгуками користувачів.


Передумови: що потрібно мати перед публікацією

Перед початком процесу публікації переконайтеся, що у вас є:

Production білди
required
Створені через EAS Build або локально: .ipa для iOS, .aab для Android. Детально розглянуто у лекції 29. EAS Build та профілі збірки.
Іконка застосунку
required
Квадратна іконка 1024×1024 пікселів у форматі PNG без прозорості. Без заокруглених кутів (платформи додають їх автоматично).
Скріншоти
required
Мінімум 2 скріншоти для кожної підтримуваної платформи. Вимоги до розмірів різні для iOS/Android (детально нижче).
Опис застосунку
required
Короткий (до 80 символів) та повний (до 4000 символів) опис. Має відповідати функціоналу застосунку.
Privacy Policy URL
required
Обов'язкова вимога обох платформ. Може бути розміщена на вашому сайті або через privacypolicies.com.
Support URL або Email
required
Контактна інформація для користувачів. Apple вимагає URL, Google дозволяє email.
Банківський рахунок (для платних застосунків)
optional
Для отримання виплат від продажів або in-app purchases. Налаштовується у Developer Console.
Тестові облікові записи
recommended
Для App Review команди — доступ до застосунку якщо потрібна авторизація. Apple вимагає обов'язково.
Типова помилка початківців: Спроба подати на модерацію застосунок з placeholder-контентом (Lorem ipsum, тестові зображення, незавершений функціонал). Це призводить до миттєвого відхилення. Apple та Google вимагають повністю готовий до використання продукт.

Крок 1: Фінальна підготовка застосунку

1.1. Чек-лист перед релізом

Перед створенням production білду пройдіть цей чек-лист:

1.2. Тестування production білду

Критично: Тестуйте саме production білд, а не development!

# Створіть preview білд (наближений до production)
eas build --platform android --profile preview
eas build --platform ios --profile preview

Що тестувати:

Перевірте всі критичні флоу

Реєстрація → Логін → Основний функціонал → Оплата (якщо є) → Логаут

Тестуйте на різних версіях ОС

  • iOS: мінімум iOS 13, 15, останню версію
  • Android: мінімум Android 8.0 (API 26), 11, 13

Перевірте landscape орієнтацію

Якщо застосунок підтримує — перевірте всі екрани у горизонтальному режимі

Тестуйте повільний інтернет

Увімкніть Network Link Conditioner (iOS) або обмежте швидкість в Android

Перевірте crash-free rate

Використовуйте аналітику (Sentry, Firebase Crashlytics) для відстеження крашів

1.3. Створення фінального production білду

# Android (AAB)
eas build --platform android --profile production

# iOS (IPA)
eas build --platform ios --profile production

# Обидві платформи одночасно
eas build --platform all --profile production

Очікуваний результат:

eas build --platform all --profile production
$ eas build --platform all --profile production
✔ Linked to project @username/myapp
[1/2] Building for Android...
Build ID: abc123-android
Track: https://expo.dev/accounts/username/projects/myapp/builds/abc123
[2/2] Building for iOS...
Build ID: xyz789-ios
⏳ Waiting for builds to complete (15-20 minutes)...
✓ Android build completed
Download: https://expo.dev/artifacts/eas/myapp-1.0.0.aab
✓ iOS build completed
Download: https://expo.dev/artifacts/eas/myapp-1.0.0.ipa

Збережіть посилання на артефакти — вони знадобляться для завантаження у стори.


Крок 2: Підготовка маркетингових матеріалів

2.1. Іконка застосунку

Іконка — це перше враження користувача про ваш застосунок. Вона відображається на домашньому екрані, у результатах пошуку App Store/Play Store, у списку встановлених застосунків.

Технічні вимоги:

ПараметрВимога
Розмір1024×1024 пікселів (обидві платформи)
ФорматPNG (без прозорості для iOS, з прозорістю для Android)
Колірний простірRGB (не CMYK)
КутиКвадратна без заокруглення (платформи додають автоматично)
Розмір файлуДо 1 MB
Заборонено:
  • Текст менше 44pt (нечитабельний на маленьких іконках)
  • Скріншоти UI застосунку (Apple вважає це Guideline порушенням)
  • Фото реальних людей без письмового дозволу
  • Логотипи сторонніх компаній (Apple, Android, тощо)
  • Emoji або символи, захищені авторським правом

Рекомендації дизайну:

🎨 Простота

Іконка має бути зрозумілою на екрані 60×60 пікселів. Один чіткий символ краще за складну композицію.

✅ Instagram (градієнт + камера) ❌ Детальна ілюстрація міста

🌈 Контрастність

Висока контрастність між фоном і головним елементом. Уникайте світлих іконок на білому фоні.

✅ Telegram (синє небо + білий літак) ❌ Сірий текст на білому фоні

🔲 Padding

Залиште 10% padding від країв. iOS додає тінь, Android — adaptive icon mask.

✅ Елемент у центрі з відступами ❌ Елемент торкається країв

📱 Тестування

Перевірте як виглядає іконка:

  • На світлому та темному фоні (iOS Dark Mode)
  • Поруч з іншими іконками на домашньому екрані
  • У результатах пошуку App Store/Play Store

Інструменти для створення іконок:

  • Figma — безкоштовний онлайн-редактор
  • Sketch — macOS додаток ($99/рік)
  • Icon Kitchen — автоматична генерація Android adaptive icons
  • AppIconMaker — генерація всіх розмірів іконок

2.2. Скріншоти застосунку

Скріншоти — це візуальна розповідь про ваш застосунок. Користувачі приймають рішення про встановлення за 5–7 секунд перегляду сторінки у сторі.

Вимоги Apple App Store:

ПристрійРозмір (пікселі)Обов'язковість
iPhone 6.7" (15 Pro Max)1290×2796✅ Обов'язково
iPhone 6.5" (11 Pro Max)1284×2778Рекомендовано
iPhone 5.5" (8 Plus)1242×2208Опціонально
iPad Pro 12.9" (якщо підтримка)2048×2732Обов'язково для iPad

Кількість: 2–10 скріншотів на кожен розмір.

Вимоги Google Play Store:

ПристрійРозмір (пікселі)Обов'язковість
PhoneМінімум 320px по короткій стороні✅ Обов'язково (2–8 шт)
7" Tablet1024×600 або більшеРекомендовано
10" Tablet1280×800 або більшеРекомендовано

Формат: JPEG або PNG, до 8 MB на скріншот.

Лайфхак для створення скріншотів:
  1. Запустіть застосунок на симуляторі з потрібним розміром екрану
  2. Натисніть Cmd + S (iOS Simulator) або Ctrl + S (Android Emulator)
  3. Скріншоти збережуться автоматично у правильному розмірі
Альтернатива — використовуйте Screenshot для додавання рамок пристрою.

Правила дизайну скріншотів:

Перший скріншот = заголовок

Це головний продаючий екран. Має показувати core value proposition.

Приклад (застосунок для подорожей):

"Плануйте ідеальну подорож за 3 хвилини"

Показуйте функціонал, а не пусті стани

Заповніть екрани реальними даними. Ніякого Lorem Ipsum.

✅ Екран з 10 подорожами та красивими фото ❌ "У вас поки немає подорожей"

Додайте текстові описи

Короткі заголовки над кожним скріншотом пояснюють що відбувається.

Шрифт: Жирний, розмір 60–80pt, контрастний колір.

Використовуйте послідовність (flow)

Скріншоти мають розповідати історію: Реєстрація → Головний екран → Основна функція → Результат.

Локалізуйте для різних ринків

Якщо таргетуєте Україну та США — створіть окремі набори скріншотів українською та англійською.

Інструменти для створення скріншотів:

2.3. Опис застосунку

Опис має продавати, а не просто перераховувати функції. Формула ефективного опису:

Структура опису:

[1] Привабливий заголовок (1 речення — головна цінність)

[2] Проблема, яку вирішуєте (2–3 речення)

[3] Рішення через ваш застосунок (3–5 ключових функцій з emoji)
   ✅ Функція 1: пояснення переваги
   ✅ Функція 2: пояснення переваги
   ✅ Функція 3: пояснення переваги

[4] Соціальний доказ (відгуки, статистика, нагороди)
   "10,000+ користувачів довіряють нам"
   ⭐⭐⭐⭐⭐ Середній рейтинг 4.8

[5] Заклик до дії
   "Завантажте зараз безкоштовно!"

Приклад для застосунку планування подорожей:

🏔️ Nomad — Плануйте ідеальну подорож за 3 хвилини

Втомилися витрачати години на пошук місць, готелів та транспорту? 
Nomad об'єднує все в одному місці.

✅ Розумний маршрут — AI підбирає найкращі місця за вашими інтересами
✅ Спільне планування — запрошуйте друзів та плануйте разом
✅ Офлайн-режим — всі карти доступні без інтернету
✅ Бюджет-трекер — контролюйте витрати в реальному часі

Більше 10,000 мандрівників вже створили свою мрію з Nomad.
⭐⭐⭐⭐⭐ Середній рейтинг 4.8 в App Store

Завантажте зараз безкоштовно та почніть планувати!

---

Підтримка: support@nomadapp.com
Privacy Policy: https://nomadapp.com/privacy

Вимоги до довжини:

ПолеApp StoreGoogle Play
Короткий опис30 символів (Promotional Text)80 символів
Повний опис4000 символів4000 символів

2.4. Ключові слова (Keywords)

App Store (iOS):

Можна вказати до 100 символів ключових слів (через кому без пробілів).

Стратегія підбору:

  1. Основні терміни: назва категорії (travel, planner, trip)
  2. Довгий хвіст: специфічні запити (budget travel planner, road trip planner)
  3. Конкуренти: назви альтернативних застосунків (якщо не порушує правила)

Приклад:

travel,trip,planner,vacation,holiday,itinerary,roadtrip,backpacking,budget,offline,maps,guide,tourism,adventure,destinations

Інструменти підбору:

  • App Store Search Ads — показує популярність запитів
  • Sensor Tower — аналіз ключових слів конкурентів
  • App Radar — оптимізація ASO (App Store Optimization)

Google Play (Android):

Немає окремого поля для ключових слів. Google індексує:

  • Назву застосунку
  • Короткий опис
  • Повний опис

Стратегія: Природно вплетіть ключові слова у опис. Уникайте keyword stuffing (переповнення ключовими словами).

2.5. Promotional відео (опціонально)

App Store: App Preview Video (до 30 секунд)

Вимоги:

  • Формат: MP4 або MOV
  • Роздільна здатність: відповідає розміру скріншотів (1290×2796 для iPhone)
  • Розмір: до 500 MB
  • Перші 3 секунди критичні (автоплей без звуку)

Структура відео:

Секунди 1–3: Hook (гачок)

Покажіть найцікавішу функцію без контексту. Це має зупинити скролінг.

Секунди 4–10: Проблема

Коротко покажіть болючу точку користувача.

Секунди 11–25: Рішення

Демонстрація застосунку в дії. Швидкий темп, без надмірних деталей.

Секунди 26–30: Заклик до дії

"Завантажте зараз" з іконкою застосунку.

Google Play: Feature Graphic + Promotional Video (YouTube)

Feature Graphic — це банер 1024×500 пікселів, який відображається у верхній частині сторінки застосунку.

Вимоги:

  • Формат: PNG або JPEG
  • Розмір: 1024×500 пікселів
  • Без тексту (Google накладає текст автоматично)
Якщо немає бюджету на професійне відео, краще пропустити цей крок. Погане відео гірше за відсутність відео. Сконцентруйтеся на якісних скріншотах.

Крок 3: Створення облікових записів розробника

3.1. Apple Developer Program ($99/рік)

Реєстрація облікового запису

  1. Відкрийте developer.apple.com/programs/enroll
  2. Натисніть "Start Your Enrollment"
  3. Увійдіть з вашим Apple ID (рекомендовано створити окремий для бізнесу)
  4. Оберіть тип акаунту:
    • Individual — особистий розробник ($99/рік)
    • Organization — компанія ($99/рік, потрібен DUNS number)
DUNS Number — унікальний ідентифікатор компанії від Dun & Bradstreet. Безкоштовний, але оформлення займає 2–4 тижні. Отримати: developer.apple.com/enroll/duns-lookup
  1. Заповніть персональну інформацію:
    • Повне ім'я
    • Адреса (має збігатися з адресою кредитної картки)
    • Телефон (для двофакторної автентифікації)
  2. Прийміть Apple Developer Program License Agreement
  3. Оплата:
    • $99 USD (повторюється щороку автоматично)
    • Приймаються: Visa, MasterCard, Amex
    • Платіж обробляється 24–48 годин
  4. Підтвердження email:
    • Apple надішле лист підтвердження
    • Після схвалення отримаєте доступ до developer.apple.com/account

Що отримуєте з Developer Program:

App Store Connect
Платформа для управління застосунками, білдами, TestFlight, аналітикою продажів.
Signing Certificates
Можливість створювати Distribution Certificates для підписування production білдів.
TestFlight
Безкоштовний beta-тестинг для до 10,000 користувачів.
App Analytics
Детальна статистика установок, retention, in-app purchases.
CloudKit
Безкоштовний backend для синхронізації даних між пристроями (до 1 PB).

3.2. Google Play Console ($25 одноразово)

Реєстрація облікового запису

  1. Відкрийте play.google.com/console/signup
  2. Увійдіть з Google Account (рекомендовано створити окремий для бізнесу)
  3. Оберіть тип акаунту:
    • Personal — особистий розробник
    • Organization — компанія (потрібні документи реєстрації)
  4. Заповніть профіль розробника:
    • Developer name: Назва, що відображатиметься у Google Play
    • Email address: Контактний email для користувачів
    • Phone number: Опціонально
    • Website: URL вашого сайту або застосунку
  5. Прийміть Google Play Developer Distribution Agreement
  6. Оплата:
    • $25 USD одноразово (не повторюється)
    • Приймаються: кредитні картки, Google Pay
  7. Верифікація особи:
    • Google вимагає документ (паспорт або водійські права)
    • Завантажте скан у розділі Settings → Account details
    • Верифікація займає 24–48 годин
Google суворо карає за порушення:
  • Заборонено створювати більше одного Developer Account на особу
  • Permanent ban за:
    • Spam (накрутка установок, фейкові відгуки)
    • Malware (шкідливий код)
    • Порушення Privacy Policy (збір даних без дозволу)
    • Repeated policy violations (3+ відхилення за той самий тип порушення)
  • Після бану неможливо створити новий акаунт

Що отримуєте з Play Console:

App Management
Управління застосунками, білдами, версіями, rollout-стратегіями.
Internal/Closed/Open Testing
Бета-тестування для обмеженої аудиторії перед релізом.
Pre-launch Reports
Автоматичне тестування застосунку на реальних пристроях (crash detection).
Statistics
Детальна аналітика установок, деінсталяцій, рейтингу, revenue.
In-app Products
Налаштування підписок та одноразових покупок.

Крок 4: Налаштування метаданих в App Store Connect

4.1. Створення застосунку в App Store Connect

  1. Відкрийте appstoreconnect.apple.com
  2. Натисніть "My Apps" → "+" → "New App"

Форма створення:

ПолеОпис
PlatformsiOS (оберіть лише якщо є iPad версія)
NameНазва застосунку (до 30 символів, має бути унікальною у App Store)
Primary LanguageОсновна мова (англійська для глобального запуску, українська для локального)
Bundle IDОберіть зі списку (має збігатися з app.json → ios.bundleIdentifier)
SKUУнікальний ID для внутрішнього обліку (наприклад: myapp-ios-2024)
User AccessFull Access (за замовчуванням)
  1. Натисніть "Create"

4.2. Заповнення App Information

Секція: App Information

Name
required
Публічна назва застосунку (до 30 символів). Відображається у App Store та під іконкою.Порада: Якщо назва зайнята, додайте описове слово: "Nomad — Travel Planner"
Subtitle
optional
Додатковий опис (до 30 символів). Відображається під назвою у результатах пошуку.Приклад: "Plan trips in 3 minutes"
Privacy Policy URL
required
Посилання на політику конфіденційності. Обов'язкове для всіх застосунків.Приклад:https://nomadapp.com/privacy
Category
required
Основна та опціональна вторинна категорія.Приклади:
  • Primary: Travel
  • Secondary: Productivity
Content Rights
required
Чи містить застосунок контент третіх осіб? Якщо так — потрібні права на використання.

4.3. Pricing and Availability

Секція: Pricing and Availability

ПараметрОпис
PriceБезкоштовний або платний (ціна від $0.99 до $999.99)
AvailabilityУ яких країнах доступний (оберіть регіони або "All countries")
Pre-ordersЧи дозволити передзамовлення (доступно до 180 днів до релізу)
Стратегія ціноутворення:
  • Більшість застосунків (95%) — безкоштовні з in-app purchases або підписками
  • Платні застосунки рідко працюють без великого бренду
  • Якщо плануєте монетизацію — використовуйте freemium модель

4.4. App Privacy (Конфіденційність)

Apple вимагає детальну декларацію про те, які дані збирає застосунок.

Крок 1: Натисніть "App Privacy" → "Get Started"

Крок 2: Відповідайте на запитання:

Приклад декларації для застосунку з аналітикою:

Data Types Collected:
- Email Address (Linked to User)
  Purpose: Account Creation, App Functionality
  
- Device ID (Not Linked to User)
  Purpose: Analytics
  
- Crash Data (Not Linked to User)
  Purpose: App Functionality

Tracking: No (not used for cross-app tracking)
Критично: Декларація має відповідати реальності. Якщо заявили "No data collection", але застосунок надсилає дані до Firebase — це Guideline порушення → відхилення + можливий ban.

4.5. Завантаження скріншотів та метаданих

Секція: App Store → Version Information

  1. App Preview and Screenshots:
    • Завантажте скріншоти для кожного розміру (6.7", 6.5", iPad)
    • Опціонально додайте App Preview Video (до 30 секунд)
  2. Promotional Text (опціонально):
    • До 170 символів
    • Можна змінювати без нової версії застосунку
    • Показується над описом
  3. Description:
    • До 4000 символів
    • Використовуйте форматування: нові рядки, emoji
    • Не можна змінити без нової версії
  4. Keywords:
    • До 100 символів (через кому без пробілів)
    • Не дублюйте слова з назви застосунку (Apple автоматично індексує)
  5. Support URL:
    • URL сторінки підтримки або FAQ
  6. Marketing URL (опціонально):
    • Посилання на лендінг застосунку

4.6. Налаштування Build

Секція: Build

  1. Натисніть "+" біля Build
  2. Оберіть білд зі списку (має бути завантажений через EAS або Xcode)
  3. Якщо білд не відображається — почекайте 10–15 хвилин після завантаження

Export Compliance:

Apple запитає: "Does your app use encryption?"

Ваш випадокВідповідь
Використовуєте HTTPS для APINo (стандартне шифрування)
Використовуєте власне шифрування данихYes (потрібна додаткова документація)
Не використовуєте шифрування взагаліNo
HTTPS не вважається "encryption" у контексті Export Compliance. Це стандартний протокол. Оберіть "No" якщо не маєте кастомних криптографічних алгоритмів.

4.7. Age Rating (Віковий рейтинг)

Секція: Age Rating

Відповідайте на запитання чесно:

  • Чи містить застосунок насильство?
  • Чи є контент сексуального характеру?
  • Чи є ненормативна лексика?
  • Чи є азартні ігри?
  • Чи збирається медична інформація?

Результат: Автоматично призначається рейтинг (4+, 9+, 12+, 17+)

Більшість застосунків отримують 4+ (для всіх вікових груп). Рейтинг 17+ суттєво зменшує аудиторію.

4.8. App Review Information

Секція: App Review Information

Sign-in required
conditional
Якщо застосунок вимагає логін — обов'язково надайте тестовий обліковий запис.Формат:
Username: test@nomadapp.com
Password: TestPassword123!
Notes: Account has pre-filled data for testing all features
Contact Information
required
Контактна особа для App Review Team (не показується користувачам):
  • First Name / Last Name
  • Phone Number (з кодом країни)
  • Email (буде використано для зв'язку під час модерації)
Notes
optional
Додаткова інформація для модераторів:
  • Особливості тестування
  • Географічні обмеження
  • Сезонний функціонал (наприклад, доступний лише влітку)
Приклад:
Our app requires location services to function. 
Please allow location access during testing.
Test data is pre-loaded for the test account.
Attachment
optional
Скріншоти або відео для пояснення складного функціоналу.

Крок 5: Налаштування метаданих у Google Play Console

5.1. Створення застосунку в Google Play Console

  1. Відкрийте play.google.com/console
  2. Натисніть "Create app"

Форма створення:

ПолеОпис
App nameНазва застосунку (до 50 символів)
Default languageОсновна мова (English - United States для глобального)
App or gameОберіть "App"
Free or paidБезкоштовний або платний (після публікації не можна змінити)
Вибір "Free/Paid" незворотній! Не можна перетворити платний застосунок на безкоштовний. Обдумайте монетизаційну стратегію заздалегідь.
  1. Підтвердіть declarations:
    • ☑ Застосунок відповідає Google Play policies
    • ☑ Застосунок відповідає US export laws
  2. Натисніть "Create app"

5.2. Dashboard та обов'язкові секції

Google Play Console показує checklist обов'язкових секцій для публікації:

Set up your app

Базова інформація про застосунок

Store settings

Категорія, теги, контактна інформація

Main store listing

Опис, скріншоти, графіка

Release

Завантаження AAB файлу

Content rating

Віковий рейтинг через IARC

Data safety

Декларація про збір даних

Privacy policy

URL політики конфіденційності

5.3. App details (Store settings)

Navigation: Dashboard → Grow → Store settings → App details

App name
required
Публічна назва (до 50 символів). Відображається у Google Play.
Short description
required
Короткий опис (до 80 символів). Показується у результатах пошуку.Приклад: "Plan your perfect trip in 3 minutes with AI"
Full description
required
Повний опис (до 4000 символів). Підтримує форматування через HTML теги:
<b>Bold text</b>
<i>Italic text</i>
<u>Underline text</u>
Приклад структури:
[Hook - 1 sentence]

<b>Key Features:</b>
• Feature 1
• Feature 2
• Feature 3

[Social proof]

[Call to action]
App category
required
Основна категорія (наприклад: Travel & Local, Productivity, Lifestyle)
Tags
optional
До 5 тегів для покращення видимості у пошуку.Приклади: #travel #planner #offline #budgettravel

5.4. Store listing (Графіка та скріншоти)

Navigation: Dashboard → Grow → Main store listing

App icon

ПараметрВимога
Розмір512×512 пікселів
ФорматPNG (з прозорістю або без)
Розмір файлуДо 1 MB

Feature graphic (банер)

ПараметрВимога
Розмір1024×500 пікселів
ФорматPNG або JPEG
ВимогиБез тексту (Google накладає автоматично)
Використовуйте Feature Graphic як героя сторінки — привабливу візуалізацію core функціоналу без деталей UI.

Screenshots

Вимоги:

  • Phone: Мінімум 2, максимум 8 скріншотів
  • Мінімальний розмір: 320px по короткій стороні
  • Рекомендований розмір: 1080×1920 або 1080×2340 (сучасні Android пристрої)
  • Формат: PNG або JPEG
  • Розмір файлу: До 8 MB кожен

7" Tablet та 10" Tablet (опціонально):

  • Рекомендовано якщо ваш застосунок оптимізований для планшетів
  • Google показує окремі скріншоти для різних форм-факторів

Promo video (опціонально)

Посилання на YouTube відео (публічне або unlisted).

Вимоги:

  • Тривалість: 30 секунд – 2 хвилини
  • Перші 3 секунди критичні (автоплей)
  • Формат: будь-який, підтримуваний YouTube

5.5. Contact details

Navigation: Dashboard → Grow → Store settings → Contact details

Website
optional
URL вашого сайту або лендінгу застосунку
Email
required
Контактний email для користувачів (буде показуватися публічно)
Phone
optional
Контактний телефон (показується публічно)
Address
required for developers with paid apps
Фізична адреса (обов'язкова для платних застосунків і in-app purchases)

5.6. Data safety (Конфіденційність даних)

Google вимагає декларацію про збір даних (аналогічно Apple App Privacy).

Navigation: Dashboard → Grow → Data safety

Крок 1: Чи збираєте особисті дані?

  • Location: Точна або приблизна геолокація
  • Personal info: Ім'я, email, телефон
  • Photos and videos: Контент з камери/галереї
  • Files and docs: Завантажені файли
  • Calendar: Події з календаря
  • Contacts: Список контактів
  • App activity: Історія взаємодії з застосунком
  • Device or other IDs: Advertising ID, Device ID

Крок 2: Як використовуються дані?

  • App functionality: Основний функціонал
  • Analytics: Аналітика поведінки
  • Developer communications: Комунікація з користувачами
  • Advertising: Таргетована реклама
  • Fraud prevention: Запобігання шахрайству

Крок 3: Чи шифруються дані?

  • Yes, data is encrypted in transit (HTTPS)
  • Yes, data is encrypted at rest (зберігання на сервері)

Крок 4: Чи можна видалити дані?

  • Yes, users can request deletion (через Support або в застосунку)

Приклад декларації:

Data collected:
✅ Email address (required for account creation)
   - Used for: App functionality
   - Can be deleted: Yes
   
✅ Approximate location (optional)
   - Used for: App functionality (nearby destinations)
   - Can be deleted: Yes
   
✅ App interactions (analytics)
   - Used for: Analytics
   - Not linked to user identity
   - Can be deleted: Not applicable (anonymous)

Security:
✅ Data encrypted in transit (HTTPS)
✅ Data encrypted at rest (AES-256)

User controls:
✅ Users can delete their account through Settings
Критично: Google автоматично сканує APK/AAB на наявність SDK, що збирають дані (Firebase, Facebook SDK тощо). Якщо декларація не відповідає реальності — застосунок буде відхилений або видалений після публікації.

5.7. Content rating (Віковий рейтинг)

Google використовує систему IARC (International Age Rating Coalition) для автоматичного визначення рейтингу у різних регіонах.

Navigation: Dashboard → Grow → Content rating

  1. Натисніть "Start questionnaire"
  2. Оберіть категорію застосунку (App, Game, Browser тощо)
  3. Відповідайте на запитання:
ЗапитанняПриклад відповіді
Does your app contain violence?No
Does your app contain sexual content?No
Does your app contain profanity?No
Does your app simulate gambling?No
Does your app use location services?Yes (for showing nearby destinations)
  1. Отримайте сертифікат IARC:

Результат: Автоматично призначаються рейтинги для різних регіонів:

РегіонСистемаТиповий рейтинг
СШАESRBEveryone (E)
ЄвропаPEGIPEGI 3
НімеччинаUSKAll ages
АвстраліяACBGeneral (G)
КореяGRACAll

5.8. Pricing and distribution

Navigation: Dashboard → Grow → Store settings → Pricing and distribution

Countries
required
Оберіть країни, де застосунок буде доступний:
  • All countries (рекомендовано для максимального охоплення)
  • Specific countries (якщо є географічні обмеження)
Primarily child-directed
required
Чи призначений застосунок в основному для дітей до 13 років?Yes → додаткові вимоги COPPA (Children's Online Privacy Protection Act) No → стандартні вимоги
Ads
required
Чи містить застосунок рекламу?Yes → Google додасть мітку "Contains ads" на сторінці No → без міток
In-app purchases
required
Чи є in-app purchases (підписки, одноразові покупки)?Yes → Google додасть мітку "In-app purchases" + ціновий діапазон No → без міток

Крок 6: Завантаження білдів

6.1. Завантаження IPA до App Store Connect

Спосіб 1: Через EAS Submit (рекомендовано)

eas submit --platform ios --profile production

Інтерактивний процес:

eas submit --platform ios
$ eas submit --platform ios --profile production
✔ Linked to project @username/myapp
? Select a build to submit:
❯ Latest build: 1.0.0 (build 1) - Dec 15, 2024
Select from EAS
Provide a path to .ipa file
⏳ Uploading to App Store Connect...
✓ Successfully uploaded to App Store Connect
Processing may take 10-15 minutes before build appears in App Store Connect

Спосіб 2: Через Transporter App (macOS)

  1. Завантажте Transporter з Mac App Store
  2. Відкрийте застосунок та увійдіть з Apple ID
  3. Перетягніть .ipa файл у вікно Transporter
  4. Натисніть "Deliver"
  5. Дочекайтеся завершення upload (може зайняти 10–30 хвилин залежно від розміру)

Спосіб 3: Через Xcode (для локальних білдів)

  1. Відкрийте Xcode
  2. Window → Organizer
  3. Оберіть архів білду
  4. Натисніть "Distribute App"
  5. Оберіть "App Store Connect"
  6. Слідуйте інструкціям wizard

6.2. Завантаження AAB до Google Play Console

Спосіб 1: Через EAS Submit (рекомендовано)

eas submit --platform android --profile production

Інтерактивний процес:

eas submit --platform android
$ eas submit --platform android --profile production
✔ Linked to project @username/myapp
? Which track do you want to use?
internal (internal testing)
alpha (closed testing)
beta (open testing)
❯ production
⏳ Uploading to Google Play Console...
✓ Successfully uploaded AAB
View release: https://play.google.com/console/u/0/developers/.../app-bundle

Спосіб 2: Через веб-інтерфейс Google Play Console

  1. Navigation: Dashboard → Release → Production → Create new release
  2. Натисніть "Upload" → оберіть .aab файл
  3. Дочекайтеся завершення upload (5–10 хвилин)
  4. Google автоматично проведе Pre-launch report:
    • Тестування на реальних пристроях
    • Скріншоти автоматично згенеровані
    • Виявлення crashів
Pre-launch report — безкоштовне автоматичне тестування на 10+ реальних Android пристроях. Дуже корисно для виявлення проблем сумісності перед релізом. Зверніть увагу на crash reports та performance issues.

6.3. Перевірка білду перед публікацією

App Store Connect:

  1. Перейдіть до App Store → Version → секція Build
  2. Білд з'явиться у списку через 10–15 хвилин після upload
  3. Натисніть Select a build
  4. Оберіть завантажений білд
  5. Перевірте Build Metadata:
    • Version: 1.0.0
    • Build Number: 1
    • File size: ~50 MB
    • Minimum OS: iOS 13.0

Google Play Console:

  1. Navigation: Release → Production → Draft release
  2. Перевірте інформацію про білд:
    • Version name: 1.0.0
    • Version code: 1
    • Minimum SDK: 26 (Android 8.0)
    • Target SDK: 34 (Android 14)
    • ABIs supported: arm64-v8a, armeabi-v7a, x86_64

Крок 7: Проходження модерації

7.1. App Review (Apple) — що перевіряють модератори?

Apple App Review — це команда людей, які вручну тестують ваш застосунок протягом 24–72 годин (іноді до 7 днів). Вони перевіряють:

Функціональність

Всі екрани працюють, навігація логічна, немає crashів.

Відповідність метаданим

Опис застосунку відповідає реальному функціоналу. Скріншоти показують актуальний UI.

App Store Review Guidelines

2.8 тис+ правил у developer.apple.com/app-store/review/guidelines

Безпека

Немає шкідливого коду, private API, jailbreak detection exploitation.

Privacy

Правильна декларація збору даних у App Privacy секції.

Design

Відповідність Human Interface Guidelines (не обов'язково, але рекомендовано).

Типові причини відхилення (Rejection reasons):

7.2. Як відповідати на відхилення (Rejection response)

Коли застосунок відхилено, ви отримаєте email з детальним поясненням:

Приклад rejection email:

Hello,

Guideline 2.1 - Performance - App Completeness

We discovered one or more bugs in your app. Specifically, your app displays 
a "Feature coming soon" message on the Settings screen.

Next Steps

To resolve this issue, please run your app on a device to identify any 
issues, then revise and resubmit your app for review.

Як відповісти:

  1. Виправте проблему у коді
  2. Створіть новий білд із більшим Build Number
  3. Upload новий білд до App Store Connect
  4. У Resolution Center напишіть відповідь модераторам:
Hello App Review Team,

Thank you for your feedback. We have removed the "Coming soon" placeholder
from the Settings screen. All features are now fully functional.

Changes in build 2:
- Removed placeholder text from Settings
- Implemented Settings functionality
- Tested on iOS 15.0, 16.0, and 17.0

We have uploaded build 1.0.0 (2) for your review.

Best regards,
[Your Name]
  1. Натисніть "Submit for Review" знову
Середній час повторної модерації: 12–24 години (швидше за першу спробу). Apple пріоритизує resubmissions.

7.3. App Review Phone Call (рідкісний випадок)

Іноді модератори телефонують для з'ясування деталей (якщо застосунок складний або є питання щодо функціоналу).

Що робити:

  • Відповідайте чесно та професійно
  • Поясніть архітектуру та призначення застосунку
  • Надайте додаткові скріншоти або відео якщо потрібно
  • Запитайте конкретні рекомендації щодо виправлення

Типові запитання:

  • "How does feature X work?"
  • "Why do you collect specific data?"
  • "Can you demonstrate specific functionality via screen sharing?"

7.4. Google Play Automated Review

Google використовує автоматизовану модерацію через машинне навчання:

Що перевіряється автоматично:

Malware scan

Статичний аналіз APK/AAB на наявність шкідливого коду.

Policy compliance

Автоматична перевірка SDK на порушення Privacy Policy.

Content rating validation

Сканування на невідповідність заявленому віковому рейтингу.

Trademark infringement

Перевірка назви та іконки на порушення торгових марок.

SDK detection

Виявлення banned SDK (наприклад, реклама від заблокованих мереж).

Типовий час модерації:

  • 80% застосунків: Публікуються автоматично за 1–3 години
  • 15% застосунків: Ручна перевірка 1–3 дні (якщо виявлені підозрілі ознаки)
  • 5% застосунків: Відхилення (policy violation)

Типові причини відхилення Google Play:

7.5. Appeal (Оскарження відхилення)

Якщо вважаєте що відхилення помилкове:

Apple:

  1. Resolution Center → Appeal
  2. Поясніть чому вважаєте рішення неправильним (з доказами)
  3. Очікування розгляду: 1–3 дні
  4. Якщо appeal відхилено — рішення остаточне

Google:

  1. Play Console → Policy status → Appeal
  2. Заповніть форму з детальним поясненням
  3. Очікування: 1–5 днів
  4. Можна апелювати повторно якщо надали нові докази
Не зловживайте Appeal! Якщо відхилення справедливе, виправте проблему замість апеляції. Часті необґрунтовані appeal призводять до зниження довіри та повільнішої модерації у майбутньому.

Крок 8: Публікація та пост-релізний моніторинг

8.1. Запуск у production

Apple App Store:

Після схвалення модерації (статус "Ready for Sale"):

Застосунок автоматично публікується одразу після approval.

Налаштування: App Store → Version → Release → Automatically release this version

Google Play:

Після завантаження білду:

  1. Navigation: Release → Production → Review release
  2. Перевірте всю інформацію
  3. Натисніть "Start rollout to Production"
  4. Оберіть стратегію rollout:

Застосунок одразу доступний всім користувачам.

Використання: Якщо впевнені у якості білду (пройшов beta testing).

Рекомендація: Для першого релізу використовуйте Staged Rollout 10% → 50% → 100%. Це дасть можливість виявити критичні баги на малій аудиторії та швидко відреагувати.

8.2. Моніторинг після публікації

Перші 48 годин критичні. Відстежуйте:

📊 Crash-free rate

Цільовий показник: > 99% (менше 1% користувачів мають краші)

Інструменти:

  • Sentry — real-time crash tracking
  • Firebase Crashlytics — безкоштовна альтернатива
  • App Store Connect Analytics — вбудована статистика

Дії при crash rate > 2%:

  1. Ідентифікуйте топ-3 crashy екрани
  2. Виправте критичні баги
  3. Створіть hotfix білд (version 1.0.1)
  4. Submit для expedited review (Apple) або push hotfix (Android)

⭐ Рейтинг та відгуки

Стратегія роботи з відгуками:

✅ Відповідайте на негативні відгуки (1–2 зірки) протягом 24 годин

  • Вибачтеся за незручності
  • Запропонуйте вирішення або компенсацію
  • Повідомте про виправлення у наступному оновленні

✅ Дякуйте за позитивні відгуки (4–5 зірок)

✅ Не просіть "купити" 5-зірковий рейтинг — це порушення Guidelines

Коли просити відгук:

  • Після 3-го успішного використання core функції
  • Не частіше 1 разу на 120 днів (Apple обмеження)
  • Ніколи після негативного досвіду (помилка, краш)

📈 Install/Uninstall rate

Здорові показники:

МетрикаЦільове значення
Day 1 retention> 40% (користувачі повертаються наступного дня)
Day 7 retention> 20%
Day 30 retention> 10%
Uninstall rate< 5% протягом першого тижня

Якщо retention низький:

  • Перевірте onboarding (чи зрозуміло що робити?)
  • Додайте push-нотифікації (нагадування про цінність)
  • A/B тестуйте різні флоу

🐛 Bug reports

Канали збору:

  • Email підтримки (support@yourapp.com)
  • In-app feedback форма
  • Соціальні мережі (Twitter, Reddit)
  • App Store / Google Play відгуки

Пріоритизація:

ПріоритетКритеріїДії
P0 (Critical)Блокує core функціонал, масові крашіHotfix протягом 24 годин
P1 (High)Важлива функція не працюєВиправлення у наступному релізі (1–2 тижні)
P2 (Medium)Minor баг, не впливає на UXBacklog
P3 (Low)Косметичні проблемиNice-to-have

8.3. Оновлення застосунку (Updates)

Коли випускати оновлення:

Hotfix (1.0.1) — терміново

Критичні баги, що блокують функціонал. Випускаємо протягом 1–3 днів.

Minor Update (1.1.0) — щомісяця

Нові фічі, покращення UX, виправлення накопичених багів.

Major Update (2.0.0) — щороку

Великий редизайн, нова архітектура, breaking changes.

Процес оновлення:

  1. Збільшіть версію у app.json:
{
  "version": "1.0.1", // було 1.0.0
  "ios": { "buildNumber": "2" }, // було "1"
  "android": { "versionCode": 2 } // було 1
}
  1. Створіть новий production білд:
eas build --platform all --profile production
  1. Upload до App Store Connect / Google Play Console
  2. Оновіть "What's New" (Release Notes):

Приклад якісних Release Notes:

🐛 Bug Fixes
- Fixed crash when opening trip details without internet
- Resolved issue with camera permissions on Android 14

✨ Improvements
- Faster loading of trip photos
- Better offline mode experience

📱 Under the hood
- Performance improvements
- Reduced app size by 15%

❌ Поганий приклад:

- Bug fixes
- Performance improvements
  1. Submit for Review (Apple) або Rollout (Google)

8.4. Версіонування: best practices

Semantic Versioning (рекомендовано):

MAJOR.MINOR.PATCH

1.0.0 → Initial release
1.0.1 → Hotfix (bug fixes)
1.1.0 → New features
2.0.0 → Breaking changes / major redesign

Build Number / Version Code:

Завжди збільшується на 1 з кожним білдом (навіть якщо version не змінюється).

Приклад еволюції:

ДатаVersionBuildЗміни
Dec 11.0.01Initial release
Dec 31.0.12Hotfix: crash fix
Dec 151.1.03New feature: offline mode
Jan 101.1.14Bug fix
Feb 12.0.05Major redesign

Підсумки: чек-лист успішної публікації

✅ Підготовка

  • Production білди створені (IPA + AAB)
  • Іконка 1024×1024 готова
  • Скріншоти підготовлені (2+ для кожної платформи)
  • Опис написаний (продає, а не описує)
  • Privacy Policy опублікована
  • Тестові акаунти готові (для App Review)

🍎 App Store

  • Developer Program ($99) активний
  • App Store Connect: застосунок створений
  • Метадані заповнені (назва, опис, категорія)
  • App Privacy декларація завершена
  • Age Rating призначений
  • Білд завантажений та обраний
  • App Review Information заповнена
  • Submitted for Review

🤖 Google Play

  • Developer Account ($25) активний
  • Play Console: застосунок створений
  • Store listing заповнений
  • Data Safety декларація завершена
  • Content Rating отриманий через IARC
  • Білд завантажений (AAB)
  • Pre-launch report переглянутий
  • Started rollout to Production

📊 Пост-реліз

  • Crash tracking налаштований (Sentry/Crashlytics)
  • Analytics інтегрована (Firebase/Amplitude)
  • Моніторинг crash-free rate (> 99%)
  • Відповіді на відгуки (< 24 години)
  • Hotfix готовий у випадку критичних багів
  • Update roadmap сплановано

Додаткові ресурси

App Store Review Guidelines
Повний список правил Apple (обов'язково до прочитання): https://developer.apple.com/app-store/review/guidelines/
Google Play Policy Center
Політики Google Play для розробників: https://play.google.com/about/developer-content-policy/
App Store Connect Help
Офіційна документація App Store Connect: https://developer.apple.com/help/app-store-connect/
Google Play Console Help
Довідковий центр Google Play Console: https://support.google.com/googleplay/android-developer
ASO (App Store Optimization) Guide
Гід з оптимізації видимості застосунку: https://www.apptamin.com/blog/app-store-optimization/

Вітаємо! Ваш застосунок тепер у руках користувачів. 🎉

Copyright © 2026