Перейти к содержимому

Используйте свой проект Firebase

КраткоВставьте файл ключа сервисного аккаунта Firebase в подключение Firebase в разделе «Облачные сервисы → Облако». MonstarX проверит его в Google, и приложение сможет пользоваться Firestore, входом через Firebase, Cloud Storage, push-уведомлениями и Realtime Database. А ещё Firestore можно сделать основным хранилищем данных приложения и скопировать туда уже существующие таблицы.

Firebase — набор сервисов Google для приложений: документная база данных Firestore, вход, хранилище файлов, push-уведомления и многое другое. Если у вас уже есть проект Firebase — например, с готовым мобильным приложением, — его можно подключить к приложению MonstarX и пользоваться любым из этих сервисов.

Firebase можно использовать для чего-то одного (скажем, для push-уведомлений пользователям вашего мобильного приложения) или сделать Firestore базой данных приложения, чтобы веб-приложение и другие ваши приложения работали с одними и теми же данными.

  • Нужен проект Firebase и доступ к его настройкам в консоли Firebase.
  • Для входа пользователей через Firebase Authentication в этот проект Firebase должно быть добавлено веб-приложение.
  1. В консоли Firebase откройте Project settings → Service accounts и нажмите Generate new private key. Скачается файл JSON.

  2. В MonstarX откройте проект, нажмите Облачные сервисы на верхней панели, а затем Облако.

  3. В списке Подключения нажмите Подключить рядом с Firebase.

  4. Откройте файл JSON в текстовом редакторе, скопируйте его целиком и вставьте в поле Файл ключа сервисного аккаунта. MonstarX прочитает из него идентификатор проекта.

  5. Необязательные поля заполняйте, только если они нужны:

    • Веб-ключ API — из Project settings → General → Your apps → Web app → apiKey. Нужен только для входа пользователей через Firebase Authentication;
    • Контейнер хранилища — только если ваши файлы лежат не в стандартном контейнере проекта;
    • URL базы Realtime Database — только для Realtime Database. Для Firestore здесь ничего не нужно.
  6. Нажмите Подключить Firebase. Прежде чем сохранить ключ, MonstarX проверит его в Google и покажет рядом с меткой Подключено, что нашёл: идентификатор проекта и его коллекции Firestore или пометку «базы данных Firestore пока нет».

Если вы вставили не тот файл — например, небольшую конфигурацию веб-приложения вместо ключа сервисного аккаунта, — MonstarX его не примет и скажет, каких полей не хватает.

После подключения попросите функцию простыми словами, например: «отправляй участникам push-уведомление, когда занятие отменяется». MonstarX сделает её на Firebase:

Сервис FirebaseЧто может приложение
FirestoreДобавлять, читать, искать, обновлять и удалять документы, считать их
AuthenticationРегистрировать пользователей и впускать их в аккаунт, сбрасывать пароли, управлять пользователями (нужен веб-ключ API)
Cloud StorageЗагружать файлы, получать ссылки для скачивания, показывать список файлов и удалять их
Cloud MessagingОтправлять push-уведомления на устройство или по теме
Realtime DatabaseЧитать и записывать данные (нужен URL базы Realtime Database)

Всё работает на сервере приложения, поэтому посетители никогда не видят ваш ключ.

Может ли Firestore быть базой данных приложения?

Заголовок раздела «Может ли Firestore быть базой данных приложения?»

Да. Каждое приложение начинает с собственной базы MonstarX, но местом хранения данных можно сделать Firestore.

  1. Сначала подключите Firebase (см. выше).

  2. В разделе Облачные сервисыОблако найдите блок Где это приложение хранит свои данные.

  3. Выберите Firestore (ваш проект Firebase). Пока Firebase не подключён, этот вариант подписан «сначала подключите Firebase» и выбрать его нельзя.

  4. Если в приложении уже есть данные, нажмите Копировать существующие данные, чтобы перенести их, и подтвердите.

С этого момента:

  • MonstarX создаёт приложение на коллекциях и документах вместо таблиц и, прежде чем писать код, смотрит на ваши настоящие коллекции — он никогда не выдумывает поля, которых нет в ваших данных.
  • В разделе Облачные сервисыБаза данных показываются Коллекции Firestore и их документы. Там они доступны только для чтения — записывает их приложение.
  • Аккаунты остаются у MonstarX. Пользователи входят так же, как раньше, а раздел Облачные сервисыПользователи работает как прежде. Поэтому MonstarX и сохраняет свою базу данных, а не удаляет её.

Чтобы вернуться, выберите там же База данных MonstarX. Приложение вернётся к своей базе ровно в том состоянии, в каком она была.

Что делает кнопка «Копировать существующие данные»?

Заголовок раздела «Что делает кнопка «Копировать существующие данные»?»
  • Каждая таблица становится коллекцией с тем же названием, а каждая строка — документом. Идентификатор строки становится идентификатором документа.
  • Повторный запуск обновляет эти документы, а не создаёт дубликаты.
  • Четыре таблицы для входа остаются в базе MonstarX, где хранятся аккаунты.
  • Она ничего не удаляет — ни там, ни там.
  • Большое приложение может копироваться по частям. Если появится сообщение, что копирование приостановлено, чтобы запрос не занял слишком много времени, запустите его ещё раз — оно продолжится с того же места.
  • Firestore или Supabase, но не оба сразу. Приложение хранит данные в одном месте. Чтобы перейти с Supabase на Firestore, сначала верните данные в базу MonstarX. При этом само подключение Firebase можно использовать вместе с Supabase для хранилища, уведомлений или входа.
  • Firebase SDK в приложении не нужен. MonstarX обращается к Firebase через встроенный помощник, который одинаково работает в предпросмотре и в опубликованном приложении.
  • Push-уведомлениям на мобильные устройства нужен токен устройства из вашего мобильного приложения; MonstarX отправляет уведомления на токены, которые получает приложение.
  • Публикация в Google Cloud Run — это другое подключение: см. Публикация на других хостингах.
Где найти файл ключа сервисного аккаунта?

В консоли Firebase: Project settings → Service accounts → Generate new private key. Вставьте весь файл JSON в поле Файл ключа сервисного аккаунта.

Можно ли использовать Firebase только для push-уведомлений?

Да. Подключение Firebase не переносит данные. Приложение продолжает пользоваться базой MonstarX, пока вы не выберете Firestore в блоке Где это приложение хранит свои данные.

Если я перейду на Firestore, пользователям понадобятся новые аккаунты?

Нет. Аккаунты остаются в базе MonstarX, и вход работает как раньше. В Firestore переносятся только собственные данные приложения.

Написано «базы данных Firestore пока нет». Это проблема?

Только если вам нужен Firestore. Подключение всё равно работает, потому что приложению может понадобиться только хранилище, вход или push-уведомления. Чтобы пользоваться Firestore, создайте базу данных Firestore в консоли Firebase.

Копирование данных что-нибудь удаляет?

Нет. Кнопка Копировать существующие данные только добавляет или обновляет документы в Firestore. Собственная база MonstarX остаётся как есть.