Інтеграція Firebase App Distribution у мобільний додаток

Зауважимо: коли команда випускає 10+ тестових збірок на день, очікування App Store Review стає критичним вузьким місцем. Firebase App Distribution вирішує цю проблему: .ipa та .apk доставляються безпосередньо тестувальникам, минаючи магазинні рев’ю. Ми інтегруємо цей сервіс у ваш CI/CD, щоб кожен ко

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція Firebase App Distribution у мобільний додаток
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Зауважимо: коли команда випускає 10+ тестових збірок на день, очікування App Store Review стає критичним вузьким місцем. Firebase App Distribution вирішує цю проблему: .ipa та .apk доставляються безпосередньо тестувальникам, минаючи магазинні рев’ю. Ми інтегруємо цей сервіс у ваш CI/CD, щоб кожен коміт автоматично перетворювався на доступний для тестувальників білд. Термін життя білдів не обмежений, на відміну від 90-денного TestFlight. За 2 хвилини після коміту тестер отримує свіжий білд на пристрій.

Які типові помилки виникають при інтеграції?

Перший граблі: забути додати GoogleService-Info.plist в target membership тестового таргету. SDK ініціалізується через FirebaseApp.configure(), але якщо plist тільки в основному таргеті — краш на старті. Другий: на iOS .ipa не встановлюється через відсутність UDID в provisioning profile. App Distribution збирає UDID, але оновлювати профілі — ваше завдання. Автоматизуємо це через fastlane match. Третій: сповіщення про оновлення не приходять. SDK має бути ініціалізований до виклику checkForUpdate, і код не повинен виконуватися в production. У 95% випадків ці три проблеми вирішуються за годину.

Як ми налаштовуємо автоматичну доставку?

Робоча схема з Fastlane та Firebase CLI:

lane :distribute_firebase do build_ios_app( scheme: "MyApp", configuration: "Release", export_method: "ad-hoc" ) firebase_app_distribution( app: "1:123456789:ios:abcdef", groups: "qa-team, beta-users", release_notes: last_git_commit[:message], firebase_cli_token: ENV["FIREBASE_TOKEN"] ) end 

Токен з firebase login:ci зберігаємо в CI/CD secrets. Групи (qa-team, beta-users) створені в Firebase Console окремо для iOS та Android.

Для Android використовуємо Gradle task + firebase CLI безпосередньо:

firebase appdistribution:distribute app-release.apk \ --app $FIREBASE_APP_ID \ --groups "qa-team" \ --release-notes "$(git log -1 --pretty=%B)" \ --token $FIREBASE_TOKEN 

Час завантаження .ipa 50 МБ — близько 90 секунд.

Як налаштувати сповіщення в додатку?

SDK вміє показувати нативний alert при старті, якщо є нова версія:

import FirebaseAppDistribution AppDistribution.appDistribution().checkForUpdate { release, error in guard let release = release else { return } let alert = UIAlertController( title: "Доступно оновлення \(release.displayVersion)", message: release.releaseNotes ?? "", preferredStyle: .alert ) alert.addAction(UIAlertAction(title: "Оновити", style: .default) { _ in UIApplication.shared.open(release.downloadURL) }) } 

Важно: в production цей код відключаємо за допомогою #if DEBUG або прапорця збірки. На Android використовуємо аналогічний підхід:

FirebaseAppDistribution.getInstance().updateIfNewReleaseAvailable() .addOnProgressListener { updateProgress -> // Оновлюємо прогрес-бар } .addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { when (e.errorCode) { FirebaseAppDistributionException.Status.NOT_IMPLEMENTED -> // SDK не в тестовому середовищі } } } 

Чому Firebase App Distribution краще TestFlight?

Тестувальник отримує оновлення одразу після CI/CD-пайплайну, без очікування рев’ю. App Distribution не вимагає завантаження в App Store Connect, що економить до 2 годин на кожен білд. Для Android альтернатив з таким же рівнем автоматизації практично немає: TestFlight взагалі не підтримує Android, а власні рішення вимагають розробки.

Порівняння: Firebase App Distribution vs TestFlight

Критерій Firebase App Distribution TestFlight
Термін життя білда Безстроково 90 днів
App Store Review Не потрібен Потрібен для external
Робота з Android Так Тільки iOS
Автоматизація CI/CD З коробки (CLI) Через Xcode Server або сторонні
Групи тестерів По email / групам По email + внутрішні
Безпека HTTPS, Firebase Storage HTTPS, Apple servers
Вартість включена в Firebase Безкоштовно (до лімітів) Вимагає Apple Developer ($99/рік)

App Distribution виграє у швидкості та гнучкості для внутрішніх білдів. Згідно з Firebase Documentation, інтеграція з CI/CD скорочує час доставки білдів на 80%.

Порівняння способів роздачі білдів: ручний vs автоматичний

Параметр Ручна роздача Автоматизація через App Distribution
Час на один білд 15–30 хвилин 2 хвилини
Ймовірність помилки Висока (людський фактор) Мінімальна
Масштабованість Ускладнена Легко розширюється на нові групи
Оновлення тестувальників Вручну по email Push-сповіщення в додатку

Чек-лист перед запуском

  • Наявність GoogleService-Info.plist в тестовому таргеті
  • UDID тестувальників додані в provisioning profile
  • FirebaseApp.configure() викликаний до checkForUpdate
  • SDK відключений в production (через #if DEBUG або прапорець збірки)
  • Групи тестерів створені в Firebase Console
  • Для Android: google-services.json включений в проект

Що входить в роботу?

  • Налаштування Firebase Console та створення проектів для iOS/Android
  • Інтеграція Firebase SDK в обидва додатки (включаючи GoogleService-Info.plist/google-services.json)
  • Автоматизація збірки та завантаження через Fastlane або GitHub Actions
  • Налаштування сповіщень про оновлення (SDK + custom UI)
  • Створення груп тестерів та роздача доступів
  • Документація по оновленню provisioning profile (iOS) та ключів підпису

Процес роботи

  1. Аналіз — вивчаємо поточний CI/CD ланцюжок, визначаємо точки інтеграції
  2. Налаштування Firebase — створюємо проект, підключаємо додатки, генеруємо ключі
  3. Інтеграція SDK — додаємо Firebase в код, налаштовуємо ініціалізацію
  4. Автоматизація — пишемо скрипти Fastlane/GitHub Actions для збірки та вивантаження
  5. Тестування — перевіряємо роздачу білдів та сповіщення на iOS і Android
  6. Запуск — навчаємо команду, передаємо документацію

Терміни та вартість

Інтеграція в існуючий CI/CD займає 2–4 дні. Повний цикл з налаштуванням сповіщень та груп — до 1.5 тижнів. Вартість розраховується індивідуально, залежить від складності поточного пайплайну. Оцінимо проект безкоштовно — зв'яжіться з нами.

15+ років досвіду в мобільній розробці, 50+ успішних інтеграцій Firebase. Гарантуємо стабільну роботу білдів та оперативну підтримку. Замовте інтеграцію Firebase App Distribution вже сьогодні.