Головне
Firebase — це платформа Backend-as-a-Service (BaaS), яка надає готові інструменти для розробки додатків. Firebase позбавляє розробників необхідності створювати серверну інфраструктуру з нуля — аналітика, бази даних, аутентифікація, push-повідомлення та багато іншого доступно «з коробки» через SDK.
Google придбала Firebase у 2014 році за 100 млн доларів та інтегрувала з Google Cloud Platform. Firebase пропонує понад 20 продуктів, які можна комбінувати залежно від потреб проекту. Більшість сервісів мають щедрий безкоштовний ліміт (Spark Plan), а для зростання доступний платний тариф (Blaze Plan) з оплатою за фактом використання.
Інтеграція Firebase починається зі створення проекту в Firebase Console та додавання конфігураційного файлу (GoogleService-Info.plist для iOS, google-services.json для Android). Firebase підтримує iOS, Android, Flutter, React Native, Unity та веб-додатки, що робить його універсальним рішенням для будь-яких платформ.
Firebase Analytics — безкоштовний інструмент аналітики, який збирає дані про поведінку користувачів. Firebase Analytics є ядром всієї платформи — дані аналітики використовуються всіма іншими сервісами Firebase для таргетингу та персоналізації.
Firebase Crashlytics — найпопулярніший інструмент для відстеження збоїв додатків. Crashlytics автоматично збирає stack traces, логи та дані про пристрій при кожному падінні додатка. Звіти групуються за типами помилок, що дозволяє швидко визначити найкритичніші проблеми.
Crashlytics підтримує налаштовувані логи (custom logs), ключі (keys) та non-fatal exceptions. Non-fatal exceptions дозволяють відстежувати оброблені помилки без падіння додатка — наприклад, невдалий API-запит або виняток у бізнес-логіці.
Firebase Performance — інструмент для моніторингу продуктивності додатка. Performance відстежує час запуску, затримки мережі, рендеринг екранів та HTTP-запити. Виявляє вузькі місця, які сповільнюють роботу додатка та погіршують користувацький досвід.
Інтеграція Firebase Analytics з Crashlytics дає унікальну можливість бачити не тільки що впало, але й які дії користувача передували падінню. IT Sectr використовує цю зв'язку для швидкої діагностики багів у production — час від виявлення до виправлення скорочується в 3–4 рази.
Firebase пропонує дві NoSQL бази даних та хмарне сховище для файлів. Вибір між Firestore та Realtime Database залежить від сценарію використання — обидві бази синхронізують дані в реальному часі, але мають різні архітектури.
| Характеристика | Cloud Firestore | Realtime Database |
|---|---|---|
| Модель даних | Колекції та документи (JSON-об'єкти) | Одне велике JSON-дерево |
| Запити | Складові, індекси, сортування, фільтрація | Прості, сортування з одного вузла |
| Масштабування | Автоматичне, multi-region | Один регіон, обмеження на ширину |
| Ціноутворення | Обсяг читання/запису/видалення | Обсяг трафіку та зберігання |
| Офлайн-режим | Підтримується (кеш диска) | Підтримується (кеш в пам'яті) |
| Найкраще застосування | Чати, соцмережі, складні запити | Чати, ігри, прості синхронізації |
Cloud Storage — сховище для файлів (зображень, відео, аудіо). Firebase Storage автоматично масштабується до петабайт та надає надійне завантаження з відновленням при обриві з'єднання. Інтегрується з Firebase Auth для безпечного доступу.
Firestore рекомендується для нових проектів завдяки гнучким запитам та масштабованості. Realtime Database залишається хорошим вибором для простих чатів та ігор з малою кількістю даних. IT Sectr зазвичай використовує Firestore як основну базу та Realtime Database тільки для real-time колаборацій.
Firebase Authentication — готове рішення для аутентифікації користувачів. Firebase Auth підтримує email/password, Google, Apple, Facebook, Twitter, GitHub, phone auth та анонімний вхід. Весь процес аутентифікації реалізовано на стороні клієнта через SDK.
Google Sign-In — один з найпопулярніших провайдерів аутентифікації. Інтеграція Google Sign-In займає 15–30 хвилин через Firebase Console та не вимагає бекенд-розробки. Користувачі входять однією кнопкою, використовуючи свій Google-акаунт.
Firebase Auth також надає backend-функції через Admin SDK. Можна створювати користувачів, оновлювати профілі, керувати сесіями та перевіряти ID-токени на сервері. Інтеграція з Cloud Functions дозволяє створювати кастомні сценарії аутентифікації.
Security Rules — механізм безпеки Firebase для баз даних та сховищ. Правила доступу описуються декларативно та перевіряються на кожному запиті. Наприклад: дозволити читання документа тільки якщо userId дорівнює поточному аутентифікованому користувачеві.
Приклад простого Security Rule для Firestore:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
match /posts/{postId} {
allow read: if true;
allow write: if request.auth.uid == resource.data.authorId;
}
}
}
Firebase Cloud Messaging (FCM) — сервіс для відправки push-повідомлень. FCM обробляє до 500 млрд повідомлень щодня та підтримує iOS, Android та Web. Повідомлення діляться на notification messages (автоматичний показ) та data messages (обробка в додатку).
Firebase Remote Config дозволяє змінювати поведінку додатка без публікації нової версії. Remote Config використовується для A/B-тестування, включення/вимкнення функцій, кастомізації інтерфейсу та динамічної зміни параметрів (наприклад, частота показу реклами, текст paywall).
Firebase A/B Testing — інструмент для проведення експериментів. Створіть дві версії додатка з різними параметрами та виміряйте вплив на метрики (конверсія, retention, revenue). Тести автоматично обчислюють статистичну значущість та визначають переможця.
Firebase Dynamic Links — розумні посилання, які ведуть користувача в потрібне місце додатка. Dynamic Links працюють навіть якщо додаток не встановлено — в цьому випадку вони ведуть на сторінку магазину, а після встановлення відновлюють контекст та перенаправляють на цільовий екран.
IT Sectr використовує зв'язку Remote Config + A/B Testing для оптимізації всіх ключових сценаріїв: від welcome-екрана до платіжного потоку. Параметри Remote Config можна змінювати в реальному часі через Firebase Console — це дає гнучкість, недоступну при традиційних релізних циклах.
Firebase Test Lab — хмарне рішення для автоматичного тестування додатків. Test Lab запускає ваші тести на реальних пристроях Google в різних конфігураціях (різні версії ОС, роздільної здатності екрану, мови). Підтримує Espresso (Android), XCUITest (iOS) та Robo-тести.
Firebase App Distribution — платформа для поширення beta-версій додатка. App Distribution замінює TestFlight для Android та доповнює його для iOS. Ви можете завантажувати APK/AAB та отримувати зворотній зв'язок від тестувальників через інтеграцію з Crashlytics.
Комбінація Test Lab та App Distribution забезпечує якість на всіх етапах розробки: від автоматичних тестів на реальних пристроях до beta-тестування з реальними користувачами. Інтеграція з CI/CD (GitHub Actions, Bitrise) робить процес повністю автоматичним.
| Сервіс | Призначення | Безкоштовний ліміт | iOS | Android | Web |
|---|---|---|---|---|---|
| Analytics | Збір та аналіз подій користувачів | Безлімітно | + | + | + |
| Crashlytics | Звітність про збої | Безлімітно | + | + | - |
| Firestore | NoSQL база даних | 1 ГБ зберігання | + | + | + |
| Realtime DB | База даних реального часу | 1 ГБ зберігання | + | + | + |
| Auth | Аутентифікація користувачів | Безлімітно | + | + | + |
| Cloud Messaging | Push-повідомлення | Безлімітно | + | + | + |
| Remote Config | Керування параметрами | Безлімітно | + | + | + |
| Performance | Моніторинг продуктивності | Безлімітно | + | + | + |
| Test Lab | Хмарне тестування | 10 тестів/день | + | + | - |
| App Distribution | Розповсюдження beta-версій | Безлімітно | + | + | - |
| Cloud Functions | Cерверний код на вимогу | 2 млн викликів/міс | + | + | + |
Часті запитання
Firebase має безкоштовний тариф Spark Plan з generous лімітами — аналітика, звіти про збої та аутентифікація безкоштовні безлімітно. Blaze Plan (оплата за фактом) потрібен при перевищенні лімітів — наприклад, більше 1 ГБ у Firestore або більше 2 млн викликів Cloud Functions. Більшість стартапів не виходять за безкоштовні ліміти в перші 1–2 роки.
Для більшості нових проектів рекомендується Firestore. Firestore пропонує кращу масштабованість, більш багаті запити та multi-region реплікацію. Realtime Database варто вибирати тільки для простих real-time сценаріїв (чати з малою кількістю даних, ігри в реальному часі).
Так, Firebase використовує відкриті протоколи і дані можна експортувати. Firestore має managed експорт у BigQuery та Google Cloud Storage. Authentication можна перенести, експортувавши хеші паролів. Cloud Functions легко переписати на будь-який backend-фреймворк.
Firebase використовує багаторівневий захист: шифрування на транспортному рівні (TLS) та на рівні зберігання (AES-256). Security Rules забезпечують декларативний контроль доступу. Firebase також відповідає стандартам SOC 1/2/3, ISO 27001 та GDPR.
Firebase обмежено працює в Китаї через блокування Google-сервісів. Для китайського ринку потрібно використовувати локальні альтернативи — наприклад, Alibaba Cloud Push замість FCM, або LeanCloud замість Firebase. Firebase Analytics та Crashlytics також будуть недоступні без VPN.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.